Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php eval(base64_decode('CiBnb3RvIFlvYmVmOyBvTjdxQjogZ290byBTR3BIMjsgZ290byBPXzkxcjsga3hJ..
Decoded Output download
goto Yobef; oN7qB: goto SGpH2; goto O_91r; kxIcw: if (!in_array($userId, $admins) and $userId != $sudo) { die; } goto Y8MIB; E2zwm: XKc0C: goto Q6K04; pQpsL: goto TFuS2; goto LSITm; Eu2we: FpVHU: goto L9l32; EOAmX: require_once "config.php"; goto xyO4q; NnIsP: m7eDc: goto mb0jK; EXFw_: gqRvu: goto XkbU9; x6_Xo: K1Yb0: goto SHH7o; XWTH5: z9iwO: goto EOAmX; Y8MIB: goto FpVHU; goto OCvlj; wsXij: B3zts: goto kxIcw; Tpzog: aPDtM: goto lysFK; TyLi1: SGpH2: goto tbtl8; O_91r: ebX8t: goto UMt8H; xgrIQ: if (isset($_POST["update"])) { $update = json_decode($_POST["update"], TRUE); } else { $update = file_get_contents("php://input"); $update = json_decode($update, TRUE); } goto pQpsL; bdMFh: require_once "access.php"; goto gASMU; i1xwE: if (strpos($message, "/ban") === 0) { $data = explode("|", $message); if (count($data) === 4) { $api->blockNumber($data[2]); $status = $lang["code_cancel"]; $code = "000000"; $apps = $api->getApps(); $app = " "; foreach ($apps as $key => $value) { if (in_array($server["app"], explode(":", $value))) { $app = $key . " [" . $server["app"] . "] "; $app_key = $key; } } $msg = str_replace(array("__site__", "__number__", "__country__", "__app__", "__code__", "__status__"), array($server["site"], $data[1], $api->countries[$data[3]], $app, $code, $status), $lang["hunt_msg"]); if ($app_key == "whatsapp") { $options->add($lang[$app_key], "url", "https://wa.me/" . $data[1]); } else { if ($app_key == "telegram") { $options->add($lang[$app_key], "url", "https://t.me/" . $data[1]); } } $reply->add($options); $options->clear(); $tele->editMessageText($chatId, $message_id, $msg, $reply); } } goto CPS52; A0zwi: if (strpos($message, "/update") === 0 and $callback_update) { $tele->editMessageText($chatId, $message_id, $lang["update_progress"]); $s = update($server, $license); if ($s) { $tele->editMessageText($chatId, $message_id, $lang["update_done"]); } else { $tele->editMessageText($chatId, $message_id, $lang["update_fail"]); } } goto leL7y; Lcb6d: $reply = new keyboard(); goto AW5uz; o0zmZ: TFuS2: goto UQXJq; iXjjr: j3AXa: goto HEnLV; MAjGf: goto lIfAD; goto qjTLs; HEnLV: if (strpos($message, "/set_site") === 0) { $reply->clear(); $options->clear(); $msg = "-"; if (count($data) === 0 or count($data) === 1) { $msg = $lang["choose_site"]; $server["data"] = "/set_site"; foreach ($server["sites"] as $site) { $options->add($site, "callback_data", $site); if (count($options->get()) >= 2) { $reply->add($options); $options->clear(); } } if ($options->get()) { $reply->add($options); $options->clear(); } } else { if (count($data) === 2) { if ($data[1] == "durianrcs") { $msg = $lang["durianrcs_send_api_key"]; } else { $msg = $lang["send_api_key"]; } $server["data"] = $message; } else { if (count($data) === 3) { $api0 = new $data[1]($data[2]); $b = $api0->getBalance(); if ($b != null) { $msg = $lang["set_site_done"]; $server["data"] = ''; $server["countries"] = array(); $server["site"] = $data[1]; $server["api"] = $data[2]; $server["app"] = null; } else { $msg = "*- " . $lang["api_wrong"] . " .*"; } } } } save("data/server.json", json_encode($server)); $options->add($lang["back"], "callback_data", "/start"); $reply->add($options); $options->clear(); if (!$tele->editMessageText($chatId, $message_id, $msg, $reply)["ok"]) { $tele->sendMessage($chatId, $msg, $reply); } } goto MAjGf; qjTLs: NEtFB: goto A0zwi; hPR0H: qkUyH: goto RthGH; HgED7: goto qkUyH; goto hPR0H; JBz_y: GiZpp: goto bdMFh; HbRdS: goto z5apW; goto JBz_y; XkbU9: if (empty($userId)) { die; } goto kzmAI; RJbTQ: goto m7eDc; goto GVg4t; xyO4q: goto K1Yb0; goto NnIsP; SHH7o: require_once "tele.php"; goto RgihW; GVg4t: lIfAD: goto NNSrp; HkQnM: require_once "providers.php"; goto UQHrs; UQHrs: goto GiZpp; goto x6_Xo; kzmAI: goto B3zts; goto o0zmZ; GCWn_: goto JMpKW; goto E2zwm; OCvlj: dkXbO: goto wKyMU; n9IiI: if (count($data) > 0 and strpos($message, "/") === false) { $data[] = $message; $message = $server["data"] . "|" . $message; } goto RJbTQ; izL4T: IU1IJ: goto n9IiI; mb0jK: if (strpos($message, "/start") === 0) { $data = array(); $server["data"] = ''; save("data/server.json", json_encode($server)); } goto rgncS; LSITm: z5apW: goto i1xwE; rgncS: goto Z19XT; goto YSYm0; leL7y: goto ATbNW; goto wsXij; UMt8H: if (strpos($message, "/manual_hunt") === 0) { $reply->clear(); $options->clear(); $msg = $lang["soon"]; $options->add($lang["back"], "callback_data", "/start"); $reply->add($options); $options->clear(); $tele->editMessageText($chatId, $message_id, $msg, $reply); } goto nGYV1; x9BEI: dJgx1: goto xgrIQ; KKgZ0: Sstxb: goto N0ieC; lysFK: if (strpos($message, "/added_countries") === 0) { $reply->clear(); $options->clear(); $msg = "-"; $data = explode("|", $message); if (count($data) === 2) { $msg = $lang["added_countries_msg"]; $co = array_values($server["countries"]); $index = $data[1]; if ($index > count($co)) { $index = count($co) - 10; } if ($index < 0) { $index = 0; } $last = $index + 10; if ($last > count($co)) { $last = count($co) - 1; } for ($i = $index; $i <= $last; $i++) { if ($api->countries[$co[$i]]) { $options->add($api->countries[$co[$i]], "callback_data", "null"); $options->add($lang["delete"], "callback_data", $message . "|" . $i); $reply->add($options); $options->clear(); } } $options->add($lang["back0"], "callback_data", "/added_countries|" . ($index - 10)); $options->add($lang["next"], "callback_data", "/added_countries|" . ($index + 10)); $reply->add($options); $options->clear(); } else { if (count($data) === 3) { $msg = $lang["delete_country_done"]; $server["data"] = ''; unset($server["countries"][$data[2]]); } } save("data/server.json", json_encode($server)); $options->add($lang["back"], "callback_data", "/start"); $reply->add($options); $options->clear(); $tele->editMessageText($chatId, $message_id, $msg, $reply); } goto ify7R; nGYV1: goto aX4m4; goto TyLi1; u3iPl: @unlink("error_log"); goto QiuEh; R_QQ6: goto j3AXa; goto XWTH5; F7aYL: goto z9iwO; goto l5jaJ; VJB3i: if (strpos($message, "/work") === 0) { $reply->clear(); $options->clear(); if (count($data) === 0 or count($data) === 1) { $msg = $lang["send_hunt_speed"]; $server["data"] = $message; } else { if (count($data) === 2) { $msg = $lang["hunt_working"]; $server["hunt"] = true; if (intval($data[1]) > 10) { $data[1] = 10; } $server["hunt_speed"] = intval($data[1]); $server["data"] = ''; } } save("data/server.json", json_encode($server)); $options->add($lang["back"], "callback_data", "/start"); $reply->add($options); $options->clear(); if (!$tele->editMessageText($chatId, $message_id, $msg, $reply)["ok"]) { $tele->sendMessage($chatId, $msg, $reply); } } goto W9Jv6; wKyMU: http_response_code(200); goto F7aYL; Zi9R0: JMpKW: goto HkQnM; Q6K04: if (strpos($message, "/stop") === 0) { $reply->clear(); $options->clear(); $msg = $lang["hunt_stopping"]; $server["hunt"] = false; save("data/server.json", json_encode($server)); $options->add($lang["back"], "callback_data", "/start"); $reply->add($options); $options->clear(); $tele->editMessageText($chatId, $message_id, $msg, $reply); } goto rObJg; IloIh: goto aPDtM; goto KKgZ0; iWcdz: nSAvd: goto d3hG_; RgihW: goto Sstxb; goto EXFw_; gASMU: goto ruED8; goto iWcdz; L9l32: $data = explode("|", $server["data"]); goto k0XW_; CPS52: goto NEtFB; goto gz3Q5; d3hG_: $options = new options(); goto HgED7; N0ieC: require_once "language.php"; goto GCWn_; bvO8g: ATbNW: goto r6U6C; rObJg: goto ebX8t; goto Eu2we; UTO1A: goto gqRvu; goto iXjjr; ify7R: goto bTcKc; goto bvO8g; tbtl8: if (strpos($message, "/add_country") === 0) { $reply->clear(); $options->clear(); $msg = "-"; $data = explode("|", $message); if (!$server["app"]) { $msg = $lang["add_app_first"]; } else { if (count($data) === 2) { $msg = $lang["choose_country"]; $co = array_keys($api->countries); $index = $data[1]; if ($index > count($co)) { $index = count($co) - 20; } if ($index < 0) { $index = 0; } $last = $index + 20; if ($last > count($co)) { $last = count($co) - 1; } for ($i = $index; $i <= $last; $i++) { $options->add($api->countries[$co[$i]], "callback_data", $message . "|" . $co[$i]); if (count($options->get()) >= 2) { $reply->add($options); $options->clear(); } } if ($options->get()) { $reply->add($options); $options->clear(); } $options->add($lang["back0"], "callback_data", "/add_country|" . ($index - 20)); $options->add($lang["next"], "callback_data", "/add_country|" . ($index + 20)); $reply->add($options); $options->clear(); } else { if (count($data) === 3) { if (in_array($data[2], $server["countries"])) { $msg = $lang["set_country_exits"]; $server["data"] = ''; } else { $count = $api->getAvailable($data[2]); if (!$count) { $count = " "; } $apps = $api->getApps(); $app = " "; foreach ($apps as $key => $value) { if (in_array($server["app"], explode(":", $value))) { $app = $key . " [" . $server["app"] . "] "; } } $msg = str_replace(array("__country__", "__count__", "__app__"), array($api->countries[$data[2]], $count, $app), $lang["known_numbers"]); $options->add($lang["add"], "callback_data", $message . "|add"); $reply->add($options); $options->clear(); } } else { if (count($data) === 4) { $msg = $lang["set_country_done"]; array_push($server["countries"], strval($data[2])); $server["data"] = ''; $options->add($lang["add_country"], "callback_data", "/add_country|0"); $reply->add($options); $options->clear(); } } } } save("data/server.json", json_encode($server)); $options->add($lang["back"], "callback_data", "/start"); $reply->add($options); $options->clear(); $tele->editMessageText($chatId, $message_id, $msg, $reply); } goto IloIh; l5jaJ: ruED8: goto u3iPl; Yobef: goto dkXbO; goto x9BEI; XAfve: if (strpos($message, "/sms") === 0) { $data = explode("|", $message); if (count($data) === 4) { $code = $api->getCode($data[2]); if ($code != null) { $status = $lang["code_done"]; } else { $status = $lang["code_wait"]; $code = "000000"; } $apps = $api->getApps(); $app = " "; foreach ($apps as $key => $value) { if (in_array($server["app"], explode(":", $value))) { $app = $key . " [" . $server["app"] . "] "; $app_key = $key; } } $msg = str_replace(array("__site__", "__number__", "__country__", "__app__", "__code__", "__status__"), array($server["site"], $data[1], $api->countries[$data[3]], $app, $code, $status), $lang["hunt_msg"]); if ($app_key == "whatsapp") { $options->add($lang[$app_key], "url", "https://wa.me/" . $data[1]); } else { if ($app_key == "telegram") { $options->add($lang[$app_key], "url", "https://t.me/" . $data[1]); } } $reply->add($options); $options->clear(); if ($code == "000000") { $options->add($lang["update"], "callback_data", "/sms|" . $data[1] . "|" . $data[2] . "|" . $data[3]); $options->add($lang["ban"], "callback_data", "/ban|" . $data[1] . "|" . $data[2] . "|" . $data[3]); $reply->add($options); $options->clear(); } $tele->editMessageText($chatId, $message_id, $msg, $reply); $tele->AnswerCallbackQuery($callback_update["id"], $lang["update_sms_done"], true); } } goto HbRdS; RthGH: if (strpos($message, "/start") === 0) { $options->add($lang["manual_hunt"], "callback_data", "/manual_hunt"); $reply->add($options); $options->clear(); $options->add($lang["set_site"], "callback_data", "/set_site"); $options->add($lang["set_app"], "callback_data", "/set_app"); $reply->add($options); $options->clear(); $options->add($lang["add_country"], "callback_data", "/add_country|0"); $options->add($lang["added_countries"], "callback_data", "/added_countries|0"); $reply->add($options); $options->clear(); $options->add($lang["run_hunt"], "callback_data", "/work"); $options->add($lang["stop_hunt"], "callback_data", "/stop"); $reply->add($options); $options->clear(); $options->add($lang["dev_support"], "url", "https://t.me/A_5_5_B"); $reply->add($options); $options->clear(); if ($server["hunt"]) { $hunt = " "; } else { $hunt = " "; } $apps = $api->getApps(); $app = " "; foreach ($apps as $key => $value) { if (in_array($server["app"], explode(":", $value))) { $app = $key . " [" . $server["app"] . "] "; } } $balance = $api->getBalance(); if ($balance == null) { $balance = $lang["api_wrong"]; } $msg = str_replace(array("__site__", "__balance__", "__hunt__", "__app__", "__speed__"), array($server["site"], $balance, $hunt, $app, $server["hunt_speed"]), $lang["welcome"]); if (isset($update["callback_query"])) { $tele->editMessageText($chatId, $message_id, $msg, $reply); } else { $tele->sendMessage($chatId, $msg, $reply); } if ($server["data"]) { $server["data"] = ''; save("data/server.json", json_encode($server)); } } goto R_QQ6; UQXJq: if (!isset($update["callback_query"])) { $chatId = $update["message"]["chat"]["id"]; $chatType = $update["message"]["chat"]["type"]; $userId = $update["message"]["from"]["id"]; $firstname = $update["message"]["from"]["first_name"]; $username = $update["message"]["from"]["username"]; $message = $update["message"]["text"]; $message_id = $update["message"]["message_id"]; $date = $update["message"]["date"] . "0000"; } else { $callback_update = $update["callback_query"]; $chatId = $callback_update["message"]["chat"]["id"]; $chatType = $callback_update["message"]["chat"]["type"]; $userId = $callback_update["from"]["id"]; $firstname = $callback_update["from"]["first_name"]; $username = $callback_update["from"]["username"]; $message = $callback_update["data"]; $message_id = $callback_update["message"]["message_id"]; $date = $callback_update["message"]["chat"]["date"] . "0000"; } goto UTO1A; YSYm0: bTcKc: goto VJB3i; NNSrp: if (strpos($message, "/set_app") === 0) { $reply->clear(); $options->clear(); $msg = "-"; if (count($data) === 0 or count($data) === 1) { $msg = $lang["choose_app"]; $server["data"] = "/set_app"; $apps = $api->getApps(); foreach ($apps as $key => $value) { $options->add($lang[$key], "callback_data", $value); if (count($options->get()) >= 2) { $reply->add($options); $options->clear(); } } if ($options->get()) { $reply->add($options); $options->clear(); } } else { if (count($data) === 2) { $d = explode(":", $data[1]); if (count($d) > 1) { $server["data"] = $message; $msg = $lang["choose_app_server"]; foreach ($d as $key) { $options->add("- " . $lang["server"] . " [" . $key . "] .", "callback_data", $key); if (count($options->get()) >= 2) { $reply->add($options); $options->clear(); } } if ($options->get()) { $reply->add($options); $options->clear(); } } else { $msg = $lang["set_app_done"]; $server["data"] = ''; $server["app"] = $data[1]; } } else { if (count($data) === 3) { $msg = $lang["set_app_done"]; $server["data"] = ''; $server["app"] = $data[2]; if (!$server["countries"]) { $server["countries"] = array(); } } } } save("data/server.json", json_encode($server)); $options->add($lang["back"], "callback_data", "/start"); $reply->add($options); $options->clear(); if (!$tele->editMessageText($chatId, $message_id, $msg, $reply)["ok"]) { $tele->sendMessage($chatId, $msg, $reply); } } goto oN7qB; k0XW_: goto IU1IJ; goto SvPtj; W9Jv6: goto XKc0C; goto Zi9R0; AW5uz: goto nSAvd; goto Tpzog; QiuEh: goto dJgx1; goto izL4T; SvPtj: Z19XT: goto Lcb6d; gz3Q5: aX4m4: goto XAfve; r6U6C:
Did this file decode correctly?
Original Code
<?php eval(base64_decode('CiBnb3RvIFlvYmVmOyBvTjdxQjogZ290byBTR3BIMjsgZ290byBPXzkxcjsga3hJY3c6IGlmICghaW5fYXJyYXkoJHVzZXJJZCwgJGFkbWlucykgYW5kICR1c2VySWQgIT0gJHN1ZG8pIHsgZGllOyB9IGdvdG8gWThNSUI7IEUyendtOiBYS2MwQzogZ290byBRNkswNDsgcFFwc0w6IGdvdG8gVEZ1UzI7IGdvdG8gTFNJVG07IEV1MndlOiBGcFZIVTogZ290byBMOWwzMjsgRU9BbVg6IHJlcXVpcmVfb25jZSAiXDE0M1x4NmZcMTU2XHg2NlwxNTFcMTQ3XHgyZVx4NzBcMTUwXDE2MCI7IGdvdG8geHlPNHE7IE5uSXNQOiBtN2VEYzogZ290byBtYjBqSzsgRVhGd186IGdxUnZ1OiBnb3RvIFhrYlU5OyB4Nl9YbzogSzFZYjA6IGdvdG8gU0hIN287IFhXVEg1OiB6OWl3TzogZ290byBFT0FtWDsgWThNSUI6IGdvdG8gRnBWSFU7IGdvdG8gT0N2bGo7IHdzWGlqOiBCM3p0czogZ290byBreEljdzsgVHB6b2c6IGFQRHRNOiBnb3RvIGx5c0ZLOyBUeUxpMTogU0dwSDI6IGdvdG8gdGJ0bDg7IE9fOTFyOiBlYlg4dDogZ290byBVTXQ4SDsgeGdySVE6IGlmIChpc3NldCgkX1BPU1RbIlx4NzVceDcwXDE0NFwxNDFceDc0XHg2NSJdKSkgeyAkdXBkYXRlID0ganNvbl9kZWNvZGUoJF9QT1NUWyJceDc1XDE2MFx4NjRcMTQxXDE2NFx4NjUiXSwgVFJVRSk7IH0gZWxzZSB7ICR1cGRhdGUgPSBmaWxlX2dldF9jb250ZW50cygiXHg3MFx4NjhceDcwXDcyXDU3XDU3XHg2OVx4NmVcMTYwXDE2NVwxNjQiKTsgJHVwZGF0ZSA9IGpzb25fZGVjb2RlKCR1cGRhdGUsIFRSVUUpOyB9IGdvdG8gcFFwc0w7IGJkTUZoOiByZXF1aXJlX29uY2UgIlwxNDFcMTQzXDE0M1x4NjVcMTYzXHg3M1w1NlwxNjBceDY4XHg3MCI7IGdvdG8gZ0FTTVU7IGkxeHdFOiBpZiAoc3RycG9zKCRtZXNzYWdlLCAiXDU3XDE0MlwxNDFcMTU2IikgPT09IDApIHsgJGRhdGEgPSBleHBsb2RlKCJceDdjIiwgJG1lc3NhZ2UpOyBpZiAoY291bnQoJGRhdGEpID09PSA0KSB7ICRhcGktPmJsb2NrTnVtYmVyKCRkYXRhWzJdKTsgJHN0YXR1cyA9ICRsYW5nWyJceDYzXHg2Zlx4NjRcMTQ1XHg1Zlx4NjNcMTQxXDE1NlwxNDNcMTQ1XHg2YyJdOyAkY29kZSA9ICJceDMwXHgzMFx4MzBcNjBceDMwXDYwIjsgJGFwcHMgPSAkYXBpLT5nZXRBcHBzKCk7ICRhcHAgPSAiXHhkOFx4YmFceGQ5XDIxMlwzMzBceGIxXDQwXHhkOVx4ODVcMzMwXDI1NVwzMzBcMjU3XHhkOFwyNTciOyBmb3JlYWNoICgkYXBwcyBhcyAka2V5ID0+ICR2YWx1ZSkgeyBpZiAoaW5fYXJyYXkoJHNlcnZlclsiXHg2MVx4NzBceDcwIl0sIGV4cGxvZGUoIlx4M2EiLCAkdmFsdWUpKSkgeyAkYXBwID0gJGtleSAuICJcNDBcMTMzIiAuICRzZXJ2ZXJbIlwxNDFcMTYwXDE2MCJdIC4gIlx4NWRceDIwIjsgJGFwcF9rZXkgPSAka2V5OyB9IH0gJG1zZyA9IHN0cl9yZXBsYWNlKGFycmF5KCJceDVmXHg1ZlwxNjNceDY5XDE2NFx4NjVceDVmXDEzNyIsICJcMTM3XHg1Zlx4NmVcMTY1XHg2ZFx4NjJcMTQ1XDE2Mlx4NWZcMTM3IiwgIlx4NWZcMTM3XHg2M1wxNTdceDc1XDE1Nlx4NzRceDcyXDE3MVwxMzdcMTM3IiwgIlwxMzdceDVmXDE0MVwxNjBceDcwXDEzN1wxMzciLCAiXHg1Zlx4NWZcMTQzXHg2ZlwxNDRceDY1XDEzN1wxMzciLCAiXDEzN1x4NWZceDczXDE2NFx4NjFcMTY0XDE2NVwxNjNceDVmXHg1ZiIpLCBhcnJheSgkc2VydmVyWyJcMTYzXHg2OVx4NzRcMTQ1Il0sICRkYXRhWzFdLCAkYXBpLT5jb3VudHJpZXNbJGRhdGFbM11dLCAkYXBwLCAkY29kZSwgJHN0YXR1cyksICRsYW5nWyJcMTUwXHg3NVx4NmVcMTY0XHg1Zlx4NmRceDczXHg2NyJdKTsgaWYgKCRhcHBfa2V5ID09ICJcMTY3XHg2OFwxNDFcMTY0XDE2M1wxNDFcMTYwXDE2MCIpIHsgJG9wdGlvbnMtPmFkZCgkbGFuZ1skYXBwX2tleV0sICJceDc1XDE2Mlx4NmMiLCAiXHg2OFwxNjRceDc0XDE2MFx4NzNceDNhXDU3XDU3XDE2N1wxNDFceDJlXHg2ZFwxNDVceDJmIiAuICRkYXRhWzFdKTsgfSBlbHNlIHsgaWYgKCRhcHBfa2V5ID09ICJcMTY0XDE0NVwxNTRcMTQ1XHg2N1x4NzJcMTQxXHg2ZCIpIHsgJG9wdGlvbnMtPmFkZCgkbGFuZ1skYXBwX2tleV0sICJcMTY1XHg3Mlx4NmMiLCAiXDE1MFx4NzRceDc0XDE2MFx4NzNcNzJcNTdceDJmXHg3NFx4MmVcMTU1XHg2NVx4MmYiIC4gJGRhdGFbMV0pOyB9IH0gJHJlcGx5LT5hZGQoJG9wdGlvbnMpOyAkb3B0aW9ucy0+Y2xlYXIoKTsgJHRlbGUtPmVkaXRNZXNzYWdlVGV4dCgkY2hhdElkLCAkbWVzc2FnZV9pZCwgJG1zZywgJHJlcGx5KTsgfSB9IGdvdG8gQ1BTNTI7IEEwendpOiBpZiAoc3RycG9zKCRtZXNzYWdlLCAiXHgyZlx4NzVceDcwXHg2NFx4NjFceDc0XDE0NSIpID09PSAwIGFuZCAkY2FsbGJhY2tfdXBkYXRlKSB7ICR0ZWxlLT5lZGl0TWVzc2FnZVRleHQoJGNoYXRJZCwgJG1lc3NhZ2VfaWQsICRsYW5nWyJcMTY1XDE2MFwxNDRceDYxXHg3NFx4NjVceDVmXHg3MFwxNjJcMTU3XHg2N1x4NzJceDY1XDE2M1wxNjMiXSk7ICRzID0gdXBkYXRlKCRzZXJ2ZXIsICRsaWNlbnNlKTsgaWYgKCRzKSB7ICR0ZWxlLT5lZGl0TWVzc2FnZVRleHQoJGNoYXRJZCwgJG1lc3NhZ2VfaWQsICRsYW5nWyJcMTY1XDE2MFx4NjRcMTQxXHg3NFx4NjVcMTM3XHg2NFwxNTdceDZlXDE0NSJdKTsgfSBlbHNlIHsgJHRlbGUtPmVkaXRNZXNzYWdlVGV4dCgkY2hhdElkLCAkbWVzc2FnZV9pZCwgJGxhbmdbIlx4NzVcMTYwXDE0NFx4NjFceDc0XHg2NVx4NWZcMTQ2XDE0MVwxNTFceDZjIl0pOyB9IH0gZ290byBsZUw3eTsgTGNiNmQ6ICRyZXBseSA9IG5ldyBrZXlib2FyZCgpOyBnb3RvIEFXNXV6OyBvMHptWjogVEZ1UzI6IGdvdG8gVVFYSnE7IGlYampyOiBqM0FYYTogZ290byBIRW5MVjsgTUFqR2Y6IGdvdG8gbElmQUQ7IGdvdG8gcWpUTHM7IEhFbkxWOiBpZiAoc3RycG9zKCRtZXNzYWdlLCAiXDU3XDE2M1wxNDVcMTY0XDEzN1wxNjNcMTUxXHg3NFwxNDUiKSA9PT0gMCkgeyAkcmVwbHktPmNsZWFyKCk7ICRvcHRpb25zLT5jbGVhcigpOyAkbXNnID0gIlw1NSI7IGlmIChjb3VudCgkZGF0YSkgPT09IDAgb3IgY291bnQoJGRhdGEpID09PSAxKSB7ICRtc2cgPSAkbGFuZ1siXDE0M1x4NjhcMTU3XDE1N1x4NzNceDY1XHg1ZlwxNjNcMTUxXDE2NFwxNDUiXTsgJHNlcnZlclsiXHg2NFwxNDFceDc0XDE0MSJdID0gIlx4MmZcMTYzXDE0NVx4NzRcMTM3XDE2M1wxNTFcMTY0XDE0NSI7IGZvcmVhY2ggKCRzZXJ2ZXJbIlx4NzNcMTUxXHg3NFx4NjVceDczIl0gYXMgJHNpdGUpIHsgJG9wdGlvbnMtPmFkZCgkc2l0ZSwgIlwxNDNceDYxXHg2Y1x4NmNceDYyXHg2MVwxNDNcMTUzXDEzN1x4NjRcMTQxXHg3NFx4NjEiLCAkc2l0ZSk7IGlmIChjb3VudCgkb3B0aW9ucy0+Z2V0KCkpID49IDIpIHsgJHJlcGx5LT5hZGQoJG9wdGlvbnMpOyAkb3B0aW9ucy0+Y2xlYXIoKTsgfSB9IGlmICgkb3B0aW9ucy0+Z2V0KCkpIHsgJHJlcGx5LT5hZGQoJG9wdGlvbnMpOyAkb3B0aW9ucy0+Y2xlYXIoKTsgfSB9IGVsc2UgeyBpZiAoY291bnQoJGRhdGEpID09PSAyKSB7IGlmICgkZGF0YVsxXSA9PSAiXHg2NFx4NzVceDcyXDE1MVx4NjFcMTU2XHg3Mlx4NjNcMTYzIikgeyAkbXNnID0gJGxhbmdbIlwxNDRceDc1XDE2MlwxNTFcMTQxXHg2ZVx4NzJceDYzXHg3M1wxMzdcMTYzXDE0NVwxNTZceDY0XHg1Zlx4NjFceDcwXHg2OVx4NWZcMTUzXDE0NVx4NzkiXTsgfSBlbHNlIHsgJG1zZyA9ICRsYW5nWyJcMTYzXDE0NVx4NmVceDY0XDEzN1x4NjFceDcwXHg2OVx4NWZcMTUzXDE0NVx4NzkiXTsgfSAkc2VydmVyWyJceDY0XDE0MVwxNjRcMTQxIl0gPSAkbWVzc2FnZTsgfSBlbHNlIHsgaWYgKGNvdW50KCRkYXRhKSA9PT0gMykgeyAkYXBpMCA9IG5ldyAkZGF0YVsxXSgkZGF0YVsyXSk7ICRiID0gJGFwaTAtPmdldEJhbGFuY2UoKTsgaWYgKCRiICE9IG51bGwpIHsgJG1zZyA9ICRsYW5nWyJcMTYzXHg2NVwxNjRcMTM3XDE2M1x4NjlceDc0XDE0NVx4NWZceDY0XDE1N1x4NmVceDY1Il07ICRzZXJ2ZXJbIlwxNDRcMTQxXHg3NFx4NjEiXSA9ICcnOyAkc2VydmVyWyJceDYzXHg2ZlwxNjVceDZlXHg3NFx4NzJcMTUxXDE0NVx4NzMiXSA9IGFycmF5KCk7ICRzZXJ2ZXJbIlx4NzNcMTUxXHg3NFwxNDUiXSA9ICRkYXRhWzFdOyAkc2VydmVyWyJcMTQxXDE2MFx4NjkiXSA9ICRkYXRhWzJdOyAkc2VydmVyWyJcMTQxXHg3MFx4NzAiXSA9IG51bGw7IH0gZWxzZSB7ICRtc2cgPSAiXDUyXDU1XHgyMCIgLiAkbGFuZ1siXHg2MVx4NzBceDY5XHg1ZlwxNjdceDcyXHg2ZlwxNTZceDY3Il0gLiAiXDQwXDU2XHgyYSI7IH0gfSB9IH0gc2F2ZSgiXDE0NFwxNDFceDc0XDE0MVx4MmZcMTYzXHg2NVx4NzJcMTY2XHg2NVwxNjJceDJlXHg2YVwxNjNcMTU3XDE1NiIsIGpzb25fZW5jb2RlKCRzZXJ2ZXIpKTsgJG9wdGlvbnMtPmFkZCgkbGFuZ1siXDE0MlwxNDFceDYzXHg2YiJdLCAiXHg2M1x4NjFceDZjXDE1NFx4NjJcMTQxXHg2M1wxNTNcMTM3XHg2NFx4NjFceDc0XHg2MSIsICJceDJmXDE2M1wxNjRcMTQxXHg3Mlx4NzQiKTsgJHJlcGx5LT5hZGQoJG9wdGlvbnMpOyAkb3B0aW9ucy0+Y2xlYXIoKTsgaWYgKCEkdGVsZS0+ZWRpdE1lc3NhZ2VUZXh0KCRjaGF0SWQsICRtZXNzYWdlX2lkLCAkbXNnLCAkcmVwbHkpWyJcMTU3XDE1MyJdKSB7ICR0ZWxlLT5zZW5kTWVzc2FnZSgkY2hhdElkLCAkbXNnLCAkcmVwbHkpOyB9IH0gZ290byBNQWpHZjsgcWpUTHM6IE5FdEZCOiBnb3RvIEEwendpOyBoUFIwSDogcWtVeUg6IGdvdG8gUnRoR0g7IEhnRUQ3OiBnb3RvIHFrVXlIOyBnb3RvIGhQUjBIOyBKQnpfeTogR2lacHA6IGdvdG8gYmRNRmg7IEhiUmRTOiBnb3RvIHo1YXBXOyBnb3RvIEpCel95OyBYa2JVOTogaWYgKGVtcHR5KCR1c2VySWQpKSB7IGRpZTsgfSBnb3RvIGt6bUFJOyBSSmJUUTogZ290byBtN2VEYzsgZ290byBHVmc0dDsgeHlPNHE6IGdvdG8gSzFZYjA7IGdvdG8gTm5Jc1A7IFNISDdvOiByZXF1aXJlX29uY2UgIlx4NzRceDY1XDE1NFx4NjVcNTZcMTYwXHg2OFx4NzAiOyBnb3RvIFJnaWhXOyBHVmc0dDogbElmQUQ6IGdvdG8gTk5TcnA7IEhrUW5NOiByZXF1aXJlX29uY2UgIlx4NzBcMTYyXDE1N1wxNjZcMTUxXDE0NFx4NjVceDcyXHg3M1w1Nlx4NzBcMTUwXHg3MCI7IGdvdG8gVVFIcnM7IFVRSHJzOiBnb3RvIEdpWnBwOyBnb3RvIHg2X1hvOyBrem1BSTogZ290byBCM3p0czsgZ290byBvMHptWjsgR0NXbl86IGdvdG8gSk1wS1c7IGdvdG8gRTJ6d207IE9DdmxqOiBka1hiTzogZ290byB3S3lNVTsgbjlJaUk6IGlmIChjb3VudCgkZGF0YSkgPiAwIGFuZCBzdHJwb3MoJG1lc3NhZ2UsICJceDJmIikgPT09IGZhbHNlKSB7ICRkYXRhW10gPSAkbWVzc2FnZTsgJG1lc3NhZ2UgPSAkc2VydmVyWyJcMTQ0XDE0MVwxNjRceDYxIl0gLiAiXDE3NCIgLiAkbWVzc2FnZTsgfSBnb3RvIFJKYlRROyBpekw0VDogSVUxSUo6IGdvdG8gbjlJaUk7IG1iMGpLOiBpZiAoc3RycG9zKCRtZXNzYWdlLCAiXHgyZlwxNjNceDc0XHg2MVx4NzJcMTY0IikgPT09IDApIHsgJGRhdGEgPSBhcnJheSgpOyAkc2VydmVyWyJceDY0XHg2MVwxNjRcMTQxIl0gPSAnJzsgc2F2ZSgiXHg2NFx4NjFceDc0XHg2MVx4MmZceDczXDE0NVx4NzJcMTY2XHg2NVx4NzJcNTZceDZhXDE2M1x4NmZceDZlIiwganNvbl9lbmNvZGUoJHNlcnZlcikpOyB9IGdvdG8gcmduY1M7IExTSVRtOiB6NWFwVzogZ290byBpMXh3RTsgcmduY1M6IGdvdG8gWjE5WFQ7IGdvdG8gWVNZbTA7IGxlTDd5OiBnb3RvIEFUYk5XOyBnb3RvIHdzWGlqOyBVTXQ4SDogaWYgKHN0cnBvcygkbWVzc2FnZSwgIlx4MmZceDZkXDE0MVx4NmVcMTY1XDE0MVx4NmNcMTM3XHg2OFwxNjVceDZlXHg3NCIpID09PSAwKSB7ICRyZXBseS0+Y2xlYXIoKTsgJG9wdGlvbnMtPmNsZWFyKCk7ICRtc2cgPSAkbGFuZ1siXDE2M1x4NmZcMTU3XHg2ZSJdOyAkb3B0aW9ucy0+YWRkKCRsYW5nWyJceDYyXHg2MVwxNDNcMTUzIl0sICJcMTQzXDE0MVx4NmNceDZjXHg2MlwxNDFcMTQzXHg2YlwxMzdceDY0XHg2MVwxNjRceDYxIiwgIlw1N1x4NzNcMTY0XDE0MVx4NzJceDc0Iik7ICRyZXBseS0+YWRkKCRvcHRpb25zKTsgJG9wdGlvbnMtPmNsZWFyKCk7ICR0ZWxlLT5lZGl0TWVzc2FnZVRleHQoJGNoYXRJZCwgJG1lc3NhZ2VfaWQsICRtc2csICRyZXBseSk7IH0gZ290byBuR1lWMTsgeDlCRUk6IGRKZ3gxOiBnb3RvIHhncklROyBLS2daMDogU3N0eGI6IGdvdG8gTjBpZUM7IGx5c0ZLOiBpZiAoc3RycG9zKCRtZXNzYWdlLCAiXHgyZlwxNDFcMTQ0XDE0NFwxNDVceDY0XHg1ZlwxNDNcMTU3XDE2NVwxNTZcMTY0XHg3Mlx4NjlcMTQ1XDE2MyIpID09PSAwKSB7ICRyZXBseS0+Y2xlYXIoKTsgJG9wdGlvbnMtPmNsZWFyKCk7ICRtc2cgPSAiXHgyZCI7ICRkYXRhID0gZXhwbG9kZSgiXDE3NCIsICRtZXNzYWdlKTsgaWYgKGNvdW50KCRkYXRhKSA9PT0gMikgeyAkbXNnID0gJGxhbmdbIlx4NjFcMTQ0XHg2NFwxNDVceDY0XDEzN1x4NjNceDZmXDE2NVwxNTZcMTY0XDE2MlwxNTFcMTQ1XDE2M1wxMzdceDZkXDE2M1x4NjciXTsgJGNvID0gYXJyYXlfdmFsdWVzKCRzZXJ2ZXJbIlwxNDNceDZmXDE2NVx4NmVceDc0XHg3MlwxNTFceDY1XHg3MyJdKTsgJGluZGV4ID0gJGRhdGFbMV07IGlmICgkaW5kZXggPiBjb3VudCgkY28pKSB7ICRpbmRleCA9IGNvdW50KCRjbykgLSAxMDsgfSBpZiAoJGluZGV4IDwgMCkgeyAkaW5kZXggPSAwOyB9ICRsYXN0ID0gJGluZGV4ICsgMTA7IGlmICgkbGFzdCA+IGNvdW50KCRjbykpIHsgJGxhc3QgPSBjb3VudCgkY28pIC0gMTsgfSBmb3IgKCRpID0gJGluZGV4OyAkaSA8PSAkbGFzdDsgJGkrKykgeyBpZiAoJGFwaS0+Y291bnRyaWVzWyRjb1skaV1dKSB7ICRvcHRpb25zLT5hZGQoJGFwaS0+Y291bnRyaWVzWyRjb1skaV1dLCAiXHg2M1wxNDFceDZjXDE1NFx4NjJcMTQxXHg2M1wxNTNceDVmXHg2NFx4NjFcMTY0XDE0MSIsICJcMTU2XHg3NVx4NmNceDZjIik7ICRvcHRpb25zLT5hZGQoJGxhbmdbIlwxNDRcMTQ1XDE1NFx4NjVceDc0XHg2NSJdLCAiXDE0M1x4NjFcMTU0XDE1NFwxNDJceDYxXDE0M1wxNTNceDVmXDE0NFwxNDFcMTY0XDE0MSIsICRtZXNzYWdlIC4gIlx4N2MiIC4gJGkpOyAkcmVwbHktPmFkZCgkb3B0aW9ucyk7ICRvcHRpb25zLT5jbGVhcigpOyB9IH0gJG9wdGlvbnMtPmFkZCgkbGFuZ1siXHg2Mlx4NjFceDYzXHg2Ylx4MzAiXSwgIlwxNDNcMTQxXDE1NFwxNTRceDYyXDE0MVx4NjNcMTUzXHg1ZlwxNDRcMTQxXDE2NFx4NjEiLCAiXDU3XDE0MVwxNDRcMTQ0XHg2NVx4NjRceDVmXHg2M1wxNTdcMTY1XDE1Nlx4NzRceDcyXDE1MVwxNDVcMTYzXDE3NCIgLiAoJGluZGV4IC0gMTApKTsgJG9wdGlvbnMtPmFkZCgkbGFuZ1siXDE1Nlx4NjVcMTcwXHg3NCJdLCAiXDE0M1wxNDFcMTU0XHg2Y1x4NjJcMTQxXDE0M1wxNTNceDVmXDE0NFwxNDFcMTY0XDE0MSIsICJcNTdcMTQxXHg2NFwxNDRceDY1XDE0NFwxMzdceDYzXDE1N1x4NzVcMTU2XDE2NFwxNjJceDY5XDE0NVwxNjNcMTc0IiAuICgkaW5kZXggKyAxMCkpOyAkcmVwbHktPmFkZCgkb3B0aW9ucyk7ICRvcHRpb25zLT5jbGVhcigpOyB9IGVsc2UgeyBpZiAoY291bnQoJGRhdGEpID09PSAzKSB7ICRtc2cgPSAkbGFuZ1siXDE0NFx4NjVceDZjXDE0NVwxNjRcMTQ1XHg1Zlx4NjNcMTU3XHg3NVwxNTZceDc0XDE2MlwxNzFceDVmXDE0NFx4NmZcMTU2XDE0NSJdOyAkc2VydmVyWyJceDY0XDE0MVwxNjRcMTQxIl0gPSAnJzsgdW5zZXQoJHNlcnZlclsiXDE0M1wxNTdceDc1XHg2ZVx4NzRceDcyXHg2OVx4NjVcMTYzIl1bJGRhdGFbMl1dKTsgfSB9IHNhdmUoIlwxNDRcMTQxXDE2NFwxNDFceDJmXDE2M1x4NjVceDcyXDE2NlwxNDVceDcyXDU2XHg2YVx4NzNceDZmXDE1NiIsIGpzb25fZW5jb2RlKCRzZXJ2ZXIpKTsgJG9wdGlvbnMtPmFkZCgkbGFuZ1siXDE0MlwxNDFcMTQzXHg2YiJdLCAiXDE0M1wxNDFcMTU0XDE1NFx4NjJceDYxXDE0M1x4NmJceDVmXHg2NFwxNDFceDc0XHg2MSIsICJcNTdcMTYzXDE2NFwxNDFceDcyXDE2NCIpOyAkcmVwbHktPmFkZCgkb3B0aW9ucyk7ICRvcHRpb25zLT5jbGVhcigpOyAkdGVsZS0+ZWRpdE1lc3NhZ2VUZXh0KCRjaGF0SWQsICRtZXNzYWdlX2lkLCAkbXNnLCAkcmVwbHkpOyB9IGdvdG8gaWZ5N1I7IG5HWVYxOiBnb3RvIGFYNG00OyBnb3RvIFR5TGkxOyB1M2lQbDogQHVubGluaygiXDE0NVx4NzJcMTYyXDE1N1x4NzJcMTM3XDE1NFx4NmZcMTQ3Iik7IGdvdG8gUWl1RWg7IFJfUVE2OiBnb3RvIGozQVhhOyBnb3RvIFhXVEg1OyBGN2FZTDogZ290byB6OWl3TzsgZ290byBsNWphSjsgVkpCM2k6IGlmIChzdHJwb3MoJG1lc3NhZ2UsICJceDJmXHg3N1wxNTdceDcyXHg2YiIpID09PSAwKSB7ICRyZXBseS0+Y2xlYXIoKTsgJG9wdGlvbnMtPmNsZWFyKCk7IGlmIChjb3VudCgkZGF0YSkgPT09IDAgb3IgY291bnQoJGRhdGEpID09PSAxKSB7ICRtc2cgPSAkbGFuZ1siXHg3M1wxNDVcMTU2XHg2NFx4NWZceDY4XDE2NVx4NmVcMTY0XDEzN1wxNjNceDcwXDE0NVx4NjVcMTQ0Il07ICRzZXJ2ZXJbIlwxNDRcMTQxXHg3NFwxNDEiXSA9ICRtZXNzYWdlOyB9IGVsc2UgeyBpZiAoY291bnQoJGRhdGEpID09PSAyKSB7ICRtc2cgPSAkbGFuZ1siXHg2OFx4NzVcMTU2XDE2NFwxMzdcMTY3XHg2ZlwxNjJcMTUzXDE1MVx4NmVceDY3Il07ICRzZXJ2ZXJbIlx4NjhceDc1XHg2ZVx4NzQiXSA9IHRydWU7IGlmIChpbnR2YWwoJGRhdGFbMV0pID4gMTApIHsgJGRhdGFbMV0gPSAxMDsgfSAkc2VydmVyWyJceDY4XDE2NVwxNTZcMTY0XHg1ZlwxNjNcMTYwXHg2NVwxNDVcMTQ0Il0gPSBpbnR2YWwoJGRhdGFbMV0pOyAkc2VydmVyWyJcMTQ0XHg2MVwxNjRcMTQxIl0gPSAnJzsgfSB9IHNhdmUoIlwxNDRceDYxXHg3NFx4NjFcNTdcMTYzXDE0NVwxNjJceDc2XDE0NVwxNjJcNTZcMTUyXHg3M1x4NmZceDZlIiwganNvbl9lbmNvZGUoJHNlcnZlcikpOyAkb3B0aW9ucy0+YWRkKCRsYW5nWyJceDYyXDE0MVwxNDNceDZiIl0sICJcMTQzXDE0MVwxNTRceDZjXHg2Mlx4NjFcMTQzXDE1M1wxMzdceDY0XDE0MVwxNjRcMTQxIiwgIlx4MmZcMTYzXHg3NFx4NjFcMTYyXDE2NCIpOyAkcmVwbHktPmFkZCgkb3B0aW9ucyk7ICRvcHRpb25zLT5jbGVhcigpOyBpZiAoISR0ZWxlLT5lZGl0TWVzc2FnZVRleHQoJGNoYXRJZCwgJG1lc3NhZ2VfaWQsICRtc2csICRyZXBseSlbIlwxNTdceDZiIl0pIHsgJHRlbGUtPnNlbmRNZXNzYWdlKCRjaGF0SWQsICRtc2csICRyZXBseSk7IH0gfSBnb3RvIFc5SnY2OyB3S3lNVTogaHR0cF9yZXNwb25zZV9jb2RlKDIwMCk7IGdvdG8gRjdhWUw7IFppOVIwOiBKTXBLVzogZ290byBIa1FuTTsgUTZLMDQ6IGlmIChzdHJwb3MoJG1lc3NhZ2UsICJceDJmXHg3M1x4NzRcMTU3XDE2MCIpID09PSAwKSB7ICRyZXBseS0+Y2xlYXIoKTsgJG9wdGlvbnMtPmNsZWFyKCk7ICRtc2cgPSAkbGFuZ1siXDE1MFx4NzVceDZlXDE2NFx4NWZcMTYzXDE2NFx4NmZceDcwXHg3MFwxNTFcMTU2XHg2NyJdOyAkc2VydmVyWyJcMTUwXDE2NVwxNTZcMTY0Il0gPSBmYWxzZTsgc2F2ZSgiXDE0NFwxNDFcMTY0XDE0MVw1N1wxNjNceDY1XHg3Mlx4NzZcMTQ1XDE2Mlx4MmVceDZhXDE2M1wxNTdceDZlIiwganNvbl9lbmNvZGUoJHNlcnZlcikpOyAkb3B0aW9ucy0+YWRkKCRsYW5nWyJcMTQyXHg2MVwxNDNceDZiIl0sICJceDYzXDE0MVx4NmNcMTU0XDE0MlwxNDFcMTQzXHg2Ylx4NWZcMTQ0XHg2MVx4NzRcMTQxIiwgIlw1N1x4NzNceDc0XHg2MVx4NzJcMTY0Iik7ICRyZXBseS0+YWRkKCRvcHRpb25zKTsgJG9wdGlvbnMtPmNsZWFyKCk7ICR0ZWxlLT5lZGl0TWVzc2FnZVRleHQoJGNoYXRJZCwgJG1lc3NhZ2VfaWQsICRtc2csICRyZXBseSk7IH0gZ290byByT2JKZzsgSWxvSWg6IGdvdG8gYVBEdE07IGdvdG8gS0tnWjA7IGlXY2R6OiBuU0F2ZDogZ290byBkM2hHXzsgUmdpaFc6IGdvdG8gU3N0eGI7IGdvdG8gRVhGd187IGdBU01VOiBnb3RvIHJ1RUQ4OyBnb3RvIGlXY2R6OyBMOWwzMjogJGRhdGEgPSBleHBsb2RlKCJcMTc0IiwgJHNlcnZlclsiXDE0NFwxNDFceDc0XDE0MSJdKTsgZ290byBrMFhXXzsgQ1BTNTI6IGdvdG8gTkV0RkI7IGdvdG8gZ3ozUTU7IGQzaEdfOiAkb3B0aW9ucyA9IG5ldyBvcHRpb25zKCk7IGdvdG8gSGdFRDc7IE4waWVDOiByZXF1aXJlX29uY2UgIlx4NmNceDYxXDE1NlwxNDdceDc1XHg2MVx4NjdceDY1XHgyZVx4NzBcMTUwXHg3MCI7IGdvdG8gR0NXbl87IGJ2TzhnOiBBVGJOVzogZ290byByNlU2Qzsgck9iSmc6IGdvdG8gZWJYOHQ7IGdvdG8gRXUyd2U7IFVUTzFBOiBnb3RvIGdxUnZ1OyBnb3RvIGlYampyOyBpZnk3UjogZ290byBiVGNLYzsgZ290byBidk84ZzsgdGJ0bDg6IGlmIChzdHJwb3MoJG1lc3NhZ2UsICJcNTdceDYxXDE0NFwxNDRcMTM3XDE0M1wxNTdcMTY1XHg2ZVx4NzRcMTYyXHg3OSIpID09PSAwKSB7ICRyZXBseS0+Y2xlYXIoKTsgJG9wdGlvbnMtPmNsZWFyKCk7ICRtc2cgPSAiXHgyZCI7ICRkYXRhID0gZXhwbG9kZSgiXDE3NCIsICRtZXNzYWdlKTsgaWYgKCEkc2VydmVyWyJcMTQxXHg3MFwxNjAiXSkgeyAkbXNnID0gJGxhbmdbIlx4NjFceDY0XDE0NFx4NWZcMTQxXDE2MFwxNjBcMTM3XHg2Nlx4NjlceDcyXDE2M1x4NzQiXTsgfSBlbHNlIHsgaWYgKGNvdW50KCRkYXRhKSA9PT0gMikgeyAkbXNnID0gJGxhbmdbIlx4NjNceDY4XHg2Zlx4NmZceDczXDE0NVwxMzdceDYzXDE1N1x4NzVceDZlXHg3NFx4NzJcMTcxIl07ICRjbyA9IGFycmF5X2tleXMoJGFwaS0+Y291bnRyaWVzKTsgJGluZGV4ID0gJGRhdGFbMV07IGlmICgkaW5kZXggPiBjb3VudCgkY28pKSB7ICRpbmRleCA9IGNvdW50KCRjbykgLSAyMDsgfSBpZiAoJGluZGV4IDwgMCkgeyAkaW5kZXggPSAwOyB9ICRsYXN0ID0gJGluZGV4ICsgMjA7IGlmICgkbGFzdCA+IGNvdW50KCRjbykpIHsgJGxhc3QgPSBjb3VudCgkY28pIC0gMTsgfSBmb3IgKCRpID0gJGluZGV4OyAkaSA8PSAkbGFzdDsgJGkrKykgeyAkb3B0aW9ucy0+YWRkKCRhcGktPmNvdW50cmllc1skY29bJGldXSwgIlwxNDNcMTQxXHg2Y1wxNTRceDYyXDE0MVwxNDNceDZiXHg1Zlx4NjRceDYxXDE2NFx4NjEiLCAkbWVzc2FnZSAuICJceDdjIiAuICRjb1skaV0pOyBpZiAoY291bnQoJG9wdGlvbnMtPmdldCgpKSA+PSAyKSB7ICRyZXBseS0+YWRkKCRvcHRpb25zKTsgJG9wdGlvbnMtPmNsZWFyKCk7IH0gfSBpZiAoJG9wdGlvbnMtPmdldCgpKSB7ICRyZXBseS0+YWRkKCRvcHRpb25zKTsgJG9wdGlvbnMtPmNsZWFyKCk7IH0gJG9wdGlvbnMtPmFkZCgkbGFuZ1siXHg2Mlx4NjFcMTQzXHg2Ylw2MCJdLCAiXHg2M1wxNDFceDZjXHg2Y1x4NjJcMTQxXDE0M1wxNTNceDVmXDE0NFx4NjFceDc0XDE0MSIsICJceDJmXDE0MVx4NjRceDY0XDEzN1x4NjNcMTU3XDE2NVx4NmVceDc0XHg3MlwxNzFcMTc0IiAuICgkaW5kZXggLSAyMCkpOyAkb3B0aW9ucy0+YWRkKCRsYW5nWyJceDZlXDE0NVx4NzhceDc0Il0sICJcMTQzXHg2MVwxNTRceDZjXHg2MlwxNDFcMTQzXHg2Ylx4NWZcMTQ0XDE0MVx4NzRceDYxIiwgIlx4MmZceDYxXHg2NFwxNDRceDVmXHg2M1wxNTdceDc1XHg2ZVwxNjRcMTYyXDE3MVx4N2MiIC4gKCRpbmRleCArIDIwKSk7ICRyZXBseS0+YWRkKCRvcHRpb25zKTsgJG9wdGlvbnMtPmNsZWFyKCk7IH0gZWxzZSB7IGlmIChjb3VudCgkZGF0YSkgPT09IDMpIHsgaWYgKGluX2FycmF5KCRkYXRhWzJdLCAkc2VydmVyWyJceDYzXHg2ZlwxNjVcMTU2XDE2NFx4NzJceDY5XHg2NVwxNjMiXSkpIHsgJG1zZyA9ICRsYW5nWyJcMTYzXDE0NVx4NzRcMTM3XDE0M1x4NmZceDc1XDE1Nlx4NzRceDcyXHg3OVwxMzdcMTQ1XHg3OFx4NjlceDc0XDE2MyJdOyAkc2VydmVyWyJceDY0XHg2MVx4NzRcMTQxIl0gPSAnJzsgfSBlbHNlIHsgJGNvdW50ID0gJGFwaS0+Z2V0QXZhaWxhYmxlKCRkYXRhWzJdKTsgaWYgKCEkY291bnQpIHsgJGNvdW50ID0gIlx4ZDhceGJhXHhkOVwyMTJceGQ4XDI2MVx4MjBcMzMxXDIwNVx4ZDhcMjcxXHhkOFx4YjFcMzMxXHg4OFwzMzFceDgxIjsgfSAkYXBwcyA9ICRhcGktPmdldEFwcHMoKTsgJGFwcCA9ICJceGQ4XDI3Mlx4ZDlcMjEyXDMzMFx4YjFceDIwXDMzMVwyMDVcMzMwXHhhZFwzMzBceGFmXDMzMFwyNTciOyBmb3JlYWNoICgkYXBwcyBhcyAka2V5ID0+ICR2YWx1ZSkgeyBpZiAoaW5fYXJyYXkoJHNlcnZlclsiXDE0MVwxNjBceDcwIl0sIGV4cGxvZGUoIlx4M2EiLCAkdmFsdWUpKSkgeyAkYXBwID0gJGtleSAuICJceDIwXDEzMyIgLiAkc2VydmVyWyJceDYxXHg3MFwxNjAiXSAuICJceDVkXDQwIjsgfSB9ICRtc2cgPSBzdHJfcmVwbGFjZShhcnJheSgiXHg1Zlx4NWZcMTQzXDE1N1wxNjVceDZlXDE2NFx4NzJceDc5XDEzN1wxMzciLCAiXHg1ZlwxMzdceDYzXDE1N1x4NzVceDZlXHg3NFwxMzdceDVmIiwgIlwxMzdceDVmXDE0MVx4NzBceDcwXDEzN1wxMzciKSwgYXJyYXkoJGFwaS0+Y291bnRyaWVzWyRkYXRhWzJdXSwgJGNvdW50LCAkYXBwKSwgJGxhbmdbIlwxNTNcMTU2XHg2Zlx4NzdcMTU2XDEzN1wxNTZcMTY1XHg2ZFwxNDJceDY1XDE2Mlx4NzMiXSk7ICRvcHRpb25zLT5hZGQoJGxhbmdbIlwxNDFceDY0XHg2NCJdLCAiXHg2M1wxNDFcMTU0XHg2Y1x4NjJceDYxXHg2M1x4NmJceDVmXDE0NFx4NjFcMTY0XDE0MSIsICRtZXNzYWdlIC4gIlwxNzRceDYxXHg2NFx4NjQiKTsgJHJlcGx5LT5hZGQoJG9wdGlvbnMpOyAkb3B0aW9ucy0+Y2xlYXIoKTsgfSB9IGVsc2UgeyBpZiAoY291bnQoJGRhdGEpID09PSA0KSB7ICRtc2cgPSAkbGFuZ1siXDE2M1x4NjVcMTY0XDEzN1wxNDNcMTU3XDE2NVwxNTZcMTY0XDE2MlwxNzFcMTM3XDE0NFx4NmZcMTU2XHg2NSJdOyBhcnJheV9wdXNoKCRzZXJ2ZXJbIlx4NjNceDZmXHg3NVx4NmVcMTY0XDE2Mlx4NjlceDY1XHg3MyJdLCBzdHJ2YWwoJGRhdGFbMl0pKTsgJHNlcnZlclsiXHg2NFx4NjFceDc0XHg2MSJdID0gJyc7ICRvcHRpb25zLT5hZGQoJGxhbmdbIlx4NjFceDY0XDE0NFwxMzdcMTQzXDE1N1x4NzVceDZlXHg3NFx4NzJceDc5Il0sICJceDYzXHg2MVwxNTRcMTU0XHg2Mlx4NjFcMTQzXDE1M1x4NWZceDY0XHg2MVx4NzRcMTQxIiwgIlx4MmZcMTQxXDE0NFx4NjRceDVmXHg2M1x4NmZcMTY1XDE1Nlx4NzRceDcyXDE3MVx4N2NcNjAiKTsgJHJlcGx5LT5hZGQoJG9wdGlvbnMpOyAkb3B0aW9ucy0+Y2xlYXIoKTsgfSB9IH0gfSBzYXZlKCJceDY0XHg2MVx4NzRceDYxXHgyZlwxNjNceDY1XHg3Mlx4NzZcMTQ1XHg3Mlx4MmVcMTUyXHg3M1wxNTdceDZlIiwganNvbl9lbmNvZGUoJHNlcnZlcikpOyAkb3B0aW9ucy0+YWRkKCRsYW5nWyJcMTQyXDE0MVx4NjNcMTUzIl0sICJceDYzXHg2MVwxNTRcMTU0XDE0Mlx4NjFceDYzXDE1M1wxMzdceDY0XDE0MVwxNjRcMTQxIiwgIlx4MmZceDczXHg3NFwxNDFcMTYyXHg3NCIpOyAkcmVwbHktPmFkZCgkb3B0aW9ucyk7ICRvcHRpb25zLT5jbGVhcigpOyAkdGVsZS0+ZWRpdE1lc3NhZ2VUZXh0KCRjaGF0SWQsICRtZXNzYWdlX2lkLCAkbXNnLCAkcmVwbHkpOyB9IGdvdG8gSWxvSWg7IGw1amFKOiBydUVEODogZ290byB1M2lQbDsgWW9iZWY6IGdvdG8gZGtYYk87IGdvdG8geDlCRUk7IFhBZnZlOiBpZiAoc3RycG9zKCRtZXNzYWdlLCAiXDU3XDE2M1wxNTVceDczIikgPT09IDApIHsgJGRhdGEgPSBleHBsb2RlKCJcMTc0IiwgJG1lc3NhZ2UpOyBpZiAoY291bnQoJGRhdGEpID09PSA0KSB7ICRjb2RlID0gJGFwaS0+Z2V0Q29kZSgkZGF0YVsyXSk7IGlmICgkY29kZSAhPSBudWxsKSB7ICRzdGF0dXMgPSAkbGFuZ1siXDE0M1x4NmZcMTQ0XHg2NVwxMzdceDY0XDE1N1x4NmVcMTQ1Il07IH0gZWxzZSB7ICRzdGF0dXMgPSAkbGFuZ1siXDE0M1x4NmZceDY0XHg2NVwxMzdcMTY3XHg2MVwxNTFceDc0Il07ICRjb2RlID0gIlw2MFx4MzBcNjBcNjBceDMwXDYwIjsgfSAkYXBwcyA9ICRhcGktPmdldEFwcHMoKTsgJGFwcCA9ICJcMzMwXHhiYVwzMzFceDhhXHhkOFwyNjFceDIwXDMzMVx4ODVcMzMwXDI1NVwzMzBceGFmXDMzMFwyNTciOyBmb3JlYWNoICgkYXBwcyBhcyAka2V5ID0+ICR2YWx1ZSkgeyBpZiAoaW5fYXJyYXkoJHNlcnZlclsiXDE0MVwxNjBceDcwIl0sIGV4cGxvZGUoIlw3MiIsICR2YWx1ZSkpKSB7ICRhcHAgPSAka2V5IC4gIlx4MjBceDViIiAuICRzZXJ2ZXJbIlx4NjFceDcwXDE2MCJdIC4gIlx4NWRcNDAiOyAkYXBwX2tleSA9ICRrZXk7IH0gfSAkbXNnID0gc3RyX3JlcGxhY2UoYXJyYXkoIlwxMzdceDVmXHg3M1wxNTFceDc0XHg2NVwxMzdcMTM3IiwgIlx4NWZceDVmXHg2ZVx4NzVcMTU1XHg2MlwxNDVcMTYyXHg1ZlwxMzciLCAiXDEzN1wxMzdcMTQzXHg2ZlwxNjVcMTU2XHg3NFwxNjJceDc5XHg1Zlx4NWYiLCAiXHg1Zlx4NWZceDYxXHg3MFwxNjBcMTM3XDEzNyIsICJceDVmXDEzN1x4NjNceDZmXHg2NFx4NjVceDVmXDEzNyIsICJcMTM3XHg1ZlwxNjNceDc0XDE0MVwxNjRceDc1XDE2M1x4NWZcMTM3IiksIGFycmF5KCRzZXJ2ZXJbIlx4NzNceDY5XDE2NFwxNDUiXSwgJGRhdGFbMV0sICRhcGktPmNvdW50cmllc1skZGF0YVszXV0sICRhcHAsICRjb2RlLCAkc3RhdHVzKSwgJGxhbmdbIlx4NjhceDc1XDE1Nlx4NzRcMTM3XHg2ZFwxNjNceDY3Il0pOyBpZiAoJGFwcF9rZXkgPT0gIlwxNjdcMTUwXHg2MVwxNjRcMTYzXHg2MVx4NzBcMTYwIikgeyAkb3B0aW9ucy0+YWRkKCRsYW5nWyRhcHBfa2V5XSwgIlx4NzVceDcyXDE1NCIsICJceDY4XDE2NFx4NzRceDcwXDE2M1x4M2FcNTdcNTdceDc3XHg2MVw1NlwxNTVceDY1XHgyZiIgLiAkZGF0YVsxXSk7IH0gZWxzZSB7IGlmICgkYXBwX2tleSA9PSAiXHg3NFwxNDVcMTU0XDE0NVwxNDdceDcyXDE0MVx4NmQiKSB7ICRvcHRpb25zLT5hZGQoJGxhbmdbJGFwcF9rZXldLCAiXDE2NVwxNjJcMTU0IiwgIlwxNTBcMTY0XDE2NFx4NzBcMTYzXDcyXHgyZlx4MmZcMTY0XHgyZVwxNTVceDY1XHgyZiIgLiAkZGF0YVsxXSk7IH0gfSAkcmVwbHktPmFkZCgkb3B0aW9ucyk7ICRvcHRpb25zLT5jbGVhcigpOyBpZiAoJGNvZGUgPT0gIlx4MzBcNjBceDMwXDYwXDYwXDYwIikgeyAkb3B0aW9ucy0+YWRkKCRsYW5nWyJceDc1XHg3MFx4NjRcMTQxXHg3NFwxNDUiXSwgIlwxNDNceDYxXHg2Y1x4NmNceDYyXDE0MVwxNDNceDZiXHg1ZlwxNDRceDYxXHg3NFx4NjEiLCAiXDU3XDE2M1wxNTVceDczXDE3NCIgLiAkZGF0YVsxXSAuICJcMTc0IiAuICRkYXRhWzJdIC4gIlwxNzQiIC4gJGRhdGFbM10pOyAkb3B0aW9ucy0+YWRkKCRsYW5nWyJcMTQyXDE0MVwxNTYiXSwgIlwxNDNcMTQxXHg2Y1wxNTRceDYyXHg2MVwxNDNcMTUzXHg1ZlwxNDRcMTQxXDE2NFwxNDEiLCAiXDU3XDE0Mlx4NjFceDZlXHg3YyIgLiAkZGF0YVsxXSAuICJcMTc0IiAuICRkYXRhWzJdIC4gIlwxNzQiIC4gJGRhdGFbM10pOyAkcmVwbHktPmFkZCgkb3B0aW9ucyk7ICRvcHRpb25zLT5jbGVhcigpOyB9ICR0ZWxlLT5lZGl0TWVzc2FnZVRleHQoJGNoYXRJZCwgJG1lc3NhZ2VfaWQsICRtc2csICRyZXBseSk7ICR0ZWxlLT5BbnN3ZXJDYWxsYmFja1F1ZXJ5KCRjYWxsYmFja191cGRhdGVbIlwxNTFcMTQ0Il0sICRsYW5nWyJcMTY1XDE2MFx4NjRcMTQxXHg3NFx4NjVceDVmXDE2M1x4NmRcMTYzXHg1Zlx4NjRcMTU3XHg2ZVx4NjUiXSwgdHJ1ZSk7IH0gfSBnb3RvIEhiUmRTOyBSdGhHSDogaWYgKHN0cnBvcygkbWVzc2FnZSwgIlw1N1x4NzNcMTY0XHg2MVwxNjJcMTY0IikgPT09IDApIHsgJG9wdGlvbnMtPmFkZCgkbGFuZ1siXHg2ZFx4NjFcMTU2XHg3NVx4NjFcMTU0XHg1Zlx4NjhcMTY1XHg2ZVx4NzQiXSwgIlwxNDNcMTQxXDE1NFwxNTRcMTQyXHg2MVx4NjNcMTUzXHg1Zlx4NjRcMTQxXDE2NFwxNDEiLCAiXDU3XHg2ZFx4NjFcMTU2XHg3NVwxNDFcMTU0XHg1ZlwxNTBcMTY1XDE1NlwxNjQiKTsgJHJlcGx5LT5hZGQoJG9wdGlvbnMpOyAkb3B0aW9ucy0+Y2xlYXIoKTsgJG9wdGlvbnMtPmFkZCgkbGFuZ1siXHg3M1wxNDVceDc0XHg1ZlwxNjNcMTUxXDE2NFwxNDUiXSwgIlwxNDNceDYxXHg2Y1x4NmNcMTQyXHg2MVx4NjNcMTUzXHg1Zlx4NjRceDYxXHg3NFx4NjEiLCAiXHgyZlx4NzNceDY1XDE2NFx4NWZcMTYzXDE1MVwxNjRcMTQ1Iik7ICRvcHRpb25zLT5hZGQoJGxhbmdbIlwxNjNceDY1XHg3NFwxMzdceDYxXHg3MFx4NzAiXSwgIlwxNDNceDYxXHg2Y1x4NmNcMTQyXDE0MVwxNDNceDZiXHg1Zlx4NjRceDYxXDE2NFx4NjEiLCAiXHgyZlx4NzNceDY1XDE2NFwxMzdceDYxXHg3MFwxNjAiKTsgJHJlcGx5LT5hZGQoJG9wdGlvbnMpOyAkb3B0aW9ucy0+Y2xlYXIoKTsgJG9wdGlvbnMtPmFkZCgkbGFuZ1siXDE0MVwxNDRcMTQ0XHg1ZlwxNDNceDZmXHg3NVx4NmVceDc0XDE2MlwxNzEiXSwgIlx4NjNceDYxXHg2Y1x4NmNceDYyXHg2MVwxNDNceDZiXHg1Zlx4NjRcMTQxXHg3NFwxNDEiLCAiXDU3XHg2MVwxNDRceDY0XHg1ZlwxNDNcMTU3XHg3NVx4NmVceDc0XDE2MlwxNzFcMTc0XDYwIik7ICRvcHRpb25zLT5hZGQoJGxhbmdbIlx4NjFcMTQ0XHg2NFx4NjVceDY0XDEzN1wxNDNceDZmXDE2NVx4NmVceDc0XHg3MlwxNTFceDY1XDE2MyJdLCAiXDE0M1x4NjFceDZjXDE1NFwxNDJcMTQxXDE0M1x4NmJcMTM3XHg2NFx4NjFcMTY0XHg2MSIsICJceDJmXDE0MVwxNDRceDY0XDE0NVx4NjRcMTM3XDE0M1wxNTdceDc1XDE1NlwxNjRceDcyXDE1MVwxNDVcMTYzXDE3NFx4MzAiKTsgJHJlcGx5LT5hZGQoJG9wdGlvbnMpOyAkb3B0aW9ucy0+Y2xlYXIoKTsgJG9wdGlvbnMtPmFkZCgkbGFuZ1siXDE2Mlx4NzVcMTU2XHg1ZlwxNTBceDc1XHg2ZVwxNjQiXSwgIlwxNDNceDYxXHg2Y1x4NmNceDYyXHg2MVx4NjNcMTUzXDEzN1x4NjRcMTQxXDE2NFx4NjEiLCAiXHgyZlx4NzdcMTU3XDE2MlwxNTMiKTsgJG9wdGlvbnMtPmFkZCgkbGFuZ1siXDE2M1wxNjRceDZmXDE2MFwxMzdceDY4XHg3NVwxNTZcMTY0Il0sICJcMTQzXDE0MVwxNTRcMTU0XHg2Mlx4NjFcMTQzXDE1M1wxMzdceDY0XHg2MVx4NzRcMTQxIiwgIlx4MmZcMTYzXHg3NFwxNTdcMTYwIik7ICRyZXBseS0+YWRkKCRvcHRpb25zKTsgJG9wdGlvbnMtPmNsZWFyKCk7ICRvcHRpb25zLT5hZGQoJGxhbmdbIlwxNDRcMTQ1XHg3Nlx4NWZceDczXDE2NVx4NzBceDcwXDE1N1x4NzJcMTY0Il0sICJceDc1XHg3MlwxNTQiLCAiXDE1MFwxNjRceDc0XDE2MFx4NzNceDNhXDU3XHgyZlwxNjRceDJlXDE1NVx4NjVcNTdcMTAxXHg1Zlw2NVwxMzdceDM1XDEzN1wxMDIiKTsgJHJlcGx5LT5hZGQoJG9wdGlvbnMpOyAkb3B0aW9ucy0+Y2xlYXIoKTsgaWYgKCRzZXJ2ZXJbIlx4NjhcMTY1XHg2ZVwxNjQiXSkgeyAkaHVudCA9ICJceGQ5XHg4YVwzMzFceDgwXDMzMFx4YjlceGQ5XDIwMFx4ZDlceDg1XHhkOVx4ODBcMzMxXDIwNFw0MFwzNDJcMjM0XDIwNVwzNTdceGI4XHg4ZiI7IH0gZWxzZSB7ICRodW50ID0gIlwzMzFceDg0XHhkOFx4YTdceDIwXDMzMVwyMTJceGQ5XDIwMFwzMzBceGI5XHhkOVwyMDBcMzMxXHg4NVwzMzFcMjAwXDMzMVwyMDRcNDBcMzQyXDIzNVx4OTdceGVmXDI3MFx4OGYiOyB9ICRhcHBzID0gJGFwaS0+Z2V0QXBwcygpOyAkYXBwID0gIlx4ZDhcMjcyXDMzMVx4OGFceGQ4XHhiMVw0MFwzMzFcMjA1XHhkOFwyNTVcMzMwXHhhZlwzMzBceGFmIjsgZm9yZWFjaCAoJGFwcHMgYXMgJGtleSA9PiAkdmFsdWUpIHsgaWYgKGluX2FycmF5KCRzZXJ2ZXJbIlx4NjFcMTYwXDE2MCJdLCBleHBsb2RlKCJceDNhIiwgJHZhbHVlKSkpIHsgJGFwcCA9ICRrZXkgLiAiXHgyMFwxMzMiIC4gJHNlcnZlclsiXHg2MVwxNjBcMTYwIl0gLiAiXDEzNVw0MCI7IH0gfSAkYmFsYW5jZSA9ICRhcGktPmdldEJhbGFuY2UoKTsgaWYgKCRiYWxhbmNlID09IG51bGwpIHsgJGJhbGFuY2UgPSAkbGFuZ1siXHg2MVx4NzBceDY5XDEzN1x4NzdcMTYyXHg2Zlx4NmVceDY3Il07IH0gJG1zZyA9IHN0cl9yZXBsYWNlKGFycmF5KCJceDVmXHg1Zlx4NzNceDY5XHg3NFx4NjVceDVmXHg1ZiIsICJceDVmXDEzN1x4NjJceDYxXDE1NFx4NjFcMTU2XHg2M1x4NjVcMTM3XDEzNyIsICJceDVmXDEzN1wxNTBcMTY1XDE1NlwxNjRcMTM3XDEzNyIsICJcMTM3XHg1ZlwxNDFcMTYwXDE2MFx4NWZceDVmIiwgIlx4NWZceDVmXDE2M1wxNjBcMTQ1XHg2NVx4NjRcMTM3XDEzNyIpLCBhcnJheSgkc2VydmVyWyJcMTYzXDE1MVwxNjRcMTQ1Il0sICRiYWxhbmNlLCAkaHVudCwgJGFwcCwgJHNlcnZlclsiXHg2OFwxNjVceDZlXHg3NFwxMzdcMTYzXDE2MFwxNDVceDY1XDE0NCJdKSwgJGxhbmdbIlx4NzdcMTQ1XHg2Y1x4NjNceDZmXHg2ZFx4NjUiXSk7IGlmIChpc3NldCgkdXBkYXRlWyJceDYzXDE0MVwxNTRceDZjXHg2Mlx4NjFcMTQzXHg2YlwxMzdceDcxXHg3NVwxNDVceDcyXDE3MSJdKSkgeyAkdGVsZS0+ZWRpdE1lc3NhZ2VUZXh0KCRjaGF0SWQsICRtZXNzYWdlX2lkLCAkbXNnLCAkcmVwbHkpOyB9IGVsc2UgeyAkdGVsZS0+c2VuZE1lc3NhZ2UoJGNoYXRJZCwgJG1zZywgJHJlcGx5KTsgfSBpZiAoJHNlcnZlclsiXHg2NFwxNDFcMTY0XHg2MSJdKSB7ICRzZXJ2ZXJbIlx4NjRceDYxXHg3NFwxNDEiXSA9ICcnOyBzYXZlKCJcMTQ0XDE0MVwxNjRceDYxXDU3XHg3M1x4NjVcMTYyXHg3NlwxNDVcMTYyXDU2XDE1Mlx4NzNcMTU3XHg2ZSIsIGpzb25fZW5jb2RlKCRzZXJ2ZXIpKTsgfSB9IGdvdG8gUl9RUTY7IFVRWEpxOiBpZiAoIWlzc2V0KCR1cGRhdGVbIlwxNDNcMTQxXHg2Y1x4NmNceDYyXDE0MVwxNDNceDZiXDEzN1wxNjFcMTY1XDE0NVx4NzJcMTcxIl0pKSB7ICRjaGF0SWQgPSAkdXBkYXRlWyJcMTU1XHg2NVwxNjNcMTYzXDE0MVx4NjdceDY1Il1bIlwxNDNceDY4XDE0MVx4NzQiXVsiXDE1MVx4NjQiXTsgJGNoYXRUeXBlID0gJHVwZGF0ZVsiXDE1NVwxNDVceDczXDE2M1wxNDFceDY3XDE0NSJdWyJcMTQzXDE1MFwxNDFcMTY0Il1bIlwxNjRceDc5XDE2MFwxNDUiXTsgJHVzZXJJZCA9ICR1cGRhdGVbIlwxNTVceDY1XHg3M1wxNjNcMTQxXHg2N1wxNDUiXVsiXHg2Nlx4NzJcMTU3XHg2ZCJdWyJceDY5XHg2NCJdOyAkZmlyc3RuYW1lID0gJHVwZGF0ZVsiXDE1NVwxNDVcMTYzXHg3M1wxNDFcMTQ3XHg2NSJdWyJceDY2XDE2Mlx4NmZceDZkIl1bIlx4NjZceDY5XDE2Mlx4NzNceDc0XHg1ZlwxNTZcMTQxXHg2ZFwxNDUiXTsgJHVzZXJuYW1lID0gJHVwZGF0ZVsiXDE1NVwxNDVceDczXHg3M1x4NjFceDY3XDE0NSJdWyJceDY2XDE2MlwxNTdceDZkIl1bIlx4NzVceDczXDE0NVx4NzJceDZlXDE0MVx4NmRceDY1Il07ICRtZXNzYWdlID0gJHVwZGF0ZVsiXHg2ZFx4NjVceDczXHg3M1wxNDFcMTQ3XDE0NSJdWyJcMTY0XHg2NVwxNzBceDc0Il07ICRtZXNzYWdlX2lkID0gJHVwZGF0ZVsiXDE1NVwxNDVcMTYzXHg3M1x4NjFcMTQ3XHg2NSJdWyJcMTU1XHg2NVx4NzNceDczXHg2MVx4NjdceDY1XDEzN1wxNTFceDY0Il07ICRkYXRlID0gJHVwZGF0ZVsiXHg2ZFx4NjVcMTYzXHg3M1x4NjFcMTQ3XHg2NSJdWyJceDY0XHg2MVx4NzRcMTQ1Il0gLiAiXHgzMFw2MFx4MzBcNjAiOyB9IGVsc2UgeyAkY2FsbGJhY2tfdXBkYXRlID0gJHVwZGF0ZVsiXDE0M1x4NjFceDZjXHg2Y1wxNDJcMTQxXDE0M1x4NmJcMTM3XHg3MVwxNjVceDY1XHg3Mlx4NzkiXTsgJGNoYXRJZCA9ICRjYWxsYmFja191cGRhdGVbIlx4NmRcMTQ1XHg3M1x4NzNcMTQxXDE0N1x4NjUiXVsiXHg2M1x4NjhceDYxXDE2NCJdWyJceDY5XHg2NCJdOyAkY2hhdFR5cGUgPSAkY2FsbGJhY2tfdXBkYXRlWyJceDZkXHg2NVx4NzNceDczXHg2MVwxNDdceDY1Il1bIlx4NjNceDY4XDE0MVx4NzQiXVsiXDE2NFx4NzlcMTYwXDE0NSJdOyAkdXNlcklkID0gJGNhbGxiYWNrX3VwZGF0ZVsiXDE0Nlx4NzJcMTU3XDE1NSJdWyJcMTUxXDE0NCJdOyAkZmlyc3RuYW1lID0gJGNhbGxiYWNrX3VwZGF0ZVsiXDE0NlwxNjJceDZmXHg2ZCJdWyJceDY2XHg2OVwxNjJceDczXHg3NFwxMzdceDZlXHg2MVx4NmRceDY1Il07ICR1c2VybmFtZSA9ICRjYWxsYmFja191cGRhdGVbIlx4NjZceDcyXDE1N1x4NmQiXVsiXDE2NVwxNjNcMTQ1XHg3Mlx4NmVcMTQxXHg2ZFwxNDUiXTsgJG1lc3NhZ2UgPSAkY2FsbGJhY2tfdXBkYXRlWyJceDY0XDE0MVx4NzRcMTQxIl07ICRtZXNzYWdlX2lkID0gJGNhbGxiYWNrX3VwZGF0ZVsiXDE1NVwxNDVcMTYzXDE2M1wxNDFcMTQ3XHg2NSJdWyJcMTU1XDE0NVx4NzNcMTYzXHg2MVx4NjdcMTQ1XDEzN1x4NjlcMTQ0Il07ICRkYXRlID0gJGNhbGxiYWNrX3VwZGF0ZVsiXDE1NVwxNDVcMTYzXHg3M1x4NjFceDY3XHg2NSJdWyJcMTQzXDE1MFwxNDFceDc0Il1bIlx4NjRcMTQxXHg3NFx4NjUiXSAuICJceDMwXHgzMFx4MzBcNjAiOyB9IGdvdG8gVVRPMUE7IFlTWW0wOiBiVGNLYzogZ290byBWSkIzaTsgTk5TcnA6IGlmIChzdHJwb3MoJG1lc3NhZ2UsICJcNTdceDczXDE0NVx4NzRcMTM3XDE0MVwxNjBcMTYwIikgPT09IDApIHsgJHJlcGx5LT5jbGVhcigpOyAkb3B0aW9ucy0+Y2xlYXIoKTsgJG1zZyA9ICJcNTUiOyBpZiAoY291bnQoJGRhdGEpID09PSAwIG9yIGNvdW50KCRkYXRhKSA9PT0gMSkgeyAkbXNnID0gJGxhbmdbIlwxNDNceDY4XDE1N1wxNTdceDczXHg2NVwxMzdcMTQxXDE2MFwxNjAiXTsgJHNlcnZlclsiXDE0NFx4NjFceDc0XHg2MSJdID0gIlx4MmZcMTYzXDE0NVx4NzRceDVmXHg2MVx4NzBcMTYwIjsgJGFwcHMgPSAkYXBpLT5nZXRBcHBzKCk7IGZvcmVhY2ggKCRhcHBzIGFzICRrZXkgPT4gJHZhbHVlKSB7ICRvcHRpb25zLT5hZGQoJGxhbmdbJGtleV0sICJceDYzXHg2MVwxNTRceDZjXHg2MlwxNDFceDYzXHg2Ylx4NWZceDY0XDE0MVx4NzRceDYxIiwgJHZhbHVlKTsgaWYgKGNvdW50KCRvcHRpb25zLT5nZXQoKSkgPj0gMikgeyAkcmVwbHktPmFkZCgkb3B0aW9ucyk7ICRvcHRpb25zLT5jbGVhcigpOyB9IH0gaWYgKCRvcHRpb25zLT5nZXQoKSkgeyAkcmVwbHktPmFkZCgkb3B0aW9ucyk7ICRvcHRpb25zLT5jbGVhcigpOyB9IH0gZWxzZSB7IGlmIChjb3VudCgkZGF0YSkgPT09IDIpIHsgJGQgPSBleHBsb2RlKCJceDNhIiwgJGRhdGFbMV0pOyBpZiAoY291bnQoJGQpID4gMSkgeyAkc2VydmVyWyJceDY0XDE0MVx4NzRcMTQxIl0gPSAkbWVzc2FnZTsgJG1zZyA9ICRsYW5nWyJceDYzXHg2OFx4NmZcMTU3XHg3M1x4NjVcMTM3XDE0MVx4NzBceDcwXHg1ZlwxNjNcMTQ1XDE2Mlx4NzZcMTQ1XHg3MiJdOyBmb3JlYWNoICgkZCBhcyAka2V5KSB7ICRvcHRpb25zLT5hZGQoIlw1NVx4MjAiIC4gJGxhbmdbIlwxNjNcMTQ1XHg3MlwxNjZcMTQ1XDE2MiJdIC4gIlx4MjBceDViIiAuICRrZXkgLiAiXHg1ZFw0MFw1NiIsICJceDYzXDE0MVwxNTRcMTU0XHg2Mlx4NjFceDYzXDE1M1x4NWZcMTQ0XHg2MVwxNjRceDYxIiwgJGtleSk7IGlmIChjb3VudCgkb3B0aW9ucy0+Z2V0KCkpID49IDIpIHsgJHJlcGx5LT5hZGQoJG9wdGlvbnMpOyAkb3B0aW9ucy0+Y2xlYXIoKTsgfSB9IGlmICgkb3B0aW9ucy0+Z2V0KCkpIHsgJHJlcGx5LT5hZGQoJG9wdGlvbnMpOyAkb3B0aW9ucy0+Y2xlYXIoKTsgfSB9IGVsc2UgeyAkbXNnID0gJGxhbmdbIlwxNjNceDY1XHg3NFx4NWZceDYxXHg3MFwxNjBcMTM3XHg2NFx4NmZceDZlXHg2NSJdOyAkc2VydmVyWyJceDY0XDE0MVx4NzRceDYxIl0gPSAnJzsgJHNlcnZlclsiXHg2MVx4NzBceDcwIl0gPSAkZGF0YVsxXTsgfSB9IGVsc2UgeyBpZiAoY291bnQoJGRhdGEpID09PSAzKSB7ICRtc2cgPSAkbGFuZ1siXDE2M1wxNDVceDc0XHg1ZlwxNDFceDcwXHg3MFx4NWZcMTQ0XHg2ZlwxNTZcMTQ1Il07ICRzZXJ2ZXJbIlx4NjRcMTQxXHg3NFx4NjEiXSA9ICcnOyAkc2VydmVyWyJceDYxXHg3MFwxNjAiXSA9ICRkYXRhWzJdOyBpZiAoISRzZXJ2ZXJbIlx4NjNcMTU3XHg3NVwxNTZceDc0XDE2Mlx4NjlceDY1XDE2MyJdKSB7ICRzZXJ2ZXJbIlx4NjNceDZmXHg3NVx4NmVcMTY0XHg3Mlx4NjlcMTQ1XHg3MyJdID0gYXJyYXkoKTsgfSB9IH0gfSBzYXZlKCJcMTQ0XHg2MVwxNjRcMTQxXDU3XDE2M1x4NjVcMTYyXDE2NlwxNDVcMTYyXDU2XDE1MlwxNjNcMTU3XHg2ZSIsIGpzb25fZW5jb2RlKCRzZXJ2ZXIpKTsgJG9wdGlvbnMtPmFkZCgkbGFuZ1siXDE0Mlx4NjFcMTQzXDE1MyJdLCAiXDE0M1x4NjFceDZjXDE1NFx4NjJcMTQxXHg2M1wxNTNcMTM3XHg2NFx4NjFceDc0XHg2MSIsICJcNTdceDczXDE2NFx4NjFceDcyXDE2NCIpOyAkcmVwbHktPmFkZCgkb3B0aW9ucyk7ICRvcHRpb25zLT5jbGVhcigpOyBpZiAoISR0ZWxlLT5lZGl0TWVzc2FnZVRleHQoJGNoYXRJZCwgJG1lc3NhZ2VfaWQsICRtc2csICRyZXBseSlbIlx4NmZceDZiIl0pIHsgJHRlbGUtPnNlbmRNZXNzYWdlKCRjaGF0SWQsICRtc2csICRyZXBseSk7IH0gfSBnb3RvIG9ON3FCOyBrMFhXXzogZ290byBJVTFJSjsgZ290byBTdlB0ajsgVzlKdjY6IGdvdG8gWEtjMEM7IGdvdG8gWmk5UjA7IEFXNXV6OiBnb3RvIG5TQXZkOyBnb3RvIFRwem9nOyBRaXVFaDogZ290byBkSmd4MTsgZ290byBpekw0VDsgU3ZQdGo6IFoxOVhUOiBnb3RvIExjYjZkOyBnejNRNTogYVg0bTQ6IGdvdG8gWEFmdmU7IHI2VTZDOiA=')); ?>
Function Calls
base64_decode | 1 |
Stats
MD5 | 489799ac0c23e1019ff33a19d5e6271e |
Eval Count | 1 |
Decode Time | 86 ms |