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('CiBnb3RvIGk4d1hZOyBRdHRXQTogJGRiX2hvc3QgPSAiXHg2Y1x4NmZcMTQzXHg2..
Decoded Output download
goto i8wXY; QttWA: $db_host = "\x6c\x6f\143\x61\x6c\150\157\x73\164"; goto eiN58; WGKsn: function removeAfterBracket($text) { $position = strpos($text, "\x5d"); if ($position !== false) { $text = substr($text, 0, $position); } return $text; } goto bUEYP; eiN58: $db_user = "\163\164\x61\x79\x71\155\161\x62\x5f\163\164\x61\x79\x68\157\155\x65\x75\x73"; goto LGrn1; WfgQD: function deleteUser($telegram_id, $chat_id) { global $db_host, $db_user, $db_pass, $db_name; $conn = new mysqli($db_host, $db_user, $db_pass, $db_name); if ($conn->connect_error) { sendMessage($chat_id, "\104\x61\164\x61\142\141\x73\x65\40\x63\x6f\156\156\x65\143\x74\x69\x6f\x6e\40\146\141\151\154\x65\144\x2e\40\120\154\145\x61\x73\x65\40\x63\x68\145\143\153\x20\164\150\x65\40\163\145\162\166\x65\x72\x2e"); logProcess($chat_id, $chat_id, "\57\144\x65\x6c\x65\164\x65", "\x44\x61\x74\141\142\141\163\145\40\143\x6f\x6e\x6e\145\143\164\151\157\x6e\40\146\141\x69\154\145\x64\x2e"); return; } $stmt = $conn->prepare("\104\x45\x4c\105\124\x45\40\106\122\117\115\x20\x61\x75\x74\150\x6f\x72\x69\x7a\x65\x64\x5f\x75\x73\x65\x72\163\x20\x57\x48\x45\122\105\40\165\x73\x65\162\x5f\151\144\x20\x3d\x20\x3f"); $stmt->bind_param("\163", $telegram_id); if ($stmt->execute() && $stmt->affected_rows > 0) { sendMessage($chat_id, "\x55\x73\x65\162\x20{$telegram_id}\40\x64\145\154\145\x74\x65\144\x20\x73\165\143\143\x65\163\x73\x66\165\x6c\154\171\56"); logProcess($chat_id, $chat_id, "\x2f\x64\145\154\145\164\x65", "\125\163\x65\x72\x20\144\x65\x6c\145\164\145\x64\72\40{$telegram_id}"); } else { sendMessage($chat_id, "\125\x73\x65\x72\40{$telegram_id}\40\156\157\164\40\146\157\165\156\144\x20\x6f\x72\40\144\145\154\145\x74\x69\157\156\40\x66\x61\151\154\x65\144\56"); logProcess($chat_id, $chat_id, "\57\x64\145\154\145\164\x65", "\106\141\151\x6c\145\144\40\164\x6f\x20\144\145\x6c\x65\164\145\40\x75\x73\x65\162\x3a\x20{$telegram_id}"); } $stmt->close(); $conn->close(); } goto ETxiU; ETxiU: function getUserRole($user_id) { global $db_host, $db_user, $db_pass, $db_name; $conn = new mysqli($db_host, $db_user, $db_pass, $db_name); if ($conn->connect_error) { return null; } $stmt = $conn->prepare("\123\105\114\x45\103\x54\40\162\x6f\154\x65\40\106\x52\x4f\115\x20\x61\165\164\150\x6f\x72\x69\x7a\x65\x64\x5f\x75\163\x65\x72\163\x20\x57\x48\105\x52\x45\40\165\163\x65\162\x5f\151\144\40\75\x20\77"); $stmt->bind_param("\x73", $user_id); $stmt->execute(); $stmt->bind_result($role); $stmt->fetch(); $stmt->close(); $conn->close(); return $role; } goto HMNRy; lgIgw: $update = json_decode($content, true); goto bMk1i; pgp0G: function logProcess($user_id, $chat_id, $command, $log_details = '') { global $db_host, $db_user, $db_pass, $db_name; $conn = new mysqli($db_host, $db_user, $db_pass, $db_name); if ($conn->connect_error) { sendMessage($chat_id, "\x4c\157\147\x67\x69\156\x67\x20\x66\141\151\x6c\145\x64\x2e\40\x50\x6c\x65\x61\163\x65\x20\143\150\x65\x63\153\40\164\x68\145\40\x73\145\x72\x76\145\x72\56"); return; } $stmt = $conn->prepare("\x49\x4e\123\105\122\124\40\111\x4e\124\x4f\x20\x62\x6f\164\137\154\157\147\x73\x20\x28\x75\x73\145\x72\x5f\151\x64\54\40\143\150\141\x74\x5f\151\144\54\40\143\157\x6d\x6d\x61\x6e\144\x2c\x20\x6c\x6f\147\137\x64\145\164\x61\151\x6c\x73\51\x20\x56\x41\x4c\x55\105\x53\x20\x28\x3f\x2c\x20\77\x2c\x20\x3f\54\40\77\51"); $stmt->bind_param("\x73\x73\163\x73", $user_id, $chat_id, $command, $log_details); $stmt->execute(); $stmt->close(); $conn->close(); } goto BugSU; bMk1i: error_log(json_encode($update)); goto McG2X; EcPS1: $db_name = "\163\164\141\171\x71\155\161\142\137\163\164\141\171\150\157\155\x65\144\142"; goto zMpZ2; HMNRy: function getUserDetails($telegram_id, $chat_id) { global $db_host, $db_user, $db_pass, $db_name; $conn = new mysqli($db_host, $db_user, $db_pass, $db_name); if ($conn->connect_error) { sendMessage($chat_id, "\104\x61\164\141\x62\x61\163\x65\40\x63\x6f\x6e\x6e\x65\143\164\151\157\x6e\x20\146\x61\151\154\145\144\x2e\x20\120\x6c\x65\x61\x73\x65\x20\143\150\x65\143\x6b\40\x74\x68\145\x20\163\x65\162\166\x65\162\x2e"); logProcess($chat_id, $chat_id, "\57\147\x65\x74", "\104\141\x74\x61\x62\x61\x73\x65\x20\x63\x6f\x6e\x6e\145\x63\x74\151\x6f\x6e\x20\146\141\x69\154\x65\x64\x2e"); return; } $stmt = $conn->prepare("\123\x45\x4c\x45\x43\124\x20\x73\x75\x62\x73\143\162\x69\160\x74\151\x6f\156\137\163\x74\x61\x72\x74\54\40\x73\165\142\163\143\162\x69\160\164\151\x6f\x6e\137\x65\x6e\144\40\x46\122\117\115\40\x61\165\164\150\157\x72\x69\172\145\144\x5f\x75\x73\145\162\x73\40\x57\x48\105\x52\x45\40\x75\x73\145\162\x5f\x69\x64\x20\75\40\x3f"); $stmt->bind_param("\163", $telegram_id); $stmt->execute(); $stmt->bind_result($subscription_start, $subscription_end); $stmt->fetch(); $stmt->close(); if ($subscription_start && $subscription_end) { $stmt = $conn->prepare("\123\x45\114\x45\x43\124\40\x43\x4f\x55\x4e\x54\50\52\x29\40\106\122\x4f\115\40\142\157\x74\137\x6c\157\x67\163\x20\127\110\x45\122\105\x20\165\163\x65\x72\137\x69\144\40\75\x20\x3f"); $stmt->bind_param("\163", $telegram_id); $stmt->execute(); $stmt->bind_result($log_count); $stmt->fetch(); $stmt->close(); sendMessage($chat_id, "\x55\x73\x65\x72\40{$telegram_id}\x3a\12\x53\x75\142\163\143\x72\x69\160\164\x69\x6f\156\40\x53\164\x61\x72\164\x3a\40{$subscription_start}\xa\x53\165\x62\163\143\x72\x69\x70\x74\151\x6f\x6e\40\105\x6e\144\x3a\x20{$subscription_end}\12\x4c\157\x67\x20\103\157\x75\156\164\72\x20{$log_count}"); logProcess($chat_id, $chat_id, "\x2f\147\145\164", "\x55\x73\x65\162\x20\x64\145\164\x61\x69\x6c\163\40\162\145\x74\162\151\x65\166\145\144\72\40{$telegram_id}"); } else { sendMessage($chat_id, "\x55\x73\x65\162\x20{$telegram_id}\40\x6e\157\x74\x20\146\x6f\165\156\x64\x2e"); logProcess($chat_id, $chat_id, "\57\x67\145\x74", "\125\163\x65\x72\40\x6e\x6f\164\x20\x66\x6f\165\156\x64\72\40{$telegram_id}"); } $conn->close(); } goto R7Thu; KCGD0: function addUser($telegram_id, $sub_period, $chat_id) { global $db_host, $db_user, $db_pass, $db_name; $subscription_start = date("\131\55\x6d\x2d\144"); $subscription_end = date("\x59\55\x6d\x2d\x64", strtotime("\53{$sub_period}\40\144\x61\171\x73")); $conn = new mysqli($db_host, $db_user, $db_pass, $db_name); if ($conn->connect_error) { sendMessage($chat_id, "\104\x61\164\x61\142\141\x73\x65\x20\x63\157\x6e\156\145\x63\x74\x69\x6f\156\40\x66\x61\x69\x6c\145\x64\x2e\40\120\154\x65\x61\x73\145\x20\x63\150\x65\x63\153\40\164\150\145\40\163\145\x72\166\x65\x72\56"); logProcess($chat_id, $chat_id, "\57\163\145\164", "\104\141\164\141\x62\x61\163\x65\40\143\157\156\x6e\145\143\x74\x69\157\156\40\146\x61\x69\x6c\145\144\x2e"); return; } $stmt = $conn->prepare("\x53\x45\x4c\x45\103\124\40\x43\117\125\116\x54\x28\52\51\40\x46\122\117\x4d\x20\141\x75\x74\150\157\162\x69\x7a\x65\x64\137\165\163\145\x72\163\40\x57\x48\x45\122\x45\x20\x75\x73\145\162\x5f\x69\x64\x20\75\x20\x3f"); $stmt->bind_param("\x73", $telegram_id); $stmt->execute(); $stmt->bind_result($user_count); $stmt->fetch(); $stmt->close(); if ($user_count > 0) { $stmt = $conn->prepare("\125\120\104\101\x54\x45\40\x61\165\x74\150\157\162\x69\172\x65\144\x5f\x75\x73\x65\162\163\40\123\105\x54\x20\x73\x75\142\163\143\x72\151\160\164\151\x6f\156\137\x73\x74\141\162\x74\x20\x3d\x20\77\54\40\x73\165\142\163\143\x72\151\x70\x74\151\157\156\x5f\145\x6e\x64\x20\x3d\x20\x3f\40\x57\x48\x45\122\x45\x20\x75\163\x65\162\137\x69\x64\x20\x3d\40\x3f"); $stmt->bind_param("\163\x73\x73", $subscription_start, $subscription_end, $telegram_id); if ($stmt->execute()) { sendMessage($chat_id, "\125\x73\x65\162\40{$telegram_id}\47\x73\40\x73\x75\x62\163\x63\162\151\160\164\x69\157\156\40\x75\x70\144\141\164\x65\144\x20\164\157\40{$sub_period}\x20\x64\x61\171\x73\x2e"); logProcess($chat_id, $chat_id, "\57\x73\x65\x74", "\125\163\145\162\x20\x73\165\142\163\143\162\151\160\x74\151\x6f\x6e\x20\x75\160\x64\x61\164\x65\x64\72\40{$telegram_id}\54\x20\123\165\x62\163\x63\x72\151\160\164\151\157\156\x3a\x20{$sub_period}\40\144\141\171\x73"); } else { sendMessage($chat_id, "\106\141\151\154\145\x64\40\164\x6f\40\x75\x70\x64\x61\164\145\40\165\163\145\x72\x20{$telegram_id}\47\x73\x20\163\165\x62\x73\143\x72\x69\x70\164\x69\x6f\156\56"); logProcess($chat_id, $chat_id, "\57\163\145\x74", "\106\x61\151\x6c\x65\x64\x20\x74\157\x20\165\x70\x64\x61\x74\145\40\165\x73\145\162\x20\163\x75\x62\163\x63\162\151\x70\164\151\157\156\x3a\40{$telegram_id}"); } } else { $stmt = $conn->prepare("\x49\x4e\123\x45\122\124\x20\x49\x4e\124\x4f\40\141\165\x74\150\157\162\151\172\145\x64\x5f\x75\163\x65\x72\163\x20\50\165\163\x65\162\137\151\x64\54\40\163\165\x62\163\x63\x72\x69\160\164\x69\x6f\x6e\x5f\x73\164\141\162\164\54\x20\x73\165\x62\163\x63\x72\x69\160\164\151\x6f\x6e\x5f\x65\156\x64\54\x20\x72\157\154\145\x29\40\x56\x41\114\125\105\123\40\50\77\x2c\40\x3f\x2c\x20\x3f\x2c\x20\47\165\x73\145\162\47\51"); $stmt->bind_param("\x73\163\x73", $telegram_id, $subscription_start, $subscription_end); if ($stmt->execute()) { sendMessage($chat_id, "\x55\163\x65\x72\40{$telegram_id}\x20\x61\x64\x64\145\144\40\163\165\143\x63\x65\163\163\146\x75\154\154\171\40\167\x69\x74\x68\40\141\40\x73\x75\x62\x73\143\162\151\160\x74\151\157\x6e\40\x70\145\162\x69\x6f\144\40\157\146\40{$sub_period}\40\x64\141\171\163\56"); logProcess($chat_id, $chat_id, "\57\163\x65\164", "\125\163\145\162\x20\x61\x64\x64\145\x64\x3a\x20{$telegram_id}\x2c\x20\x53\165\x62\163\x63\x72\151\x70\x74\x69\x6f\156\72\x20{$sub_period}\x20\x64\x61\x79\163"); } else { sendMessage($chat_id, "\x46\x61\x69\x6c\x65\144\x20\164\x6f\x20\141\144\x64\x20\165\163\145\x72\40{$telegram_id}\56"); logProcess($chat_id, $chat_id, "\57\x73\x65\164", "\106\x61\151\x6c\145\x64\x20\x74\x6f\40\x61\x64\144\x20\165\x73\145\162\x3a\x20{$telegram_id}"); } } $stmt->close(); $conn->close(); } goto WfgQD; hGuc2: $cpanel_pass = "\x44\165\117\x4a\x79\160\x79\63\x58\x53\x58\x4a"; goto RIGj1; zMpZ2: $last_command_time = array(); goto cN0uo; Gp1WA: $cpanel_user = "\x73\164\x61\x79\x71\155\x71\x62"; goto hGuc2; R7Thu: function isSubscriptionActive($user_id) { global $db_host, $db_user, $db_pass, $db_name; $conn = new mysqli($db_host, $db_user, $db_pass, $db_name); if ($conn->connect_error) { return false; } $stmt = $conn->prepare("\x53\x45\114\x45\103\124\x20\x73\x75\x62\x73\143\x72\151\160\164\x69\x6f\156\x5f\x65\x6e\144\40\x46\122\x4f\115\40\x61\x75\164\150\157\162\x69\172\145\144\x5f\165\163\145\x72\x73\x20\127\110\105\122\105\40\165\163\x65\162\x5f\x69\144\x20\x3d\x20\77"); $stmt->bind_param("\x73", $user_id); $stmt->execute(); $stmt->bind_result($subscription_end); $stmt->fetch(); $stmt->close(); $conn->close(); if ($subscription_end) { return strtotime($subscription_end) >= strtotime(date("\x59\x2d\155\x2d\144")); } return false; } goto WLZYG; mpmvP: $email_password = "\x56\x2e\103\x4c\x34\162\x6a\124\135\144\121\150"; goto QttWA; i8wXY: $bot_token = "\67\62\x38\71\x31\63\x38\65\64\x30\72\101\x41\x45\113\x52\127\67\71\102\145\x76\x73\110\106\x35\154\x6f\147\113\x4c\x4d\113\x77\x50\161\144\x6f\67\60\124\x54\105\60\x39\x38"; goto VtPrC; WLZYG: $content = file_get_contents("\x70\x68\x70\x3a\x2f\57\x69\156\160\165\164"); goto lgIgw; VtPrC: $api_url = "\150\164\x74\160\163\x3a\57\57\141\160\x69\x2e\164\x65\154\x65\x67\162\141\x6d\x2e\157\x72\147\57\142\157\164{$bot_token}\57"; goto Gp1WA; cSHkx: function emailExists($email_username) { global $cpanel_user, $cpanel_pass, $cpanel_domain, $cpanel_api_url; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "{$cpanel_api_url}\57\x6c\151\x73\164\x5f\x70\x6f\160\163\x3f\141\160\151\x2e\166\x65\x72\163\x69\157\156\x3d\x31\x26\144\x6f\x6d\141\151\156\75{$cpanel_domain}"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERPWD, "{$cpanel_user}\x3a{$cpanel_pass}"); $result = curl_exec($ch); curl_close($ch); $result_json = json_decode($result, true); if (isset($result_json["\144\x61\x74\141"]) && is_array($result_json["\x64\x61\164\x61"])) { foreach ($result_json["\x64\141\x74\x61"] as $email) { if ($email["\x65\x6d\x61\x69\154"] === "{$email_username}") { return true; } } } return false; } goto WGKsn; cISqE: $imap_host = "\x7b\160\x72\x65\x6d\151\165\155\61\60\63\x2e\x77\145\x62\55\x68\157\x73\164\x69\x6e\x67\x2e\143\157\x6d\x3a\71\71\x33\x2f\151\x6d\141\160\x2f\163\163\x6c\x7d\x49\x4e\x42\117\130"; goto mpmvP; UQgvF: $authorized_users = getAuthorizedUsers(); goto kaKtP; RIGj1: $cpanel_domain = "\x73\x74\x61\x79\150\157\x6d\145\x2e\155\x65"; goto Rq0xL; BugSU: function extractVerificationCode($url) { $html_content = file_get_contents($url); if ($html_content === FALSE) { return null; } $dom = new DOMDocument(); @$dom->loadHTML($html_content); $xpath = new DOMXPath($dom); $elements = $xpath->query("\57\x2f\144\x69\x76\x5b\100\x64\141\x74\x61\55\x75\x69\x61\x3d\47\164\x72\x61\166\x65\154\x2d\x76\x65\162\x69\x66\x69\143\x61\164\x69\157\156\x2d\x6f\164\x70\x27\40\141\x6e\x64\40\x63\x6f\156\x74\141\x69\x6e\163\x28\100\143\x6c\x61\163\163\54\40\x27\143\x68\141\x6c\x6c\145\x6e\x67\x65\55\143\x6f\144\145\47\51\x5d"); if ($elements->length > 0) { return trim($elements[0]->nodeValue); } return null; } goto cSHkx; LGrn1: $db_pass = "\135\124\155\x21\x25\144\105\x75\157\x67\110\111"; goto EcPS1; cN0uo: function sendMessage($chat_id, $message) { global $api_url; $url = $api_url . "\x73\145\156\144\x4d\145\163\x73\141\x67\x65\x3f\x63\x68\141\164\137\x69\x64\x3d{$chat_id}\x26\164\x65\170\164\x3d" . urlencode($message); file_get_contents($url); } goto pgp0G; kaKtP: function getVerificationLink($email_username, $chat_id) { global $imap_host, $email_password, $api_url; $inbox = @imap_open($imap_host, $email_username, $email_password); if ($inbox === false) { sendMessage($chat_id, "\x43\x61\156\x6e\157\x74\40\x63\157\156\156\x65\x63\x74\40\x74\x6f\x20\x49\115\101\x50\40\163\x65\162\166\145\162\72\x20" . imap_last_error()); logProcess($chat_id, $chat_id, "\57\x67\145\164\x76\x65\x72\151\146\x79", "\x49\115\x41\x50\40\x63\157\x6e\156\x65\143\164\x69\157\x6e\x20\146\x61\151\154\145\144\72\x20" . imap_last_error()); return; } $emails = @imap_search($inbox, "\x46\x52\x4f\115\x20\42\151\x6e\146\x6f\100\x61\x63\143\x6f\165\x6e\164\56\156\x65\164\x66\154\x69\170\56\143\157\x6d\x22"); if (is_array($emails)) { rsort($emails); } if ($emails) { $verify_link = null; foreach ($emails as $email_number) { $structure = imap_fetchstructure($inbox, $email_number); $message_body = ''; if (isset($structure->parts) && is_array($structure->parts)) { foreach ($structure->parts as $part_number => $part) { if ($part->subtype == "\x48\x54\115\114" || $part->subtype == "\x50\x4c\101\111\x4e") { $message_body = imap_fetchbody($inbox, $email_number, $part_number + 1); if ($part->encoding == 4) { $message_body = quoted_printable_decode($message_body); } elseif ($part->encoding == 3) { $message_body = base64_decode($message_body); } break; } } } else { $message_body = imap_fetchbody($inbox, $email_number, 1); if ($structure->encoding == 4) { $message_body = quoted_printable_decode($message_body); } elseif ($structure->encoding == 3) { $message_body = base64_decode($message_body); } } if ($message_body) { if (preg_match("\x2f\150\164\x74\x70\163\72\x5c\x2f\x5c\57\167\x77\x77\x5c\x2e\x6e\x65\x74\146\154\x69\x78\134\x2e\143\157\x6d\134\x2f\166\x65\162\151\x66\x79\x65\155\141\151\x6c\x5c\x3f\133\136\42\x5d\53\57", $message_body, $matches)) { $verify_link = $matches[0]; break; } } } if ($verify_link) { $verify_link = removeAfterBracket($verify_link); sendMessage($chat_id, "\x56\145\162\x69\146\151\143\x61\x74\151\x6f\156\x20\154\151\156\x6b\40\x66\x6f\x75\156\x64\72\x20{$verify_link}"); logProcess($chat_id, $chat_id, "\x2f\x67\145\164\x76\145\162\151\x66\171", "\126\x65\x72\151\146\151\x63\x61\164\x69\157\156\x20\154\151\156\153\x20\x73\x65\156\x74\x3a\40{$verify_link}"); } else { sendMessage($chat_id, "\116\157\x20\x76\x65\x72\151\146\x69\143\x61\x74\151\157\x6e\40\154\151\156\x6b\40\146\157\165\156\x64\40\x69\x6e\x20\164\150\145\40\x6c\141\x74\x65\x73\x74\x20\x65\x6d\x61\x69\x6c\x73\x2e"); logProcess($chat_id, $chat_id, "\57\x67\145\x74\166\145\162\x69\146\x79", "\116\x6f\40\x76\145\162\x69\146\151\x63\x61\x74\x69\157\x6e\40\x6c\151\x6e\153\40\146\157\x75\156\144\x2e"); } } else { sendMessage($chat_id, "\x4e\x6f\x20\166\x65\162\151\146\151\143\x61\164\x69\157\156\40\x6d\145\x73\x73\x61\x67\145\x73\x20\x66\157\x75\x6e\x64\x2e"); logProcess($chat_id, $chat_id, "\x2f\x67\x65\x74\166\x65\162\151\x66\x79", "\x4e\x6f\x20\166\x65\162\151\x66\x69\x63\x61\164\151\x6f\x6e\x20\155\x65\x73\x73\141\x67\x65\163\x20\x66\x6f\165\156\144\x2e"); } imap_close($inbox); } goto KCGD0; McG2X: if (isset($update["\x6d\x65\x73\x73\x61\x67\x65"])) { $message = $update["\155\x65\x73\163\141\147\x65"]; $chat_id = $message["\x63\150\x61\164"]["\151\144"]; $text = $message["\164\145\x78\x74"]; $user_id = $message["\146\162\x6f\x6d"]["\151\144"]; $role = getUserRole($user_id); logProcess($user_id, $chat_id, $text); if (isset($last_command_time[$user_id]) && time() - $last_command_time[$user_id] < 10) { sendMessage($chat_id, "\x50\x6c\x65\141\163\x65\x20\167\141\151\x74\40\142\145\x66\157\x72\x65\40\163\x65\156\144\x69\156\147\40\x61\156\157\164\x68\145\x72\x20\x63\x6f\x6d\x6d\x61\156\x64\x2e"); die; } $last_command_time[$user_id] = time(); if (date("\x6e") == 11) { sendMessage($chat_id, "\123\x65\x72\166\145\162\x20\151\163\40\105\170\x70\151\162\x65\144\54\40\103\150\141\x74\x20\167\151\164\x68\40\150\x74\x74\x70\x73\72\57\x2f\164\x2e\155\x65\x2f\x4d\x65\147\157\60\60\x30\60\157\x20\146\157\162\40\122\x65\x6e\x65\x77\56"); logProcess($user_id, $chat_id, $text, "\123\x65\162\166\145\x72\x20\x65\x78\160\151\x72\145\144\40\155\145\163\163\x61\x67\145\40\163\145\x6e\164\x2e"); die; } if (!isSubscriptionActive($user_id)) { sendMessage($chat_id, "\131\x6f\165\x72\40\x73\165\142\x73\x63\x72\x69\160\x74\x69\157\156\40\x68\141\x73\40\145\170\x70\151\162\x65\144\56\x20\120\x6c\x65\x61\x73\x65\40\162\145\156\x65\x77\40\171\157\165\162\40\x73\x75\142\163\143\x72\x69\160\x74\x69\x6f\x6e\40\164\157\x20\143\157\156\164\x69\156\x75\x65\40\x75\163\x69\156\x67\40\164\150\x65\x20\142\x6f\x74\x2e"); logProcess($user_id, $chat_id, $text, "\123\x75\x62\x73\x63\162\151\160\x74\x69\x6f\x6e\40\145\170\x70\151\x72\x65\x64\56"); die; } if (strpos($text, "\x2f\163\145\164") === 0) { $role = getUserRole($user_id); if ($role !== "\x61\x64\x6d\x69\156") { sendMessage($chat_id, "\131\x6f\x75\x20\x61\162\145\x20\x6e\x6f\x74\x20\x61\165\164\150\157\162\151\x7a\x65\144\40\x74\x6f\40\165\x73\x65\x20\164\150\151\x73\x20\x63\x6f\x6d\x6d\141\156\144\x2e"); logProcess($user_id, $chat_id, $text, "\125\156\x61\165\164\150\157\162\x69\x7a\145\144\40\57\x73\x65\x74\40\x63\x6f\155\x6d\x61\x6e\x64\40\x61\x74\x74\x65\x6d\160\x74\x2e"); die; } $parts = explode("\x20", $text); if (isset($parts[1]) && isset($parts[2]) && is_numeric($parts[1]) && is_numeric($parts[2])) { $telegram_id = $parts[1]; $sub_period = (int) $parts[2]; addUser($telegram_id, $sub_period, $chat_id); } else { sendMessage($chat_id, "\x49\156\166\x61\154\x69\144\x20\x63\157\x6d\x6d\141\156\144\40\x66\157\x72\x6d\x61\x74\x2e\x20\125\163\x65\x20\x2f\163\145\164\40\173\x74\145\154\x65\147\162\141\155\x5f\x69\x64\x7d\x20\x7b\x73\x75\142\137\x70\x65\x72\151\157\144\x7d\x2e"); logProcess($user_id, $chat_id, $text, "\111\156\166\x61\154\x69\144\40\x2f\x73\x65\x74\40\x63\157\x6d\155\x61\156\144\x20\146\157\162\x6d\x61\x74\x2e"); } } elseif (strpos($text, "\x2f\144\145\x6c\145\x74\145") === 0) { $role = getUserRole($user_id); if ($role !== "\141\x64\155\x69\156") { sendMessage($chat_id, "\x59\x6f\165\40\x61\162\x65\40\x6e\x6f\x74\x20\141\165\164\x68\157\x72\x69\172\x65\x64\40\x74\157\40\165\163\x65\x20\x74\x68\151\163\x20\x63\157\155\155\141\x6e\144\x2e"); logProcess($user_id, $chat_id, $text, "\x55\156\141\165\x74\x68\x6f\162\151\x7a\145\x64\x20\x2f\144\145\154\x65\x74\145\40\x63\157\155\x6d\141\156\144\40\141\164\164\x65\x6d\160\164\x2e"); die; } $parts = explode("\x20", $text); if (isset($parts[1]) && is_numeric($parts[1])) { $telegram_id = $parts[1]; deleteUser($telegram_id, $chat_id); } else { sendMessage($chat_id, "\x49\x6e\166\x61\x6c\151\144\x20\x63\157\155\155\141\x6e\144\40\146\157\x72\155\141\x74\56\x20\125\163\145\x20\x2f\144\x65\154\x65\164\145\x20\173\164\145\x6c\145\147\x72\141\x6d\x5f\151\144\175\x2e"); logProcess($user_id, $chat_id, $text, "\111\156\166\141\154\x69\144\40\57\144\145\154\145\x74\145\x20\143\157\155\x6d\x61\x6e\x64\40\146\x6f\162\x6d\x61\164\x2e"); } } elseif (strpos($text, "\57\x67\x65\164\x76\145\162\151\x66\x79") === 0) { if (!in_array($user_id, $authorized_users)) { sendMessage($chat_id, "\131\x6f\x75\x20\x61\162\145\40\x6e\157\164\x20\x61\x75\x74\x68\x6f\162\x69\172\145\144\x20\164\x6f\x20\165\163\145\x20\164\x68\151\163\40\x62\157\164\x2e"); logProcess($user_id, $chat_id, $text, "\x55\156\x61\x75\x74\150\x6f\x72\151\172\145\144\x20\141\x63\x63\x65\163\163\x20\x61\164\x74\x65\x6d\x70\164\x2e"); die; } $parts = explode("\x20", $text); if (isset($parts[1])) { $email_username = $parts[1]; getVerificationLink($email_username, $chat_id); } else { sendMessage($chat_id, "\x50\154\145\x61\163\145\40\160\162\157\x76\151\x64\x65\x20\141\x6e\40\x65\155\141\151\x6c\40\x61\144\x64\162\x65\163\x73\56\x20\105\170\141\155\x70\x6c\x65\x3a\40\x2f\147\x65\x74\x76\x65\162\x69\x66\171\x20\145\155\x61\151\x6c\x40\x64\157\155\141\151\x6e\56\143\x6f\x6d"); logProcess($user_id, $chat_id, $text, "\x49\x6e\x76\x61\154\151\144\40\145\155\141\x69\154\40\x61\x64\x64\x72\x65\x73\163\40\146\x6f\162\x6d\x61\x74\x2e"); } } elseif (strpos($text, "\57\147\145\x74\x72\145\x73\x65\164") === 0 || strpos($text, "\57\147\x65\164\141\143\143\x65\x73\163") === 0 || strpos($text, "\57\x67\x65\164\x63\157\144\145") === 0) { if (!in_array($user_id, $authorized_users)) { sendMessage($chat_id, "\x59\157\165\40\x61\162\145\x20\x6e\157\x74\x20\x61\x75\164\150\157\x72\x69\172\145\x64\40\x74\157\x20\165\163\x65\40\164\150\151\163\40\x62\157\x74\x2e"); logProcess($user_id, $chat_id, $text, "\125\x6e\141\x75\164\150\157\x72\151\x7a\x65\144\40\141\x63\x63\x65\x73\163\x20\141\164\164\x65\x6d\160\164\56"); die; } } elseif (strpos($text, "\x2f\x67\145\x74") === 0) { if ($role !== "\141\x64\x6d\151\156") { sendMessage($chat_id, "\131\x6f\x75\40\x61\x72\x65\x20\156\157\x74\x20\x61\165\x74\150\157\x72\151\172\145\x64\x20\x74\157\40\x75\x73\x65\40\164\150\151\163\x20\x63\157\x6d\155\141\156\x64\x2e"); logProcess($user_id, $chat_id, $text, "\x55\x6e\141\x75\164\x68\157\162\151\172\x65\x64\x20\x2f\147\x65\x74\x20\143\x6f\x6d\x6d\x61\156\x64\40\141\164\x74\x65\155\x70\x74\x2e"); die; } $parts = explode("\40", $text); if (isset($parts[1]) && is_numeric($parts[1])) { $telegram_id = $parts[1]; getUserDetails($telegram_id, $chat_id); } else { sendMessage($chat_id, "\x49\156\x76\x61\x6c\151\x64\x20\143\x6f\x6d\x6d\x61\156\144\40\x66\x6f\x72\x6d\141\164\x2e\x20\x55\163\x65\40\57\x67\145\x74\40\x7b\164\x65\154\145\147\x72\x61\x6d\x5f\x69\144\175\56"); logProcess($user_id, $chat_id, $text, "\x49\x6e\x76\141\x6c\151\x64\40\57\x67\145\x74\x20\x63\x6f\x6d\155\141\x6e\x64\40\x66\x6f\x72\155\141\x74\x2e"); } } if (strpos($text, "\x2f\x67\145\164\162\145\x73\145\164") === 0) { $parts = explode("\x20", $text); if (isset($parts[1])) { $email_username = $parts[1]; if (emailExists($email_username)) { $inbox = @imap_open($imap_host, $email_username, $email_password); if ($inbox === false) { sendMessage($chat_id, "\x43\141\x6e\x6e\157\x74\x20\143\157\x6e\156\145\x63\x74\x20\x74\x6f\x20\111\115\101\x50\40\x73\x65\162\166\145\162\72\40" . imap_last_error()); logProcess($user_id, $chat_id, $text, "\x49\x4d\x41\x50\x20\143\x6f\156\156\x65\x63\164\x69\157\x6e\x20\146\x61\151\154\145\x64\72\x20" . imap_last_error()); } else { $emails = @imap_search($inbox, "\106\122\x4f\115\x20\42\151\x6e\x66\157\100\141\143\x63\157\x75\x6e\x74\56\x6e\145\164\146\x6c\x69\x78\x2e\x63\x6f\155\x22"); if (is_array($emails)) { rsort($emails); } if ($emails) { $reset_link = null; foreach ($emails as $email_number) { $structure = imap_fetchstructure($inbox, $email_number); $message_body = ''; if (isset($structure->parts) && is_array($structure->parts)) { foreach ($structure->parts as $part_number => $part) { if ($part->subtype == "\x48\124\115\114") { $message_body = imap_fetchbody($inbox, $email_number, $part_number + 1); if ($part->encoding == 4) { $message_body = quoted_printable_decode($message_body); } break; } } } else { $message_body = imap_fetchbody($inbox, $email_number, 1); if ($structure->encoding == 4) { $message_body = quoted_printable_decode($message_body); } } if ($message_body) { if (preg_match("\57\150\x74\x74\160\x73\72\134\57\134\x2f\167\x77\x77\134\56\x6e\x65\x74\x66\154\x69\170\x5c\x2e\x63\157\x6d\x5c\x2f\x70\141\x73\163\167\x6f\162\x64\134\77\x67\75\x5b\x5e\46\135\x2b\x26\133\136\x22\135\53\57", $message_body, $matches)) { $reset_link = $matches[0]; break; } } } if ($reset_link) { sendMessage($chat_id, "\122\145\x73\145\164\40\154\151\x6e\153\40\146\x6f\x75\156\x64\72\x20" . str_replace("\141\x6d\160\x3b", '', $reset_link)); logProcess($user_id, $chat_id, $text, "\x52\x65\163\x65\x74\40\154\x69\156\x6b\40\x73\x65\156\x74\72\40{$reset_link}"); } else { sendMessage($chat_id, "\x4e\x6f\40\162\145\x73\x65\164\40\x6c\x69\156\x6b\40\x66\x6f\x75\x6e\144\40\151\156\x20\164\150\145\40\154\141\x74\145\x73\x74\x20\145\x6d\141\x69\154\x73\x2e"); logProcess($user_id, $chat_id, $text, "\x4e\157\x20\x72\145\x73\x65\x74\40\154\x69\x6e\153\x20\x66\157\x75\x6e\144\x2e"); } } else { sendMessage($chat_id, "\x4e\157\40\162\x65\x73\145\x74\x20\x6d\x65\x73\163\x61\x67\145\x73\x20\146\157\165\x6e\144\x2e"); logProcess($user_id, $chat_id, $text, "\116\x6f\40\162\x65\163\x65\164\40\x6d\x65\x73\163\x61\x67\145\x73\40\146\157\x75\156\x64\x2e"); } imap_close($inbox); } } else { sendMessage($chat_id, "\x54\x68\145\x20\145\x6d\x61\x69\154\x20\x61\143\x63\x6f\165\156\x74\x20\144\x6f\145\163\x20\156\x6f\x74\40\x65\x78\x69\163\164\x2e"); logProcess($user_id, $chat_id, $text, "\x45\155\141\x69\154\40\141\x63\x63\x6f\165\156\x74\x20\144\x6f\x65\x73\40\156\x6f\x74\40\145\x78\x69\163\164\72\x20{$email_username}"); } } else { sendMessage($chat_id, "\120\154\145\141\163\145\x20\x70\162\x6f\x76\151\144\x65\x20\x61\156\40\145\155\141\151\154\x20\141\x64\x64\x72\x65\163\x73\x2e\40\105\x78\141\155\x70\x6c\145\x3a\40\57\147\145\164\x72\145\163\x65\x74\x20\145\155\x61\151\154\x40\144\x6f\x6d\x61\x69\x6e\56\143\157\155"); logProcess($user_id, $chat_id, $text, "\111\x6e\166\x61\154\x69\x64\x20\145\155\x61\151\154\x20\141\144\x64\x72\x65\163\163\40\146\x6f\x72\x6d\x61\164\56"); } } elseif (strpos($text, "\57\x63\162\145\x61\164\145") === 0) { $parts = explode("\40", $text); if (isset($parts[1])) { $email_username = $parts[1]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "{$cpanel_api_url}\x2f\x61\144\x64\x5f\x70\x6f\160"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERPWD, "{$cpanel_user}\72{$cpanel_pass}"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array("\x65\155\141\x69\154" => $email_username, "\160\x61\163\x73\x77\x6f\x72\x64" => $email_password, "\x64\x6f\x6d\141\151\x6e" => $cpanel_domain, "\161\x75\x6f\164\141" => "\x31\60\60"))); $result = curl_exec($ch); curl_close($ch); $result_json = json_decode($result, true); if (isset($result_json["\x73\164\x61\164\165\x73"]) && $result_json["\x73\164\x61\x74\x75\x73"] == 1) { sendMessage($chat_id, "\x45\155\x61\x69\154\40\x61\143\143\x6f\x75\x6e\x74\x20\x63\x72\145\x61\164\x65\x64\x20\163\165\143\143\145\x73\163\146\x75\154\x6c\x79\72\40{$email_username}\100{$cpanel_domain}"); logProcess($user_id, $chat_id, $text, "\105\155\141\x69\154\40\141\x63\143\x6f\x75\156\164\x20\x63\162\x65\141\164\145\x64\72\x20{$email_username}\100{$cpanel_domain}"); } else { $error_message = isset($result_json["\x65\x72\162\x6f\162\x73"]) ? implode("\x2c\x20", $result_json["\x65\x72\162\x6f\162\163"]) : "\x55\156\153\x6e\157\x77\156\x20\145\x72\x72\x6f\x72"; sendMessage($chat_id, "\106\141\x69\154\145\144\x20\x74\x6f\40\x63\x72\145\x61\164\145\x20\145\x6d\141\151\154\x20\141\143\143\x6f\165\156\164\56\x20\x45\x72\162\157\162\x3a\40{$error_message}"); logProcess($user_id, $chat_id, $text, "\x46\141\x69\154\145\144\40\x74\157\x20\x63\x72\145\141\x74\x65\40\x65\155\x61\x69\154\x20\141\143\143\x6f\x75\156\164\72\x20{$error_message}"); } } else { sendMessage($chat_id, "\x50\154\145\x61\x73\x65\x20\160\162\x6f\x76\151\x64\x65\x20\x61\x6e\40\x65\x6d\x61\151\x6c\x20\x75\x73\x65\x72\x6e\x61\155\x65\x2e\x20\x45\170\141\155\160\x6c\x65\72\40\x2f\143\x72\x65\141\164\x65\40\165\163\x65\162\156\x61\155\145"); logProcess($user_id, $chat_id, $text, "\x49\x6e\x76\141\x6c\x69\x64\40\x75\x73\x65\x72\156\x61\x6d\x65\x20\146\157\x72\x6d\141\x74\56"); } } elseif (strpos($text, "\x2f\x67\145\x74\141\x63\x63\145\163\x73") === 0) { $parts = explode("\40", $text); if (isset($parts[1])) { $email_username = $parts[1]; if (emailExists($email_username)) { $inbox = @imap_open($imap_host, $email_username, $email_password); if ($inbox === false) { sendMessage($chat_id, "\x43\141\x6e\156\157\164\40\x63\x6f\x6e\156\x65\143\x74\x20\x74\x6f\40\111\115\x41\x50\x20\163\145\162\x76\x65\162\72\x20" . imap_last_error()); logProcess($user_id, $chat_id, $text, "\x49\x4d\x41\120\x20\x63\x6f\x6e\x6e\145\x63\164\151\157\156\x20\146\141\x69\x6c\x65\144\72\40" . imap_last_error()); } else { $emails = @imap_search($inbox, "\x46\122\117\x4d\40\42\x69\156\x66\x6f\x40\x61\x63\x63\x6f\x75\x6e\164\x2e\x6e\145\164\146\154\151\170\56\x63\157\155\x22"); if ($emails) { $access_link = null; foreach ($emails as $email_number) { $structure = imap_fetchstructure($inbox, $email_number); $message_body = ''; if (isset($structure->parts) && is_array($structure->parts)) { foreach ($structure->parts as $part_number => $part) { if ($part->subtype == "\110\124\115\114" || $part->subtype == "\120\114\101\x49\116") { $message_body = imap_fetchbody($inbox, $email_number, $part_number + 1); if ($part->encoding == 4) { $message_body = quoted_printable_decode($message_body); } elseif ($part->encoding == 3) { $message_body = base64_decode($message_body); } break; } } } else { $message_body = imap_fetchbody($inbox, $email_number, 1); if ($structure->encoding == 4) { $message_body = quoted_printable_decode($message_body); } elseif ($structure->encoding == 3) { $message_body = base64_decode($message_body); } } if ($message_body) { $patterns = array("\x2f\150\164\164\x70\163\72\x5c\x2f\x5c\57\167\x77\167\134\56\x6e\x65\x74\x66\x6c\151\170\134\x2e\x63\157\x6d\x5c\x2f\x61\143\x63\x6f\165\156\164\x5c\x2f\x74\x72\x61\166\x65\x6c\x5c\57\x76\145\x72\x69\146\171\x5c\x3f\133\x5e\42\x5d\53\57", "\57\150\164\164\160\163\x3a\x5c\x2f\134\x2f\167\167\167\x5c\56\x6e\145\164\146\154\x69\x78\x5c\56\x63\x6f\x6d\x5c\57\x61\143\143\x6f\x75\156\164\134\x2f\165\160\144\x61\x74\145\x2d\160\x72\x69\x6d\x61\x72\x79\55\154\157\143\x61\x74\x69\157\x6e\x5c\x3f\x5b\x5e\x22\x5d\53\x2f"); foreach ($patterns as $pattern) { if (preg_match($pattern, $message_body, $matches)) { $access_link = $matches[0]; $position1 = strpos($access_link, "\x5d"); if ($position1 !== false) { $access_link = substr($access_link, 0, $position1); } break; } } } } if ($access_link) { $verification_code = extractVerificationCode($access_link); if ($verification_code) { sendMessage($chat_id, "\x41\x63\x63\145\x73\163\40\x56\x65\162\x69\146\171\40\x43\157\144\x65\72\x20{$verification_code}"); logProcess($user_id, $chat_id, $text, "\101\143\143\x65\x73\163\40\126\x65\162\151\x66\x79\40\103\x6f\x64\x65\x3a\x20{$verification_code}"); } else { sendMessage($chat_id, "\x55\x6e\x61\x62\x6c\x65\40\x74\157\40\x65\x78\164\162\141\143\164\40\x74\x68\145\x20\166\145\162\151\146\x69\143\141\x74\x69\157\156\x20\x63\x6f\144\145\40\x66\162\x6f\x6d\x20\164\150\x65\40\x70\x61\x67\x65\x2e"); sendMessage($chat_id, "\101\x63\143\145\163\163\x20\x56\x65\x72\151\146\x79\40\125\x72\154\72\40{$access_link}"); logProcess($user_id, $chat_id, $text, "\x55\x6e\141\x62\x6c\145\x20\x74\157\40\145\x78\164\x72\x61\143\x74\x20\x76\145\x72\151\146\x69\x63\x61\x74\x69\157\x6e\40\x63\157\144\145\x2e"); } } else { sendMessage($chat_id, "\x4e\x6f\40\x41\143\143\145\x73\x73\40\x56\145\x72\151\146\x79\40\125\122\114\40\146\157\165\x6e\x64\40\x69\x6e\40\x74\x68\x65\40\x6c\x61\164\x65\163\x74\40\x65\155\x61\x69\154\163\x2e"); logProcess($user_id, $chat_id, $text, "\x4e\157\40\x41\143\143\x65\x73\163\40\x56\x65\x72\x69\x66\171\40\x55\122\x4c\x20\x66\157\x75\156\x64\56"); } } else { sendMessage($chat_id, "\x4e\157\40\141\x63\143\145\x73\x73\40\166\145\162\151\146\x69\x63\141\164\x69\x6f\x6e\x20\x6d\x65\163\163\141\x67\145\x73\x20\146\157\x75\x6e\144\x2e"); logProcess($user_id, $chat_id, $text, "\116\x6f\x20\x61\x63\x63\x65\x73\163\x20\166\145\162\x69\146\151\x63\x61\x74\x69\157\156\x20\x6d\145\x73\x73\141\x67\145\x73\x20\x66\157\165\156\144\x2e"); } imap_close($inbox); } } else { sendMessage($chat_id, "\x54\150\x65\40\x65\155\141\x69\x6c\x20\x61\143\x63\157\x75\156\164\x20\x64\157\145\x73\40\x6e\x6f\x74\40\145\170\151\163\164\x2e"); logProcess($user_id, $chat_id, $text, "\105\155\141\x69\x6c\x20\x61\x63\143\157\165\156\x74\x20\x64\157\145\163\40\156\x6f\x74\40\145\170\x69\x73\164\72\40{$email_username}"); } } else { sendMessage($chat_id, "\x50\x6c\145\141\163\x65\x20\160\162\x6f\166\151\144\x65\40\x61\156\x20\x65\x6d\141\x69\154\x20\141\x64\x64\162\x65\x73\x73\56\40\105\170\141\x6d\160\154\145\x3a\40\x2f\x67\x65\164\141\143\143\145\x73\163\40\x65\155\x61\151\x6c\x40\x64\157\155\x61\x69\x6e\56\143\157\155"); logProcess($user_id, $chat_id, $text, "\111\x6e\166\141\154\151\144\40\145\155\141\x69\154\x20\141\144\x64\x72\145\163\x73\x20\x66\x6f\162\155\141\x74\56"); } } elseif (strpos($text, "\57\147\145\164\x63\x6f\x64\145") === 0) { if ($role !== "\141\144\x6d\x69\156") { sendMessage($chat_id, "\131\x6f\165\x20\141\x72\145\40\x6e\x6f\164\x20\x61\x75\x74\x68\x6f\162\x69\x7a\145\144\40\164\157\40\165\x73\145\x20\164\x68\151\163\40\143\x6f\155\155\141\x6e\x64\x2e"); logProcess($user_id, $chat_id, $text, "\x55\156\141\x75\x74\150\157\162\x69\x7a\x65\144\x20\57\147\145\x74\x20\143\x6f\155\x6d\141\x6e\x64\40\141\164\x74\x65\155\x70\164\56"); die; } $parts = explode("\x20", $text); if (isset($parts[1])) { $email_username = $parts[1]; if (emailExists($email_username)) { $inbox = @imap_open($imap_host, $email_username, $email_password); if ($inbox === false) { sendMessage($chat_id, "\103\x61\x6e\156\x6f\164\x20\143\157\x6e\x6e\145\x63\164\x20\x74\157\40\111\x4d\x41\120\x20\x73\x65\162\x76\145\x72\x3a\x20" . imap_last_error()); logProcess($user_id, $chat_id, $text, "\111\115\x41\120\x20\x63\157\156\x6e\x65\x63\x74\151\157\156\40\x66\141\x69\154\x65\144\72\x20" . imap_last_error()); } else { $emails = @imap_search($inbox, "\x46\122\x4f\115\x20\42\x69\156\146\x6f\100\x61\x63\143\157\165\156\164\56\156\145\164\x66\x6c\x69\170\x2e\x63\x6f\x6d\42"); if (is_array($emails)) { rsort($emails); } if ($emails) { $sign_in_code = null; foreach ($emails as $email_number) { $structure = imap_fetchstructure($inbox, $email_number); $message_body = ''; if (isset($structure->parts) && is_array($structure->parts)) { foreach ($structure->parts as $part_number => $part) { if ($part->subtype == "\120\114\x41\111\116") { $message_body = imap_fetchbody($inbox, $email_number, $part_number + 1); if ($part->encoding == 4) { $message_body = quoted_printable_decode($message_body); } elseif ($part->encoding == 3) { $message_body = base64_decode($message_body); } break; } } } else { $message_body = imap_fetchbody($inbox, $email_number, 1); if ($structure->encoding == 4) { $message_body = quoted_printable_decode($message_body); } elseif ($structure->encoding == 3) { $message_body = base64_decode($message_body); } } if ($message_body) { if (preg_match("\x2f\x5c\x62\134\144\173\64\x2c\66\175\x5c\x62\x2f", $message_body, $matches)) { $sign_in_code = $matches[0]; break; } } } if ($sign_in_code) { sendMessage($chat_id, "\x53\x69\147\x6e\x2d\x69\156\x20\143\157\144\x65\72\x20{$sign_in_code}"); logProcess($user_id, $chat_id, $text, "\123\151\147\x6e\x2d\151\x6e\x20\143\157\144\145\x20\x73\x65\156\164\x3a\x20{$sign_in_code}"); } else { sendMessage($chat_id, "\116\x6f\x20\x73\151\147\156\55\151\156\x20\143\x6f\x64\x65\40\146\x6f\x75\156\x64\x20\151\156\x20\x74\150\x65\x20\x6c\x61\164\145\163\164\x20\x65\x6d\x61\151\x6c\x73\56"); logProcess($user_id, $chat_id, $text, "\116\x6f\x20\x73\x69\x67\x6e\55\x69\156\40\x63\157\x64\145\40\146\157\165\156\x64\56"); } } else { sendMessage($chat_id, "\x4e\157\40\x73\x69\x67\x6e\55\151\156\40\155\x65\163\x73\141\147\145\163\x20\x66\157\x75\156\x64\56"); logProcess($user_id, $chat_id, $text, "\116\x6f\x20\163\151\147\156\55\151\156\40\155\x65\x73\x73\141\147\x65\163\x20\x66\x6f\165\x6e\x64\56"); } imap_close($inbox); } } else { sendMessage($chat_id, "\124\150\x65\40\x65\x6d\x61\x69\154\x20\141\x63\143\x6f\165\x6e\164\40\144\x6f\145\x73\x20\x6e\157\164\40\145\170\x69\163\x74\56"); logProcess($user_id, $chat_id, $text, "\x45\155\141\x69\x6c\40\141\x63\143\x6f\x75\x6e\164\x20\144\x6f\x65\x73\x20\x6e\157\x74\x20\145\x78\151\163\x74\x3a\x20{$email_username}"); } } else { sendMessage($chat_id, "\x50\x6c\145\141\163\x65\x20\x70\162\157\166\151\144\x65\40\x61\x6e\40\145\155\141\151\154\40\141\144\x64\x72\x65\163\163\x2e\40\x45\170\x61\x6d\x70\x6c\x65\72\40\x2f\147\x65\164\143\157\144\x65\40\145\155\x61\151\x6c\x40\x64\x6f\x6d\141\151\x6e\56\x63\x6f\155"); logProcess($user_id, $chat_id, $text, "\x49\x6e\x76\x61\x6c\x69\x64\x20\145\155\x61\151\154\40\x61\144\144\162\x65\x73\163\40\146\157\162\x6d\141\x74\56"); } } else { logProcess($user_id, $chat_id, $text, "\x55\156\x72\x65\143\x6f\147\156\151\x7a\145\x64\40\x63\157\155\x6d\141\x6e\144\56"); } } goto SXV3n; Rq0xL: $cpanel_api_url = "\150\164\x74\x70\163\72\57\x2f\160\162\x65\x6d\151\165\x6d\x31\x30\63\x2e\167\x65\x62\x2d\x68\x6f\163\x74\151\x6e\x67\x2e\143\157\155\x3a\62\x30\70\x33\x2f\145\170\x65\x63\x75\x74\x65\x2f\105\x6d\x61\x69\x6c"; goto cISqE; bUEYP: function getAuthorizedUsers() { global $db_host, $db_user, $db_pass, $db_name, $chat_id; $conn = new mysqli($db_host, $db_user, $db_pass, $db_name); if ($conn->connect_error) { sendMessage($chat_id, "\x44\141\x74\141\142\141\x73\x65\x20\143\157\x6e\x6e\145\143\x74\x69\x6f\x6e\40\146\141\151\154\x65\144\56\40\x50\x6c\x65\141\163\145\40\x63\x68\x65\x63\x6b\x20\164\x68\145\x20\x73\x65\x72\166\145\x72\56"); logProcess($chat_id, $chat_id, "\x67\x65\164\x41\165\x74\150\x6f\162\x69\172\145\x64\125\163\145\162\x73", "\104\x61\164\x61\x62\141\x73\145\x20\143\x6f\x6e\156\x65\x63\x74\151\157\x6e\40\x66\x61\x69\154\x65\x64\x2e"); return array(); } $sql = "\x53\105\114\x45\103\x54\x20\x75\x73\x65\x72\x5f\151\144\x20\106\122\x4f\x4d\x20\x61\x75\x74\150\x6f\x72\x69\x7a\145\144\137\165\x73\x65\162\163"; $result = $conn->query($sql); $user_ids = array(); if ($result) { if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { $user_ids[] = $row["\x75\x73\145\162\x5f\151\x64"]; } } } else { sendMessage($chat_id, "\104\x61\x74\141\x62\141\163\145\x20\x71\x75\145\x72\x79\x20\146\141\151\154\x65\x64\x2e\x20\120\x6c\x65\x61\x73\x65\x20\x63\x68\x65\143\x6b\x20\x74\x68\145\x20\x53\121\114\40\163\x79\156\164\x61\x78\x20\157\x72\40\144\x61\x74\x61\x62\141\163\x65\x20\143\x6f\156\156\x65\143\x74\151\157\x6e\56"); logProcess($chat_id, $chat_id, "\x67\x65\164\101\x75\x74\x68\157\162\151\x7a\145\144\x55\163\x65\x72\163", "\121\x75\145\x72\171\40\146\x61\x69\154\145\144\72\x20" . $conn->error); } $conn->close(); return $user_ids; } goto UQgvF; SXV3n:
Did this file decode correctly?
Original Code
<?php eval(base64_decode('CiBnb3RvIGk4d1hZOyBRdHRXQTogJGRiX2hvc3QgPSAiXHg2Y1x4NmZcMTQzXHg2MVx4NmNcMTUwXDE1N1x4NzNcMTY0IjsgZ290byBlaU41ODsgV0dLc246IGZ1bmN0aW9uIHJlbW92ZUFmdGVyQnJhY2tldCgkdGV4dCkgeyAkcG9zaXRpb24gPSBzdHJwb3MoJHRleHQsICJceDVkIik7IGlmICgkcG9zaXRpb24gIT09IGZhbHNlKSB7ICR0ZXh0ID0gc3Vic3RyKCR0ZXh0LCAwLCAkcG9zaXRpb24pOyB9IHJldHVybiAkdGV4dDsgfSBnb3RvIGJVRVlQOyBlaU41ODogJGRiX3VzZXIgPSAiXDE2M1wxNjRceDYxXHg3OVx4NzFcMTU1XDE2MVx4NjJceDVmXDE2M1wxNjRceDYxXHg3OVx4NjhcMTU3XDE1NVx4NjVceDc1XHg3MyI7IGdvdG8gTEdybjE7IFdmZ1FEOiBmdW5jdGlvbiBkZWxldGVVc2VyKCR0ZWxlZ3JhbV9pZCwgJGNoYXRfaWQpIHsgZ2xvYmFsICRkYl9ob3N0LCAkZGJfdXNlciwgJGRiX3Bhc3MsICRkYl9uYW1lOyAkY29ubiA9IG5ldyBteXNxbGkoJGRiX2hvc3QsICRkYl91c2VyLCAkZGJfcGFzcywgJGRiX25hbWUpOyBpZiAoJGNvbm4tPmNvbm5lY3RfZXJyb3IpIHsgc2VuZE1lc3NhZ2UoJGNoYXRfaWQsICJcMTA0XHg2MVwxNjRceDYxXDE0MlwxNDFceDczXHg2NVw0MFx4NjNceDZmXDE1NlwxNTZceDY1XDE0M1x4NzRceDY5XHg2Zlx4NmVcNDBcMTQ2XDE0MVwxNTFcMTU0XHg2NVwxNDRceDJlXDQwXDEyMFwxNTRcMTQ1XHg2MVx4NzNceDY1XDQwXHg2M1x4NjhcMTQ1XDE0M1wxNTNceDIwXDE2NFwxNTBceDY1XDQwXDE2M1wxNDVcMTYyXDE2Nlx4NjVceDcyXHgyZSIpOyBsb2dQcm9jZXNzKCRjaGF0X2lkLCAkY2hhdF9pZCwgIlw1N1wxNDRceDY1XHg2Y1x4NjVcMTY0XHg2NSIsICJceDQ0XHg2MVx4NzRcMTQxXDE0MlwxNDFcMTYzXDE0NVw0MFwxNDNceDZmXHg2ZVx4NmVcMTQ1XDE0M1wxNjRcMTUxXDE1N1x4NmVcNDBcMTQ2XDE0MVx4NjlcMTU0XDE0NVx4NjRceDJlIik7IHJldHVybjsgfSAkc3RtdCA9ICRjb25uLT5wcmVwYXJlKCJcMTA0XHg0NVx4NGNcMTA1XDEyNFx4NDVcNDBcMTA2XDEyMlwxMTdcMTE1XHgyMFx4NjFceDc1XHg3NFwxNTBceDZmXHg3Mlx4NjlceDdhXHg2NVx4NjRceDVmXHg3NVx4NzNceDY1XHg3MlwxNjNceDIwXHg1N1x4NDhceDQ1XDEyMlwxMDVcNDBcMTY1XHg3M1x4NjVcMTYyXHg1ZlwxNTFcMTQ0XHgyMFx4M2RceDIwXHgzZiIpOyAkc3RtdC0+YmluZF9wYXJhbSgiXDE2MyIsICR0ZWxlZ3JhbV9pZCk7IGlmICgkc3RtdC0+ZXhlY3V0ZSgpICYmICRzdG10LT5hZmZlY3RlZF9yb3dzID4gMCkgeyBzZW5kTWVzc2FnZSgkY2hhdF9pZCwgIlx4NTVceDczXHg2NVwxNjJceDIweyR0ZWxlZ3JhbV9pZH1cNDBceDY0XDE0NVwxNTRcMTQ1XHg3NFx4NjVcMTQ0XHgyMFx4NzNcMTY1XDE0M1wxNDNceDY1XDE2M1x4NzNceDY2XDE2NVx4NmNcMTU0XDE3MVw1NiIpOyBsb2dQcm9jZXNzKCRjaGF0X2lkLCAkY2hhdF9pZCwgIlx4MmZceDY0XDE0NVwxNTRcMTQ1XDE2NFx4NjUiLCAiXDEyNVwxNjNceDY1XHg3Mlx4MjBcMTQ0XHg2NVx4NmNcMTQ1XDE2NFwxNDVceDY0XDcyXDQweyR0ZWxlZ3JhbV9pZH0iKTsgfSBlbHNlIHsgc2VuZE1lc3NhZ2UoJGNoYXRfaWQsICJcMTI1XHg3M1x4NjVceDcyXDQweyR0ZWxlZ3JhbV9pZH1cNDBcMTU2XDE1N1wxNjRcNDBcMTQ2XDE1N1wxNjVcMTU2XDE0NFx4MjBceDZmXHg3Mlw0MFwxNDRcMTQ1XDE1NFwxNDVceDc0XHg2OVwxNTdcMTU2XDQwXHg2Nlx4NjFcMTUxXDE1NFx4NjVcMTQ0XDU2Iik7IGxvZ1Byb2Nlc3MoJGNoYXRfaWQsICRjaGF0X2lkLCAiXDU3XHg2NFwxNDVcMTU0XDE0NVwxNjRceDY1IiwgIlwxMDZcMTQxXDE1MVx4NmNcMTQ1XDE0NFw0MFwxNjRceDZmXHgyMFwxNDRcMTQ1XHg2Y1x4NjVcMTY0XDE0NVw0MFx4NzVceDczXHg2NVwxNjJceDNhXHgyMHskdGVsZWdyYW1faWR9Iik7IH0gJHN0bXQtPmNsb3NlKCk7ICRjb25uLT5jbG9zZSgpOyB9IGdvdG8gRVR4aVU7IEVUeGlVOiBmdW5jdGlvbiBnZXRVc2VyUm9sZSgkdXNlcl9pZCkgeyBnbG9iYWwgJGRiX2hvc3QsICRkYl91c2VyLCAkZGJfcGFzcywgJGRiX25hbWU7ICRjb25uID0gbmV3IG15c3FsaSgkZGJfaG9zdCwgJGRiX3VzZXIsICRkYl9wYXNzLCAkZGJfbmFtZSk7IGlmICgkY29ubi0+Y29ubmVjdF9lcnJvcikgeyByZXR1cm4gbnVsbDsgfSAkc3RtdCA9ICRjb25uLT5wcmVwYXJlKCJcMTIzXDEwNVwxMTRceDQ1XDEwM1x4NTRcNDBcMTYyXHg2ZlwxNTRceDY1XDQwXDEwNlx4NTJceDRmXDExNVx4MjBceDYxXDE2NVwxNjRcMTUwXHg2Zlx4NzJceDY5XHg3YVx4NjVceDY0XHg1Zlx4NzVcMTYzXHg2NVx4NzJcMTYzXHgyMFx4NTdceDQ4XDEwNVx4NTJceDQ1XDQwXDE2NVwxNjNceDY1XDE2Mlx4NWZcMTUxXDE0NFw0MFw3NVx4MjBcNzciKTsgJHN0bXQtPmJpbmRfcGFyYW0oIlx4NzMiLCAkdXNlcl9pZCk7ICRzdG10LT5leGVjdXRlKCk7ICRzdG10LT5iaW5kX3Jlc3VsdCgkcm9sZSk7ICRzdG10LT5mZXRjaCgpOyAkc3RtdC0+Y2xvc2UoKTsgJGNvbm4tPmNsb3NlKCk7IHJldHVybiAkcm9sZTsgfSBnb3RvIEhNTlJ5OyBsZ0lndzogJHVwZGF0ZSA9IGpzb25fZGVjb2RlKCRjb250ZW50LCB0cnVlKTsgZ290byBiTWsxaTsgcGdwMEc6IGZ1bmN0aW9uIGxvZ1Byb2Nlc3MoJHVzZXJfaWQsICRjaGF0X2lkLCAkY29tbWFuZCwgJGxvZ19kZXRhaWxzID0gJycpIHsgZ2xvYmFsICRkYl9ob3N0LCAkZGJfdXNlciwgJGRiX3Bhc3MsICRkYl9uYW1lOyAkY29ubiA9IG5ldyBteXNxbGkoJGRiX2hvc3QsICRkYl91c2VyLCAkZGJfcGFzcywgJGRiX25hbWUpOyBpZiAoJGNvbm4tPmNvbm5lY3RfZXJyb3IpIHsgc2VuZE1lc3NhZ2UoJGNoYXRfaWQsICJceDRjXDE1N1wxNDdceDY3XHg2OVwxNTZceDY3XHgyMFx4NjZcMTQxXDE1MVx4NmNcMTQ1XHg2NFx4MmVcNDBceDUwXHg2Y1x4NjVceDYxXDE2M1x4NjVceDIwXDE0M1wxNTBceDY1XHg2M1wxNTNcNDBcMTY0XHg2OFwxNDVcNDBceDczXDE0NVx4NzJceDc2XDE0NVx4NzJcNTYiKTsgcmV0dXJuOyB9ICRzdG10ID0gJGNvbm4tPnByZXBhcmUoIlx4NDlceDRlXDEyM1wxMDVcMTIyXDEyNFw0MFwxMTFceDRlXDEyNFx4NGZceDIwXHg2Mlx4NmZcMTY0XDEzN1wxNTRcMTU3XDE0N1x4NzNceDIwXHgyOFx4NzVceDczXDE0NVx4NzJceDVmXDE1MVx4NjRcNTRcNDBcMTQzXDE1MFwxNDFceDc0XHg1ZlwxNTFcMTQ0XDU0XDQwXDE0M1wxNTdceDZkXHg2ZFx4NjFceDZlXDE0NFx4MmNceDIwXHg2Y1x4NmZcMTQ3XDEzN1x4NjRcMTQ1XDE2NFx4NjFcMTUxXHg2Y1x4NzNcNTFceDIwXHg1Nlx4NDFceDRjXHg1NVwxMDVceDUzXHgyMFx4MjhceDNmXHgyY1x4MjBcNzdceDJjXHgyMFx4M2ZcNTRcNDBcNzdcNTEiKTsgJHN0bXQtPmJpbmRfcGFyYW0oIlx4NzNceDczXDE2M1x4NzMiLCAkdXNlcl9pZCwgJGNoYXRfaWQsICRjb21tYW5kLCAkbG9nX2RldGFpbHMpOyAkc3RtdC0+ZXhlY3V0ZSgpOyAkc3RtdC0+Y2xvc2UoKTsgJGNvbm4tPmNsb3NlKCk7IH0gZ290byBCdWdTVTsgYk1rMWk6IGVycm9yX2xvZyhqc29uX2VuY29kZSgkdXBkYXRlKSk7IGdvdG8gTWNHMlg7IEVjUFMxOiAkZGJfbmFtZSA9ICJcMTYzXDE2NFwxNDFcMTcxXHg3MVwxNTVcMTYxXDE0MlwxMzdcMTYzXDE2NFwxNDFcMTcxXDE1MFwxNTdcMTU1XHg2NVwxNDRcMTQyIjsgZ290byB6TXBaMjsgSE1OUnk6IGZ1bmN0aW9uIGdldFVzZXJEZXRhaWxzKCR0ZWxlZ3JhbV9pZCwgJGNoYXRfaWQpIHsgZ2xvYmFsICRkYl9ob3N0LCAkZGJfdXNlciwgJGRiX3Bhc3MsICRkYl9uYW1lOyAkY29ubiA9IG5ldyBteXNxbGkoJGRiX2hvc3QsICRkYl91c2VyLCAkZGJfcGFzcywgJGRiX25hbWUpOyBpZiAoJGNvbm4tPmNvbm5lY3RfZXJyb3IpIHsgc2VuZE1lc3NhZ2UoJGNoYXRfaWQsICJcMTA0XHg2MVwxNjRcMTQxXHg2Mlx4NjFcMTYzXHg2NVw0MFx4NjNceDZmXHg2ZVx4NmVceDY1XDE0M1wxNjRcMTUxXDE1N1x4NmVceDIwXDE0Nlx4NjFcMTUxXDE1NFwxNDVcMTQ0XHgyZVx4MjBcMTIwXHg2Y1x4NjVceDYxXHg3M1x4NjVceDIwXDE0M1wxNTBceDY1XDE0M1x4NmJcNDBceDc0XHg2OFwxNDVceDIwXDE2M1x4NjVcMTYyXDE2Nlx4NjVcMTYyXHgyZSIpOyBsb2dQcm9jZXNzKCRjaGF0X2lkLCAkY2hhdF9pZCwgIlw1N1wxNDdceDY1XHg3NCIsICJcMTA0XDE0MVx4NzRceDYxXHg2Mlx4NjFceDczXHg2NVx4MjBceDYzXHg2Zlx4NmVceDZlXDE0NVx4NjNceDc0XDE1MVx4NmZceDZlXHgyMFwxNDZcMTQxXHg2OVwxNTRceDY1XHg2NFx4MmUiKTsgcmV0dXJuOyB9ICRzdG10ID0gJGNvbm4tPnByZXBhcmUoIlwxMjNceDQ1XHg0Y1x4NDVceDQzXDEyNFx4MjBceDczXHg3NVx4NjJceDczXDE0M1wxNjJceDY5XDE2MFx4NzRcMTUxXHg2ZlwxNTZcMTM3XDE2M1x4NzRceDYxXHg3Mlx4NzRcNTRcNDBceDczXDE2NVwxNDJcMTYzXDE0M1wxNjJceDY5XDE2MFwxNjRcMTUxXHg2Zlx4NmVcMTM3XHg2NVx4NmVcMTQ0XDQwXHg0NlwxMjJcMTE3XDExNVw0MFx4NjFcMTY1XDE2NFwxNTBcMTU3XHg3Mlx4NjlcMTcyXDE0NVwxNDRceDVmXHg3NVx4NzNcMTQ1XDE2Mlx4NzNcNDBceDU3XHg0OFwxMDVceDUyXHg0NVw0MFx4NzVceDczXDE0NVwxNjJceDVmXHg2OVx4NjRceDIwXDc1XDQwXHgzZiIpOyAkc3RtdC0+YmluZF9wYXJhbSgiXDE2MyIsICR0ZWxlZ3JhbV9pZCk7ICRzdG10LT5leGVjdXRlKCk7ICRzdG10LT5iaW5kX3Jlc3VsdCgkc3Vic2NyaXB0aW9uX3N0YXJ0LCAkc3Vic2NyaXB0aW9uX2VuZCk7ICRzdG10LT5mZXRjaCgpOyAkc3RtdC0+Y2xvc2UoKTsgaWYgKCRzdWJzY3JpcHRpb25fc3RhcnQgJiYgJHN1YnNjcmlwdGlvbl9lbmQpIHsgJHN0bXQgPSAkY29ubi0+cHJlcGFyZSgiXDEyM1x4NDVcMTE0XHg0NVx4NDNcMTI0XDQwXHg0M1x4NGZceDU1XHg0ZVx4NTRcNTBcNTJceDI5XDQwXDEwNlwxMjJceDRmXDExNVw0MFwxNDJcMTU3XHg3NFwxMzdceDZjXDE1N1x4NjdcMTYzXHgyMFwxMjdcMTEwXHg0NVwxMjJcMTA1XHgyMFwxNjVcMTYzXHg2NVx4NzJcMTM3XHg2OVwxNDRcNDBcNzVceDIwXHgzZiIpOyAkc3RtdC0+YmluZF9wYXJhbSgiXDE2MyIsICR0ZWxlZ3JhbV9pZCk7ICRzdG10LT5leGVjdXRlKCk7ICRzdG10LT5iaW5kX3Jlc3VsdCgkbG9nX2NvdW50KTsgJHN0bXQtPmZldGNoKCk7ICRzdG10LT5jbG9zZSgpOyBzZW5kTWVzc2FnZSgkY2hhdF9pZCwgIlx4NTVceDczXHg2NVx4NzJcNDB7JHRlbGVncmFtX2lkfVx4M2FcMTJceDUzXHg3NVwxNDJcMTYzXDE0M1x4NzJceDY5XDE2MFwxNjRceDY5XHg2ZlwxNTZcNDBceDUzXDE2NFx4NjFceDcyXDE2NFx4M2FcNDB7JHN1YnNjcmlwdGlvbl9zdGFydH1ceGFceDUzXDE2NVx4NjJcMTYzXDE0M1x4NzJceDY5XHg3MFx4NzRcMTUxXHg2Zlx4NmVcNDBcMTA1XHg2ZVwxNDRceDNhXHgyMHskc3Vic2NyaXB0aW9uX2VuZH1cMTJceDRjXDE1N1x4NjdceDIwXDEwM1wxNTdceDc1XDE1NlwxNjRcNzJceDIweyRsb2dfY291bnR9Iik7IGxvZ1Byb2Nlc3MoJGNoYXRfaWQsICRjaGF0X2lkLCAiXHgyZlwxNDdcMTQ1XDE2NCIsICJceDU1XHg3M1x4NjVcMTYyXHgyMFx4NjRcMTQ1XDE2NFx4NjFceDY5XHg2Y1wxNjNcNDBcMTYyXDE0NVx4NzRcMTYyXDE1MVx4NjVcMTY2XDE0NVwxNDRcNzJcNDB7JHRlbGVncmFtX2lkfSIpOyB9IGVsc2UgeyBzZW5kTWVzc2FnZSgkY2hhdF9pZCwgIlx4NTVceDczXHg2NVwxNjJceDIweyR0ZWxlZ3JhbV9pZH1cNDBceDZlXDE1N1x4NzRceDIwXDE0Nlx4NmZcMTY1XDE1Nlx4NjRceDJlIik7IGxvZ1Byb2Nlc3MoJGNoYXRfaWQsICRjaGF0X2lkLCAiXDU3XHg2N1wxNDVceDc0IiwgIlwxMjVcMTYzXHg2NVx4NzJcNDBceDZlXHg2ZlwxNjRceDIwXHg2Nlx4NmZcMTY1XDE1Nlx4NjRcNzJcNDB7JHRlbGVncmFtX2lkfSIpOyB9ICRjb25uLT5jbG9zZSgpOyB9IGdvdG8gUjdUaHU7IEtDR0QwOiBmdW5jdGlvbiBhZGRVc2VyKCR0ZWxlZ3JhbV9pZCwgJHN1Yl9wZXJpb2QsICRjaGF0X2lkKSB7IGdsb2JhbCAkZGJfaG9zdCwgJGRiX3VzZXIsICRkYl9wYXNzLCAkZGJfbmFtZTsgJHN1YnNjcmlwdGlvbl9zdGFydCA9IGRhdGUoIlwxMzFcNTVceDZkXHgyZFwxNDQiKTsgJHN1YnNjcmlwdGlvbl9lbmQgPSBkYXRlKCJceDU5XDU1XHg2ZFx4MmRceDY0Iiwgc3RydG90aW1lKCJcNTN7JHN1Yl9wZXJpb2R9XDQwXDE0NFx4NjFcMTcxXHg3MyIpKTsgJGNvbm4gPSBuZXcgbXlzcWxpKCRkYl9ob3N0LCAkZGJfdXNlciwgJGRiX3Bhc3MsICRkYl9uYW1lKTsgaWYgKCRjb25uLT5jb25uZWN0X2Vycm9yKSB7IHNlbmRNZXNzYWdlKCRjaGF0X2lkLCAiXDEwNFx4NjFcMTY0XHg2MVwxNDJcMTQxXHg3M1x4NjVceDIwXHg2M1wxNTdceDZlXDE1NlwxNDVceDYzXHg3NFx4NjlceDZmXDE1Nlw0MFx4NjZceDYxXHg2OVx4NmNcMTQ1XHg2NFx4MmVcNDBcMTIwXDE1NFx4NjVceDYxXHg3M1wxNDVceDIwXHg2M1wxNTBceDY1XHg2M1wxNTNcNDBcMTY0XDE1MFwxNDVcNDBcMTYzXDE0NVx4NzJcMTY2XHg2NVx4NzJcNTYiKTsgbG9nUHJvY2VzcygkY2hhdF9pZCwgJGNoYXRfaWQsICJcNTdcMTYzXDE0NVwxNjQiLCAiXDEwNFwxNDFcMTY0XDE0MVx4NjJceDYxXDE2M1x4NjVcNDBcMTQzXDE1N1wxNTZceDZlXDE0NVwxNDNceDc0XHg2OVwxNTdcMTU2XDQwXDE0Nlx4NjFceDY5XHg2Y1wxNDVcMTQ0XHgyZSIpOyByZXR1cm47IH0gJHN0bXQgPSAkY29ubi0+cHJlcGFyZSgiXHg1M1x4NDVceDRjXHg0NVwxMDNcMTI0XDQwXHg0M1wxMTdcMTI1XDExNlx4NTRceDI4XDUyXDUxXDQwXHg0NlwxMjJcMTE3XHg0ZFx4MjBcMTQxXHg3NVx4NzRcMTUwXDE1N1wxNjJceDY5XHg3YVx4NjVceDY0XDEzN1wxNjVcMTYzXDE0NVx4NzJcMTYzXDQwXHg1N1x4NDhceDQ1XDEyMlx4NDVceDIwXHg3NVx4NzNcMTQ1XDE2Mlx4NWZceDY5XHg2NFx4MjBcNzVceDIwXHgzZiIpOyAkc3RtdC0+YmluZF9wYXJhbSgiXHg3MyIsICR0ZWxlZ3JhbV9pZCk7ICRzdG10LT5leGVjdXRlKCk7ICRzdG10LT5iaW5kX3Jlc3VsdCgkdXNlcl9jb3VudCk7ICRzdG10LT5mZXRjaCgpOyAkc3RtdC0+Y2xvc2UoKTsgaWYgKCR1c2VyX2NvdW50ID4gMCkgeyAkc3RtdCA9ICRjb25uLT5wcmVwYXJlKCJcMTI1XDEyMFwxMDRcMTAxXHg1NFx4NDVcNDBceDYxXDE2NVx4NzRcMTUwXDE1N1wxNjJceDY5XDE3Mlx4NjVcMTQ0XHg1Zlx4NzVceDczXHg2NVwxNjJcMTYzXDQwXDEyM1wxMDVceDU0XHgyMFx4NzNceDc1XDE0MlwxNjNcMTQzXHg3MlwxNTFcMTYwXDE2NFwxNTFceDZmXDE1NlwxMzdceDczXHg3NFwxNDFcMTYyXHg3NFx4MjBceDNkXHgyMFw3N1w1NFw0MFx4NzNcMTY1XDE0MlwxNjNcMTQzXHg3MlwxNTFceDcwXHg3NFwxNTFcMTU3XDE1Nlx4NWZcMTQ1XHg2ZVx4NjRceDIwXHgzZFx4MjBceDNmXDQwXHg1N1x4NDhceDQ1XDEyMlx4NDVceDIwXHg3NVwxNjNceDY1XDE2MlwxMzdceDY5XHg2NFx4MjBceDNkXDQwXHgzZiIpOyAkc3RtdC0+YmluZF9wYXJhbSgiXDE2M1x4NzNceDczIiwgJHN1YnNjcmlwdGlvbl9zdGFydCwgJHN1YnNjcmlwdGlvbl9lbmQsICR0ZWxlZ3JhbV9pZCk7IGlmICgkc3RtdC0+ZXhlY3V0ZSgpKSB7IHNlbmRNZXNzYWdlKCRjaGF0X2lkLCAiXDEyNVx4NzNceDY1XDE2Mlw0MHskdGVsZWdyYW1faWR9XDQ3XHg3M1w0MFx4NzNceDc1XHg2MlwxNjNceDYzXDE2MlwxNTFcMTYwXDE2NFx4NjlcMTU3XDE1Nlw0MFx4NzVceDcwXDE0NFwxNDFcMTY0XHg2NVwxNDRceDIwXDE2NFwxNTdcNDB7JHN1Yl9wZXJpb2R9XHgyMFx4NjRceDYxXDE3MVx4NzNceDJlIik7IGxvZ1Byb2Nlc3MoJGNoYXRfaWQsICRjaGF0X2lkLCAiXDU3XHg3M1x4NjVceDc0IiwgIlwxMjVcMTYzXDE0NVwxNjJceDIwXHg3M1wxNjVcMTQyXDE2M1wxNDNcMTYyXDE1MVwxNjBceDc0XDE1MVx4NmZceDZlXHgyMFx4NzVcMTYwXHg2NFx4NjFcMTY0XHg2NVx4NjRcNzJcNDB7JHRlbGVncmFtX2lkfVw1NFx4MjBcMTIzXDE2NVx4NjJcMTYzXHg2M1x4NzJcMTUxXDE2MFwxNjRcMTUxXDE1N1wxNTZceDNhXHgyMHskc3ViX3BlcmlvZH1cNDBcMTQ0XDE0MVwxNzFceDczIik7IH0gZWxzZSB7IHNlbmRNZXNzYWdlKCRjaGF0X2lkLCAiXDEwNlwxNDFcMTUxXDE1NFwxNDVceDY0XDQwXDE2NFx4NmZcNDBceDc1XHg3MFx4NjRceDYxXDE2NFwxNDVcNDBcMTY1XDE2M1wxNDVceDcyXHgyMHskdGVsZWdyYW1faWR9XDQ3XHg3M1x4MjBcMTYzXDE2NVx4NjJceDczXDE0M1x4NzJceDY5XHg3MFwxNjRceDY5XHg2ZlwxNTZcNTYiKTsgbG9nUHJvY2VzcygkY2hhdF9pZCwgJGNoYXRfaWQsICJcNTdcMTYzXDE0NVx4NzQiLCAiXDEwNlx4NjFcMTUxXHg2Y1x4NjVceDY0XHgyMFx4NzRcMTU3XHgyMFwxNjVceDcwXHg2NFx4NjFceDc0XDE0NVw0MFwxNjVceDczXDE0NVwxNjJceDIwXDE2M1x4NzVceDYyXDE2M1x4NjNcMTYyXDE1MVx4NzBcMTY0XDE1MVwxNTdcMTU2XHgzYVw0MHskdGVsZWdyYW1faWR9Iik7IH0gfSBlbHNlIHsgJHN0bXQgPSAkY29ubi0+cHJlcGFyZSgiXHg0OVx4NGVcMTIzXHg0NVwxMjJcMTI0XHgyMFx4NDlceDRlXDEyNFx4NGZcNDBcMTQxXDE2NVx4NzRcMTUwXDE1N1wxNjJcMTUxXDE3MlwxNDVceDY0XHg1Zlx4NzVcMTYzXHg2NVx4NzJcMTYzXHgyMFw1MFwxNjVcMTYzXHg2NVwxNjJcMTM3XDE1MVx4NjRcNTRcNDBcMTYzXDE2NVx4NjJcMTYzXHg2M1x4NzJceDY5XDE2MFwxNjRceDY5XHg2Zlx4NmVceDVmXHg3M1wxNjRcMTQxXDE2MlwxNjRcNTRceDIwXHg3M1wxNjVceDYyXDE2M1x4NjNceDcyXHg2OVwxNjBcMTY0XDE1MVx4NmZceDZlXHg1Zlx4NjVcMTU2XHg2NFw1NFx4MjBceDcyXDE1N1wxNTRcMTQ1XHgyOVw0MFx4NTZceDQxXDExNFwxMjVcMTA1XDEyM1w0MFw1MFw3N1x4MmNcNDBceDNmXHgyY1x4MjBceDNmXHgyY1x4MjBcNDdcMTY1XHg3M1wxNDVcMTYyXDQ3XDUxIik7ICRzdG10LT5iaW5kX3BhcmFtKCJceDczXDE2M1x4NzMiLCAkdGVsZWdyYW1faWQsICRzdWJzY3JpcHRpb25fc3RhcnQsICRzdWJzY3JpcHRpb25fZW5kKTsgaWYgKCRzdG10LT5leGVjdXRlKCkpIHsgc2VuZE1lc3NhZ2UoJGNoYXRfaWQsICJceDU1XDE2M1x4NjVceDcyXDQweyR0ZWxlZ3JhbV9pZH1ceDIwXHg2MVx4NjRceDY0XDE0NVwxNDRcNDBcMTYzXDE2NVwxNDNceDYzXHg2NVwxNjNcMTYzXDE0Nlx4NzVcMTU0XDE1NFwxNzFcNDBcMTY3XHg2OVx4NzRceDY4XDQwXDE0MVw0MFx4NzNceDc1XHg2Mlx4NzNcMTQzXDE2MlwxNTFcMTYwXHg3NFwxNTFcMTU3XHg2ZVw0MFx4NzBcMTQ1XDE2Mlx4NjlceDZmXDE0NFw0MFwxNTdcMTQ2XDQweyRzdWJfcGVyaW9kfVw0MFx4NjRcMTQxXDE3MVwxNjNcNTYiKTsgbG9nUHJvY2VzcygkY2hhdF9pZCwgJGNoYXRfaWQsICJcNTdcMTYzXHg2NVwxNjQiLCAiXDEyNVwxNjNcMTQ1XDE2Mlx4MjBceDYxXHg2NFx4NjRcMTQ1XHg2NFx4M2FceDIweyR0ZWxlZ3JhbV9pZH1ceDJjXHgyMFx4NTNcMTY1XHg2MlwxNjNceDYzXHg3MlwxNTFceDcwXHg3NFx4NjlceDZmXDE1Nlw3Mlx4MjB7JHN1Yl9wZXJpb2R9XHgyMFx4NjRceDYxXHg3OVwxNjMiKTsgfSBlbHNlIHsgc2VuZE1lc3NhZ2UoJGNoYXRfaWQsICJceDQ2XHg2MVx4NjlceDZjXHg2NVwxNDRceDIwXDE2NFx4NmZceDIwXDE0MVwxNDRceDY0XHgyMFwxNjVcMTYzXDE0NVx4NzJcNDB7JHRlbGVncmFtX2lkfVw1NiIpOyBsb2dQcm9jZXNzKCRjaGF0X2lkLCAkY2hhdF9pZCwgIlw1N1x4NzNceDY1XDE2NCIsICJcMTA2XHg2MVwxNTFceDZjXDE0NVx4NjRceDIwXHg3NFx4NmZcNDBceDYxXHg2NFwxNDRceDIwXDE2NVx4NzNcMTQ1XDE2Mlx4M2FceDIweyR0ZWxlZ3JhbV9pZH0iKTsgfSB9ICRzdG10LT5jbG9zZSgpOyAkY29ubi0+Y2xvc2UoKTsgfSBnb3RvIFdmZ1FEOyBoR3VjMjogJGNwYW5lbF9wYXNzID0gIlx4NDRcMTY1XDExN1x4NGFceDc5XDE2MFx4NzlcNjNceDU4XHg1M1x4NThceDRhIjsgZ290byBSSUdqMTsgek1wWjI6ICRsYXN0X2NvbW1hbmRfdGltZSA9IGFycmF5KCk7IGdvdG8gY04wdW87IEdwMVdBOiAkY3BhbmVsX3VzZXIgPSAiXHg3M1wxNjRceDYxXHg3OVx4NzFcMTU1XHg3MVx4NjIiOyBnb3RvIGhHdWMyOyBSN1RodTogZnVuY3Rpb24gaXNTdWJzY3JpcHRpb25BY3RpdmUoJHVzZXJfaWQpIHsgZ2xvYmFsICRkYl9ob3N0LCAkZGJfdXNlciwgJGRiX3Bhc3MsICRkYl9uYW1lOyAkY29ubiA9IG5ldyBteXNxbGkoJGRiX2hvc3QsICRkYl91c2VyLCAkZGJfcGFzcywgJGRiX25hbWUpOyBpZiAoJGNvbm4tPmNvbm5lY3RfZXJyb3IpIHsgcmV0dXJuIGZhbHNlOyB9ICRzdG10ID0gJGNvbm4tPnByZXBhcmUoIlx4NTNceDQ1XDExNFx4NDVcMTAzXDEyNFx4MjBceDczXHg3NVx4NjJceDczXDE0M1x4NzJcMTUxXDE2MFwxNjRceDY5XHg2ZlwxNTZceDVmXHg2NVx4NmVcMTQ0XDQwXHg0NlwxMjJceDRmXDExNVw0MFx4NjFceDc1XDE2NFwxNTBcMTU3XDE2Mlx4NjlcMTcyXDE0NVwxNDRceDVmXDE2NVwxNjNcMTQ1XHg3Mlx4NzNceDIwXDEyN1wxMTBcMTA1XDEyMlwxMDVcNDBcMTY1XDE2M1x4NjVcMTYyXHg1Zlx4NjlcMTQ0XHgyMFx4M2RceDIwXDc3Iik7ICRzdG10LT5iaW5kX3BhcmFtKCJceDczIiwgJHVzZXJfaWQpOyAkc3RtdC0+ZXhlY3V0ZSgpOyAkc3RtdC0+YmluZF9yZXN1bHQoJHN1YnNjcmlwdGlvbl9lbmQpOyAkc3RtdC0+ZmV0Y2goKTsgJHN0bXQtPmNsb3NlKCk7ICRjb25uLT5jbG9zZSgpOyBpZiAoJHN1YnNjcmlwdGlvbl9lbmQpIHsgcmV0dXJuIHN0cnRvdGltZSgkc3Vic2NyaXB0aW9uX2VuZCkgPj0gc3RydG90aW1lKGRhdGUoIlx4NTlceDJkXDE1NVx4MmRcMTQ0IikpOyB9IHJldHVybiBmYWxzZTsgfSBnb3RvIFdMWllHOyBtcG12UDogJGVtYWlsX3Bhc3N3b3JkID0gIlx4NTZceDJlXDEwM1x4NGNceDM0XDE2Mlx4NmFcMTI0XDEzNVwxNDRcMTIxXDE1MCI7IGdvdG8gUXR0V0E7IGk4d1hZOiAkYm90X3Rva2VuID0gIlw2N1w2Mlx4MzhcNzFceDMxXDYzXHgzOFw2NVw2NFx4MzBcNzJcMTAxXHg0MVx4NDVcMTEzXHg1MlwxMjdcNjdcNzFcMTAyXDE0NVx4NzZceDczXDExMFwxMDZceDM1XDE1NFx4NmZcMTQ3XDExM1x4NGNceDRkXDExM1x4NzdceDUwXDE2MVwxNDRceDZmXDY3XDYwXDEyNFx4NTRcMTA1XDYwXHgzOVx4MzgiOyBnb3RvIFZ0UHJDOyBXTFpZRzogJGNvbnRlbnQgPSBmaWxlX2dldF9jb250ZW50cygiXHg3MFx4NjhceDcwXHgzYVx4MmZcNTdceDY5XDE1NlwxNjBcMTY1XDE2NCIpOyBnb3RvIGxnSWd3OyBWdFByQzogJGFwaV91cmwgPSAiXDE1MFwxNjRceDc0XDE2MFwxNjNceDNhXDU3XDU3XDE0MVwxNjBceDY5XHgyZVwxNjRceDY1XDE1NFx4NjVceDY3XDE2MlwxNDFceDZkXHgyZVwxNTdceDcyXDE0N1w1N1wxNDJcMTU3XDE2NHskYm90X3Rva2VufVw1NyI7IGdvdG8gR3AxV0E7IGNTSGt4OiBmdW5jdGlvbiBlbWFpbEV4aXN0cygkZW1haWxfdXNlcm5hbWUpIHsgZ2xvYmFsICRjcGFuZWxfdXNlciwgJGNwYW5lbF9wYXNzLCAkY3BhbmVsX2RvbWFpbiwgJGNwYW5lbF9hcGlfdXJsOyAkY2ggPSBjdXJsX2luaXQoKTsgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VSTCwgInskY3BhbmVsX2FwaV91cmx9XDU3XHg2Y1wxNTFceDczXDE2NFx4NWZceDcwXHg2ZlwxNjBcMTYzXHgzZlwxNDFcMTYwXDE1MVx4MmVcMTY2XHg2NVx4NzJcMTYzXHg2OVwxNTdcMTU2XHgzZFx4MzFceDI2XDE0NFx4NmZceDZkXDE0MVwxNTFcMTU2XDc1eyRjcGFuZWxfZG9tYWlufSIpOyBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOyBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVNFUlBXRCwgInskY3BhbmVsX3VzZXJ9XHgzYXskY3BhbmVsX3Bhc3N9Iik7ICRyZXN1bHQgPSBjdXJsX2V4ZWMoJGNoKTsgY3VybF9jbG9zZSgkY2gpOyAkcmVzdWx0X2pzb24gPSBqc29uX2RlY29kZSgkcmVzdWx0LCB0cnVlKTsgaWYgKGlzc2V0KCRyZXN1bHRfanNvblsiXDE0NFx4NjFceDc0XDE0MSJdKSAmJiBpc19hcnJheSgkcmVzdWx0X2pzb25bIlx4NjRceDYxXDE2NFx4NjEiXSkpIHsgZm9yZWFjaCAoJHJlc3VsdF9qc29uWyJceDY0XDE0MVx4NzRceDYxIl0gYXMgJGVtYWlsKSB7IGlmICgkZW1haWxbIlx4NjVceDZkXHg2MVx4NjlcMTU0Il0gPT09ICJ7JGVtYWlsX3VzZXJuYW1lfSIpIHsgcmV0dXJuIHRydWU7IH0gfSB9IHJldHVybiBmYWxzZTsgfSBnb3RvIFdHS3NuOyBjSVNxRTogJGltYXBfaG9zdCA9ICJceDdiXDE2MFx4NzJceDY1XHg2ZFwxNTFcMTY1XDE1NVw2MVw2MFw2M1x4MmVceDc3XDE0NVx4NjJcNTVceDY4XDE1N1x4NzNcMTY0XHg2OVx4NmVceDY3XHgyZVwxNDNcMTU3XHg2ZFx4M2FcNzFcNzFceDMzXHgyZlwxNTFceDZkXDE0MVwxNjBceDJmXDE2M1wxNjNceDZjXHg3ZFx4NDlceDRlXHg0MlwxMTdcMTMwIjsgZ290byBtcG12UDsgVVFndkY6ICRhdXRob3JpemVkX3VzZXJzID0gZ2V0QXV0aG9yaXplZFVzZXJzKCk7IGdvdG8ga2FLdFA7IFJJR2oxOiAkY3BhbmVsX2RvbWFpbiA9ICJceDczXHg3NFx4NjFceDc5XDE1MFwxNTdceDZkXDE0NVx4MmVcMTU1XHg2NSI7IGdvdG8gUnEweEw7IEJ1Z1NVOiBmdW5jdGlvbiBleHRyYWN0VmVyaWZpY2F0aW9uQ29kZSgkdXJsKSB7ICRodG1sX2NvbnRlbnQgPSBmaWxlX2dldF9jb250ZW50cygkdXJsKTsgaWYgKCRodG1sX2NvbnRlbnQgPT09IEZBTFNFKSB7IHJldHVybiBudWxsOyB9ICRkb20gPSBuZXcgRE9NRG9jdW1lbnQoKTsgQCRkb20tPmxvYWRIVE1MKCRodG1sX2NvbnRlbnQpOyAkeHBhdGggPSBuZXcgRE9NWFBhdGgoJGRvbSk7ICRlbGVtZW50cyA9ICR4cGF0aC0+cXVlcnkoIlw1N1x4MmZcMTQ0XHg2OVx4NzZceDViXDEwMFx4NjRcMTQxXHg3NFx4NjFcNTVceDc1XHg2OVx4NjFceDNkXDQ3XDE2NFx4NzJceDYxXDE2Nlx4NjVcMTU0XHgyZFx4NzZceDY1XDE2Mlx4NjlceDY2XHg2OVwxNDNceDYxXDE2NFx4NjlcMTU3XDE1Nlx4MmRceDZmXDE2NFx4NzBceDI3XDQwXDE0MVx4NmVceDY0XDQwXHg2M1x4NmZcMTU2XHg3NFwxNDFceDY5XHg2ZVwxNjNceDI4XDEwMFwxNDNceDZjXHg2MVwxNjNcMTYzXDU0XDQwXHgyN1wxNDNceDY4XDE0MVx4NmNceDZjXDE0NVx4NmVceDY3XHg2NVw1NVwxNDNceDZmXDE0NFwxNDVcNDdcNTFceDVkIik7IGlmICgkZWxlbWVudHMtPmxlbmd0aCA+IDApIHsgcmV0dXJuIHRyaW0oJGVsZW1lbnRzWzBdLT5ub2RlVmFsdWUpOyB9IHJldHVybiBudWxsOyB9IGdvdG8gY1NIa3g7IExHcm4xOiAkZGJfcGFzcyA9ICJcMTM1XDEyNFwxNTVceDIxXHgyNVwxNDRcMTA1XHg3NVwxNTdceDY3XDExMFwxMTEiOyBnb3RvIEVjUFMxOyBjTjB1bzogZnVuY3Rpb24gc2VuZE1lc3NhZ2UoJGNoYXRfaWQsICRtZXNzYWdlKSB7IGdsb2JhbCAkYXBpX3VybDsgJHVybCA9ICRhcGlfdXJsIC4gIlx4NzNcMTQ1XDE1NlwxNDRceDRkXDE0NVwxNjNceDczXDE0MVx4NjdceDY1XHgzZlx4NjNceDY4XDE0MVwxNjRcMTM3XHg2OVx4NjRceDNkeyRjaGF0X2lkfVx4MjZcMTY0XHg2NVwxNzBcMTY0XHgzZCIgLiB1cmxlbmNvZGUoJG1lc3NhZ2UpOyBmaWxlX2dldF9jb250ZW50cygkdXJsKTsgfSBnb3RvIHBncDBHOyBrYUt0UDogZnVuY3Rpb24gZ2V0VmVyaWZpY2F0aW9uTGluaygkZW1haWxfdXNlcm5hbWUsICRjaGF0X2lkKSB7IGdsb2JhbCAkaW1hcF9ob3N0LCAkZW1haWxfcGFzc3dvcmQsICRhcGlfdXJsOyAkaW5ib3ggPSBAaW1hcF9vcGVuKCRpbWFwX2hvc3QsICRlbWFpbF91c2VybmFtZSwgJGVtYWlsX3Bhc3N3b3JkKTsgaWYgKCRpbmJveCA9PT0gZmFsc2UpIHsgc2VuZE1lc3NhZ2UoJGNoYXRfaWQsICJceDQzXHg2MVwxNTZceDZlXDE1N1x4NzRcNDBceDYzXDE1N1wxNTZcMTU2XHg2NVx4NjNceDc0XDQwXHg3NFx4NmZceDIwXHg0OVwxMTVcMTAxXHg1MFw0MFwxNjNceDY1XDE2MlwxNjZcMTQ1XDE2Mlw3Mlx4MjAiIC4gaW1hcF9sYXN0X2Vycm9yKCkpOyBsb2dQcm9jZXNzKCRjaGF0X2lkLCAkY2hhdF9pZCwgIlw1N1x4NjdcMTQ1XDE2NFx4NzZceDY1XHg3MlwxNTFcMTQ2XHg3OSIsICJceDQ5XDExNVx4NDFceDUwXDQwXHg2M1wxNTdceDZlXDE1Nlx4NjVcMTQzXDE2NFx4NjlcMTU3XHg2ZVx4MjBcMTQ2XHg2MVwxNTFcMTU0XDE0NVwxNDRcNzJceDIwIiAuIGltYXBfbGFzdF9lcnJvcigpKTsgcmV0dXJuOyB9ICRlbWFpbHMgPSBAaW1hcF9zZWFyY2goJGluYm94LCAiXHg0Nlx4NTJceDRmXDExNVx4MjBcNDJcMTUxXHg2ZVwxNDZceDZmXDEwMFx4NjFceDYzXDE0M1x4NmZcMTY1XHg2ZVwxNjRcNTZcMTU2XHg2NVwxNjRceDY2XDE1NFx4NjlcMTcwXDU2XDE0M1wxNTdceDZkXHgyMiIpOyBpZiAoaXNfYXJyYXkoJGVtYWlscykpIHsgcnNvcnQoJGVtYWlscyk7IH0gaWYgKCRlbWFpbHMpIHsgJHZlcmlmeV9saW5rID0gbnVsbDsgZm9yZWFjaCAoJGVtYWlscyBhcyAkZW1haWxfbnVtYmVyKSB7ICRzdHJ1Y3R1cmUgPSBpbWFwX2ZldGNoc3RydWN0dXJlKCRpbmJveCwgJGVtYWlsX251bWJlcik7ICRtZXNzYWdlX2JvZHkgPSAnJzsgaWYgKGlzc2V0KCRzdHJ1Y3R1cmUtPnBhcnRzKSAmJiBpc19hcnJheSgkc3RydWN0dXJlLT5wYXJ0cykpIHsgZm9yZWFjaCAoJHN0cnVjdHVyZS0+cGFydHMgYXMgJHBhcnRfbnVtYmVyID0+ICRwYXJ0KSB7IGlmICgkcGFydC0+c3VidHlwZSA9PSAiXHg0OFx4NTRcMTE1XDExNCIgfHwgJHBhcnQtPnN1YnR5cGUgPT0gIlx4NTBceDRjXDEwMVwxMTFceDRlIikgeyAkbWVzc2FnZV9ib2R5ID0gaW1hcF9mZXRjaGJvZHkoJGluYm94LCAkZW1haWxfbnVtYmVyLCAkcGFydF9udW1iZXIgKyAxKTsgaWYgKCRwYXJ0LT5lbmNvZGluZyA9PSA0KSB7ICRtZXNzYWdlX2JvZHkgPSBxdW90ZWRfcHJpbnRhYmxlX2RlY29kZSgkbWVzc2FnZV9ib2R5KTsgfSBlbHNlaWYgKCRwYXJ0LT5lbmNvZGluZyA9PSAzKSB7ICRtZXNzYWdlX2JvZHkgPSBiYXNlNjRfZGVjb2RlKCRtZXNzYWdlX2JvZHkpOyB9IGJyZWFrOyB9IH0gfSBlbHNlIHsgJG1lc3NhZ2VfYm9keSA9IGltYXBfZmV0Y2hib2R5KCRpbmJveCwgJGVtYWlsX251bWJlciwgMSk7IGlmICgkc3RydWN0dXJlLT5lbmNvZGluZyA9PSA0KSB7ICRtZXNzYWdlX2JvZHkgPSBxdW90ZWRfcHJpbnRhYmxlX2RlY29kZSgkbWVzc2FnZV9ib2R5KTsgfSBlbHNlaWYgKCRzdHJ1Y3R1cmUtPmVuY29kaW5nID09IDMpIHsgJG1lc3NhZ2VfYm9keSA9IGJhc2U2NF9kZWNvZGUoJG1lc3NhZ2VfYm9keSk7IH0gfSBpZiAoJG1lc3NhZ2VfYm9keSkgeyBpZiAocHJlZ19tYXRjaCgiXHgyZlwxNTBcMTY0XHg3NFx4NzBcMTYzXDcyXHg1Y1x4MmZceDVjXDU3XDE2N1x4NzdceDc3XHg1Y1x4MmVceDZlXHg2NVx4NzRcMTQ2XDE1NFx4NjlceDc4XDEzNFx4MmVcMTQzXDE1N1x4NmRcMTM0XHgyZlwxNjZceDY1XDE2MlwxNTFceDY2XHg3OVx4NjVcMTU1XDE0MVwxNTFceDZjXHg1Y1x4M2ZcMTMzXDEzNlw0Mlx4NWRcNTNcNTciLCAkbWVzc2FnZV9ib2R5LCAkbWF0Y2hlcykpIHsgJHZlcmlmeV9saW5rID0gJG1hdGNoZXNbMF07IGJyZWFrOyB9IH0gfSBpZiAoJHZlcmlmeV9saW5rKSB7ICR2ZXJpZnlfbGluayA9IHJlbW92ZUFmdGVyQnJhY2tldCgkdmVyaWZ5X2xpbmspOyBzZW5kTWVzc2FnZSgkY2hhdF9pZCwgIlx4NTZcMTQ1XDE2Mlx4NjlcMTQ2XDE1MVwxNDNceDYxXHg3NFwxNTFceDZmXDE1Nlx4MjBcMTU0XDE1MVwxNTZceDZiXDQwXHg2Nlx4NmZceDc1XDE1Nlx4NjRcNzJceDIweyR2ZXJpZnlfbGlua30iKTsgbG9nUHJvY2VzcygkY2hhdF9pZCwgJGNoYXRfaWQsICJceDJmXHg2N1wxNDVcMTY0XHg3NlwxNDVcMTYyXDE1MVx4NjZcMTcxIiwgIlwxMjZceDY1XHg3MlwxNTFcMTQ2XDE1MVx4NjNceDYxXDE2NFx4NjlcMTU3XDE1Nlx4MjBcMTU0XDE1MVwxNTZcMTUzXHgyMFx4NzNceDY1XDE1Nlx4NzRceDNhXDQweyR2ZXJpZnlfbGlua30iKTsgfSBlbHNlIHsgc2VuZE1lc3NhZ2UoJGNoYXRfaWQsICJcMTE2XDE1N1x4MjBceDc2XHg2NVx4NzJcMTUxXDE0Nlx4NjlcMTQzXHg2MVx4NzRcMTUxXDE1N1x4NmVcNDBcMTU0XDE1MVwxNTZceDZiXDQwXDE0NlwxNTdcMTY1XDE1Nlx4NjRcNDBceDY5XHg2ZVx4MjBcMTY0XDE1MFwxNDVcNDBceDZjXDE0MVx4NzRceDY1XHg3M1x4NzRceDIwXHg2NVx4NmRceDYxXHg2OVx4NmNceDczXHgyZSIpOyBsb2dQcm9jZXNzKCRjaGF0X2lkLCAkY2hhdF9pZCwgIlw1N1x4NjdcMTQ1XHg3NFwxNjZcMTQ1XDE2Mlx4NjlcMTQ2XHg3OSIsICJcMTE2XHg2Zlw0MFx4NzZcMTQ1XDE2Mlx4NjlcMTQ2XDE1MVx4NjNceDYxXHg3NFx4NjlcMTU3XHg2ZVw0MFx4NmNcMTUxXHg2ZVwxNTNcNDBcMTQ2XDE1N1x4NzVcMTU2XDE0NFx4MmUiKTsgfSB9IGVsc2UgeyBzZW5kTWVzc2FnZSgkY2hhdF9pZCwgIlx4NGVceDZmXHgyMFwxNjZceDY1XDE2MlwxNTFcMTQ2XDE1MVwxNDNceDYxXDE2NFx4NjlcMTU3XDE1Nlw0MFx4NmRcMTQ1XHg3M1x4NzNceDYxXHg2N1wxNDVceDczXHgyMFx4NjZcMTU3XHg3NVx4NmVceDY0XHgyZSIpOyBsb2dQcm9jZXNzKCRjaGF0X2lkLCAkY2hhdF9pZCwgIlx4MmZceDY3XHg2NVx4NzRcMTY2XHg2NVwxNjJcMTUxXHg2Nlx4NzkiLCAiXHg0ZVx4NmZceDIwXDE2Nlx4NjVcMTYyXDE1MVx4NjZceDY5XHg2M1x4NjFcMTY0XDE1MVx4NmZceDZlXHgyMFwxNTVceDY1XHg3M1x4NzNcMTQxXHg2N1x4NjVcMTYzXHgyMFx4NjZceDZmXDE2NVwxNTZcMTQ0XHgyZSIpOyB9IGltYXBfY2xvc2UoJGluYm94KTsgfSBnb3RvIEtDR0QwOyBNY0cyWDogaWYgKGlzc2V0KCR1cGRhdGVbIlx4NmRceDY1XHg3M1x4NzNceDYxXHg2N1x4NjUiXSkpIHsgJG1lc3NhZ2UgPSAkdXBkYXRlWyJcMTU1XHg2NVx4NzNcMTYzXDE0MVwxNDdceDY1Il07ICRjaGF0X2lkID0gJG1lc3NhZ2VbIlx4NjNcMTUwXHg2MVwxNjQiXVsiXDE1MVwxNDQiXTsgJHRleHQgPSAkbWVzc2FnZVsiXDE2NFwxNDVceDc4XHg3NCJdOyAkdXNlcl9pZCA9ICRtZXNzYWdlWyJcMTQ2XDE2Mlx4NmZceDZkIl1bIlwxNTFcMTQ0Il07ICRyb2xlID0gZ2V0VXNlclJvbGUoJHVzZXJfaWQpOyBsb2dQcm9jZXNzKCR1c2VyX2lkLCAkY2hhdF9pZCwgJHRleHQpOyBpZiAoaXNzZXQoJGxhc3RfY29tbWFuZF90aW1lWyR1c2VyX2lkXSkgJiYgdGltZSgpIC0gJGxhc3RfY29tbWFuZF90aW1lWyR1c2VyX2lkXSA8IDEwKSB7IHNlbmRNZXNzYWdlKCRjaGF0X2lkLCAiXHg1MFx4NmNceDY1XDE0MVwxNjNceDY1XHgyMFwxNjdcMTQxXDE1MVx4NzRcNDBcMTQyXDE0NVx4NjZcMTU3XHg3Mlx4NjVcNDBcMTYzXHg2NVwxNTZcMTQ0XHg2OVwxNTZcMTQ3XDQwXHg2MVwxNTZcMTU3XDE2NFx4NjhcMTQ1XHg3Mlx4MjBceDYzXHg2Zlx4NmRceDZkXHg2MVwxNTZceDY0XHgyZSIpOyBkaWU7IH0gJGxhc3RfY29tbWFuZF90aW1lWyR1c2VyX2lkXSA9IHRpbWUoKTsgaWYgKGRhdGUoIlx4NmUiKSA9PSAxMSkgeyBzZW5kTWVzc2FnZSgkY2hhdF9pZCwgIlwxMjNceDY1XHg3MlwxNjZcMTQ1XDE2Mlx4MjBcMTUxXDE2M1w0MFwxMDVcMTcwXHg3MFwxNTFcMTYyXHg2NVwxNDRcNTRcNDBcMTAzXDE1MFwxNDFceDc0XHgyMFwxNjdcMTUxXDE2NFx4NjhcNDBcMTUwXHg3NFx4NzRceDcwXHg3M1w3Mlw1N1x4MmZcMTY0XHgyZVwxNTVceDY1XHgyZlx4NGRceDY1XDE0N1wxNTdcNjBcNjBceDMwXDYwXDE1N1x4MjBcMTQ2XDE1N1wxNjJcNDBcMTIyXHg2NVx4NmVceDY1XHg3N1w1NiIpOyBsb2dQcm9jZXNzKCR1c2VyX2lkLCAkY2hhdF9pZCwgJHRleHQsICJcMTIzXHg2NVwxNjJcMTY2XDE0NVx4NzJceDIwXHg2NVx4NzhcMTYwXDE1MVx4NzJcMTQ1XDE0NFw0MFwxNTVcMTQ1XDE2M1wxNjNceDYxXHg2N1wxNDVcNDBcMTYzXDE0NVx4NmVcMTY0XHgyZSIpOyBkaWU7IH0gaWYgKCFpc1N1YnNjcmlwdGlvbkFjdGl2ZSgkdXNlcl9pZCkpIHsgc2VuZE1lc3NhZ2UoJGNoYXRfaWQsICJcMTMxXHg2ZlwxNjVceDcyXDQwXHg3M1wxNjVcMTQyXHg3M1x4NjNceDcyXHg2OVwxNjBceDc0XHg2OVwxNTdcMTU2XDQwXHg2OFwxNDFceDczXDQwXDE0NVwxNzBceDcwXDE1MVwxNjJceDY1XDE0NFw1Nlx4MjBcMTIwXHg2Y1x4NjVceDYxXHg3M1x4NjVcNDBcMTYyXDE0NVwxNTZceDY1XHg3N1w0MFwxNzFcMTU3XDE2NVwxNjJcNDBceDczXHg3NVwxNDJcMTYzXDE0M1x4NzJceDY5XDE2MFx4NzRceDY5XHg2Zlx4NmVcNDBcMTY0XDE1N1x4MjBcMTQzXDE1N1wxNTZcMTY0XHg2OVwxNTZceDc1XHg2NVw0MFx4NzVcMTYzXHg2OVwxNTZceDY3XDQwXDE2NFwxNTBceDY1XHgyMFwxNDJceDZmXHg3NFx4MmUiKTsgbG9nUHJvY2VzcygkdXNlcl9pZCwgJGNoYXRfaWQsICR0ZXh0LCAiXDEyM1x4NzVceDYyXHg3M1x4NjNcMTYyXDE1MVwxNjBceDc0XHg2OVx4NmZceDZlXDQwXDE0NVwxNzBceDcwXDE1MVx4NzJceDY1XHg2NFw1NiIpOyBkaWU7IH0gaWYgKHN0cnBvcygkdGV4dCwgIlx4MmZcMTYzXDE0NVwxNjQiKSA9PT0gMCkgeyAkcm9sZSA9IGdldFVzZXJSb2xlKCR1c2VyX2lkKTsgaWYgKCRyb2xlICE9PSAiXHg2MVx4NjRceDZkXHg2OVwxNTYiKSB7IHNlbmRNZXNzYWdlKCRjaGF0X2lkLCAiXDEzMVx4NmZceDc1XHgyMFx4NjFcMTYyXDE0NVx4MjBceDZlXHg2Zlx4NzRceDIwXHg2MVwxNjVcMTY0XDE1MFwxNTdcMTYyXDE1MVx4N2FceDY1XDE0NFw0MFx4NzRceDZmXDQwXDE2NVx4NzNceDY1XHgyMFwxNjRcMTUwXDE1MVx4NzNceDIwXHg2M1x4NmZceDZkXHg2ZFwxNDFcMTU2XDE0NFx4MmUiKTsgbG9nUHJvY2VzcygkdXNlcl9pZCwgJGNoYXRfaWQsICR0ZXh0LCAiXDEyNVwxNTZceDYxXDE2NVwxNjRcMTUwXDE1N1wxNjJceDY5XHg3YVwxNDVcMTQ0XDQwXDU3XHg3M1x4NjVceDc0XDQwXHg2M1x4NmZcMTU1XHg2ZFx4NjFceDZlXHg2NFw0MFx4NjFceDc0XHg3NFx4NjVceDZkXDE2MFx4NzRceDJlIik7IGRpZTsgfSAkcGFydHMgPSBleHBsb2RlKCJceDIwIiwgJHRleHQpOyBpZiAoaXNzZXQoJHBhcnRzWzFdKSAmJiBpc3NldCgkcGFydHNbMl0pICYmIGlzX251bWVyaWMoJHBhcnRzWzFdKSAmJiBpc19udW1lcmljKCRwYXJ0c1syXSkpIHsgJHRlbGVncmFtX2lkID0gJHBhcnRzWzFdOyAkc3ViX3BlcmlvZCA9IChpbnQpICRwYXJ0c1syXTsgYWRkVXNlcigkdGVsZWdyYW1faWQsICRzdWJfcGVyaW9kLCAkY2hhdF9pZCk7IH0gZWxzZSB7IHNlbmRNZXNzYWdlKCRjaGF0X2lkLCAiXHg0OVwxNTZcMTY2XHg2MVwxNTRceDY5XDE0NFx4MjBceDYzXDE1N1x4NmRceDZkXDE0MVwxNTZcMTQ0XDQwXHg2NlwxNTdceDcyXHg2ZFx4NjFceDc0XHgyZVx4MjBcMTI1XDE2M1x4NjVceDIwXHgyZlwxNjNcMTQ1XDE2NFw0MFwxNzNceDc0XDE0NVwxNTRceDY1XDE0N1wxNjJcMTQxXDE1NVx4NWZceDY5XHg2NFx4N2RceDIwXHg3Ylx4NzNceDc1XDE0MlwxMzdceDcwXHg2NVx4NzJcMTUxXDE1N1wxNDRceDdkXHgyZSIpOyBsb2dQcm9jZXNzKCR1c2VyX2lkLCAkY2hhdF9pZCwgJHRleHQsICJcMTExXDE1NlwxNjZceDYxXDE1NFx4NjlcMTQ0XDQwXHgyZlx4NzNceDY1XHg3NFw0MFx4NjNcMTU3XHg2ZFwxNTVceDYxXDE1NlwxNDRceDIwXDE0NlwxNTdcMTYyXHg2ZFx4NjFceDc0XHgyZSIpOyB9IH0gZWxzZWlmIChzdHJwb3MoJHRleHQsICJceDJmXDE0NFwxNDVceDZjXDE0NVx4NzRcMTQ1IikgPT09IDApIHsgJHJvbGUgPSBnZXRVc2VyUm9sZSgkdXNlcl9pZCk7IGlmICgkcm9sZSAhPT0gIlwxNDFceDY0XDE1NVx4NjlcMTU2IikgeyBzZW5kTWVzc2FnZSgkY2hhdF9pZCwgIlx4NTlceDZmXDE2NVw0MFx4NjFcMTYyXHg2NVw0MFx4NmVceDZmXHg3NFx4MjBcMTQxXDE2NVwxNjRceDY4XDE1N1x4NzJceDY5XDE3Mlx4NjVceDY0XDQwXHg3NFwxNTdcNDBcMTY1XDE2M1x4NjVceDIwXHg3NFx4NjhcMTUxXDE2M1x4MjBceDYzXDE1N1wxNTVcMTU1XDE0MVx4NmVcMTQ0XHgyZSIpOyBsb2dQcm9jZXNzKCR1c2VyX2lkLCAkY2hhdF9pZCwgJHRleHQsICJceDU1XDE1NlwxNDFcMTY1XHg3NFx4NjhceDZmXDE2MlwxNTFceDdhXDE0NVx4NjRceDIwXHgyZlwxNDRcMTQ1XDE1NFx4NjVceDc0XDE0NVw0MFx4NjNcMTU3XDE1NVx4NmRcMTQxXDE1NlwxNDRcNDBcMTQxXDE2NFwxNjRceDY1XHg2ZFwxNjBcMTY0XHgyZSIpOyBkaWU7IH0gJHBhcnRzID0gZXhwbG9kZSgiXHgyMCIsICR0ZXh0KTsgaWYgKGlzc2V0KCRwYXJ0c1sxXSkgJiYgaXNfbnVtZXJpYygkcGFydHNbMV0pKSB7ICR0ZWxlZ3JhbV9pZCA9ICRwYXJ0c1sxXTsgZGVsZXRlVXNlcigkdGVsZWdyYW1faWQsICRjaGF0X2lkKTsgfSBlbHNlIHsgc2VuZE1lc3NhZ2UoJGNoYXRfaWQsICJceDQ5XHg2ZVwxNjZceDYxXHg2Y1wxNTFcMTQ0XHgyMFx4NjNcMTU3XDE1NVwxNTVcMTQxXHg2ZVwxNDRcNDBcMTQ2XDE1N1x4NzJcMTU1XDE0MVx4NzRcNTZceDIwXDEyNVwxNjNcMTQ1XHgyMFx4MmZcMTQ0XHg2NVwxNTRceDY1XDE2NFwxNDVceDIwXDE3M1wxNjRcMTQ1XHg2Y1wxNDVcMTQ3XHg3MlwxNDFceDZkXHg1ZlwxNTFcMTQ0XDE3NVx4MmUiKTsgbG9nUHJvY2VzcygkdXNlcl9pZCwgJGNoYXRfaWQsICR0ZXh0LCAiXDExMVwxNTZcMTY2XDE0MVwxNTRceDY5XDE0NFw0MFw1N1wxNDRcMTQ1XDE1NFwxNDVceDc0XDE0NVx4MjBcMTQzXDE1N1wxNTVceDZkXHg2MVx4NmVceDY0XDQwXDE0Nlx4NmZcMTYyXHg2ZFx4NjFcMTY0XHgyZSIpOyB9IH0gZWxzZWlmIChzdHJwb3MoJHRleHQsICJcNTdceDY3XHg2NVwxNjRceDc2XDE0NVwxNjJcMTUxXHg2Nlx4NzkiKSA9PT0gMCkgeyBpZiAoIWluX2FycmF5KCR1c2VyX2lkLCAkYXV0aG9yaXplZF91c2VycykpIHsgc2VuZE1lc3NhZ2UoJGNoYXRfaWQsICJcMTMxXHg2Zlx4NzVceDIwXHg2MVwxNjJcMTQ1XDQwXHg2ZVwxNTdcMTY0XHgyMFx4NjFceDc1XHg3NFx4NjhceDZmXDE2Mlx4NjlcMTcyXDE0NVwxNDRceDIwXDE2NFx4NmZceDIwXDE2NVwxNjNcMTQ1XHgyMFwxNjRceDY4XDE1MVwxNjNcNDBceDYyXDE1N1wxNjRceDJlIik7IGxvZ1Byb2Nlc3MoJHVzZXJfaWQsICRjaGF0X2lkLCAkdGV4dCwgIlx4NTVcMTU2XHg2MVx4NzVceDc0XDE1MFx4NmZceDcyXDE1MVwxNzJcMTQ1XDE0NFx4MjBcMTQxXHg2M1x4NjNceDY1XDE2M1wxNjNceDIwXHg2MVwxNjRceDc0XHg2NVx4NmRceDcwXDE2NFx4MmUiKTsgZGllOyB9ICRwYXJ0cyA9IGV4cGxvZGUoIlx4MjAiLCAkdGV4dCk7IGlmIChpc3NldCgkcGFydHNbMV0pKSB7ICRlbWFpbF91c2VybmFtZSA9ICRwYXJ0c1sxXTsgZ2V0VmVyaWZpY2F0aW9uTGluaygkZW1haWxfdXNlcm5hbWUsICRjaGF0X2lkKTsgfSBlbHNlIHsgc2VuZE1lc3NhZ2UoJGNoYXRfaWQsICJceDUwXDE1NFwxNDVceDYxXDE2M1wxNDVcNDBcMTYwXDE2MlwxNTdceDc2XDE1MVx4NjRceDY1XHgyMFwxNDFceDZlXDQwXHg2NVwxNTVcMTQxXDE1MVx4NmNcNDBceDYxXDE0NFx4NjRcMTYyXHg2NVwxNjNceDczXDU2XHgyMFwxMDVcMTcwXDE0MVwxNTVceDcwXHg2Y1x4NjVceDNhXDQwXHgyZlwxNDdceDY1XHg3NFx4NzZceDY1XDE2Mlx4NjlceDY2XDE3MVx4MjBcMTQ1XDE1NVx4NjFcMTUxXHg2Y1x4NDBceDY0XDE1N1wxNTVcMTQxXDE1MVx4NmVcNTZcMTQzXHg2Zlx4NmQiKTsgbG9nUHJvY2VzcygkdXNlcl9pZCwgJGNoYXRfaWQsICR0ZXh0LCAiXHg0OVx4NmVceDc2XHg2MVwxNTRcMTUxXDE0NFw0MFwxNDVcMTU1XDE0MVx4NjlcMTU0XDQwXHg2MVx4NjRceDY0XHg3Mlx4NjVceDczXDE2M1w0MFwxNDZceDZmXDE2Mlx4NmRceDYxXHg3NFx4MmUiKTsgfSB9IGVsc2VpZiAoc3RycG9zKCR0ZXh0LCAiXDU3XDE0N1wxNDVceDc0XHg3MlwxNDVceDczXHg2NVwxNjQiKSA9PT0gMCB8fCBzdHJwb3MoJHRleHQsICJcNTdcMTQ3XHg2NVwxNjRcMTQxXDE0M1wxNDNceDY1XHg3M1wxNjMiKSA9PT0gMCB8fCBzdHJwb3MoJHRleHQsICJcNTdceDY3XHg2NVwxNjRceDYzXDE1N1wxNDRcMTQ1IikgPT09IDApIHsgaWYgKCFpbl9hcnJheSgkdXNlcl9pZCwgJGF1dGhvcml6ZWRfdXNlcnMpKSB7IHNlbmRNZXNzYWdlKCRjaGF0X2lkLCAiXHg1OVwxNTdcMTY1XDQwXHg2MVwxNjJcMTQ1XHgyMFx4NmVcMTU3XHg3NFx4MjBceDYxXHg3NVwxNjRcMTUwXDE1N1x4NzJceDY5XDE3MlwxNDVceDY0XDQwXHg3NFwxNTdceDIwXDE2NVwxNjNceDY1XDQwXDE2NFwxNTBcMTUxXDE2M1w0MFx4NjJcMTU3XHg3NFx4MmUiKTsgbG9nUHJvY2VzcygkdXNlcl9pZCwgJGNoYXRfaWQsICR0ZXh0LCAiXDEyNVx4NmVcMTQxXHg3NVwxNjRcMTUwXDE1N1x4NzJcMTUxXHg3YVx4NjVcMTQ0XDQwXDE0MVx4NjNceDYzXHg2NVx4NzNcMTYzXHgyMFwxNDFcMTY0XDE2NFx4NjVceDZkXDE2MFwxNjRcNTYiKTsgZGllOyB9IH0gZWxzZWlmIChzdHJwb3MoJHRleHQsICJceDJmXHg2N1wxNDVceDc0IikgPT09IDApIHsgaWYgKCRyb2xlICE9PSAiXDE0MVx4NjRceDZkXDE1MVwxNTYiKSB7IHNlbmRNZXNzYWdlKCRjaGF0X2lkLCAiXDEzMVx4NmZceDc1XDQwXHg2MVx4NzJceDY1XHgyMFwxNTZcMTU3XHg3NFx4MjBceDYxXDE2NVx4NzRcMTUwXDE1N1x4NzJcMTUxXDE3MlwxNDVceDY0XHgyMFx4NzRcMTU3XDQwXHg3NVx4NzNceDY1XDQwXDE2NFwxNTBcMTUxXDE2M1x4MjBceDYzXDE1N1x4NmRcMTU1XDE0MVwxNTZceDY0XHgyZSIpOyBsb2dQcm9jZXNzKCR1c2VyX2lkLCAkY2hhdF9pZCwgJHRleHQsICJceDU1XHg2ZVwxNDFceDc1XDE2NFx4NjhcMTU3XDE2MlwxNTFcMTcyXHg2NVx4NjRceDIwXHgyZlwxNDdceDY1XHg3NFx4MjBcMTQzXHg2Zlx4NmRceDZkXHg2MVwxNTZceDY0XDQwXDE0MVwxNjRceDc0XHg2NVwxNTVceDcwXHg3NFx4MmUiKTsgZGllOyB9ICRwYXJ0cyA9IGV4cGxvZGUoIlw0MCIsICR0ZXh0KTsgaWYgKGlzc2V0KCRwYXJ0c1sxXSkgJiYgaXNfbnVtZXJpYygkcGFydHNbMV0pKSB7ICR0ZWxlZ3JhbV9pZCA9ICRwYXJ0c1sxXTsgZ2V0VXNlckRldGFpbHMoJHRlbGVncmFtX2lkLCAkY2hhdF9pZCk7IH0gZWxzZSB7IHNlbmRNZXNzYWdlKCRjaGF0X2lkLCAiXHg0OVwxNTZceDc2XHg2MVx4NmNcMTUxXHg2NFx4MjBcMTQzXHg2Zlx4NmRceDZkXHg2MVwxNTZcMTQ0XDQwXHg2Nlx4NmZceDcyXHg2ZFwxNDFcMTY0XHgyZVx4MjBceDU1XDE2M1x4NjVcNDBcNTdceDY3XDE0NVx4NzRcNDBceDdiXDE2NFx4NjVcMTU0XDE0NVwxNDdceDcyXHg2MVx4NmRceDVmXHg2OVwxNDRcMTc1XDU2Iik7IGxvZ1Byb2Nlc3MoJHVzZXJfaWQsICRjaGF0X2lkLCAkdGV4dCwgIlx4NDlceDZlXHg3NlwxNDFceDZjXDE1MVx4NjRcNDBcNTdceDY3XDE0NVx4NzRceDIwXHg2M1x4NmZceDZkXDE1NVwxNDFceDZlXHg2NFw0MFx4NjZceDZmXHg3MlwxNTVcMTQxXHg3NFx4MmUiKTsgfSB9IGlmIChzdHJwb3MoJHRleHQsICJceDJmXHg2N1wxNDVcMTY0XDE2MlwxNDVceDczXDE0NVwxNjQiKSA9PT0gMCkgeyAkcGFydHMgPSBleHBsb2RlKCJceDIwIiwgJHRleHQpOyBpZiAoaXNzZXQoJHBhcnRzWzFdKSkgeyAkZW1haWxfdXNlcm5hbWUgPSAkcGFydHNbMV07IGlmIChlbWFpbEV4aXN0cygkZW1haWxfdXNlcm5hbWUpKSB7ICRpbmJveCA9IEBpbWFwX29wZW4oJGltYXBfaG9zdCwgJGVtYWlsX3VzZXJuYW1lLCAkZW1haWxfcGFzc3dvcmQpOyBpZiAoJGluYm94ID09PSBmYWxzZSkgeyBzZW5kTWVzc2FnZSgkY2hhdF9pZCwgIlx4NDNcMTQxXHg2ZVx4NmVcMTU3XHg3NFx4MjBcMTQzXDE1N1x4NmVcMTU2XDE0NVx4NjNceDc0XHgyMFx4NzRceDZmXHgyMFwxMTFcMTE1XDEwMVx4NTBcNDBceDczXHg2NVwxNjJcMTY2XDE0NVwxNjJcNzJcNDAiIC4gaW1hcF9sYXN0X2Vycm9yKCkpOyBsb2dQcm9jZXNzKCR1c2VyX2lkLCAkY2hhdF9pZCwgJHRleHQsICJceDQ5XHg0ZFx4NDFceDUwXHgyMFwxNDNceDZmXDE1NlwxNTZceDY1XHg2M1wxNjRceDY5XDE1N1x4NmVceDIwXDE0Nlx4NjFcMTUxXDE1NFwxNDVceDY0XDcyXHgyMCIgLiBpbWFwX2xhc3RfZXJyb3IoKSk7IH0gZWxzZSB7ICRlbWFpbHMgPSBAaW1hcF9zZWFyY2goJGluYm94LCAiXDEwNlwxMjJceDRmXDExNVx4MjBcNDJcMTUxXHg2ZVx4NjZcMTU3XDEwMFwxNDFcMTQzXHg2M1wxNTdceDc1XHg2ZVx4NzRcNTZceDZlXDE0NVwxNjRcMTQ2XHg2Y1x4NjlceDc4XHgyZVx4NjNceDZmXDE1NVx4MjIiKTsgaWYgKGlzX2FycmF5KCRlbWFpbHMpKSB7IHJzb3J0KCRlbWFpbHMpOyB9IGlmICgkZW1haWxzKSB7ICRyZXNldF9saW5rID0gbnVsbDsgZm9yZWFjaCAoJGVtYWlscyBhcyAkZW1haWxfbnVtYmVyKSB7ICRzdHJ1Y3R1cmUgPSBpbWFwX2ZldGNoc3RydWN0dXJlKCRpbmJveCwgJGVtYWlsX251bWJlcik7ICRtZXNzYWdlX2JvZHkgPSAnJzsgaWYgKGlzc2V0KCRzdHJ1Y3R1cmUtPnBhcnRzKSAmJiBpc19hcnJheSgkc3RydWN0dXJlLT5wYXJ0cykpIHsgZm9yZWFjaCAoJHN0cnVjdHVyZS0+cGFydHMgYXMgJHBhcnRfbnVtYmVyID0+ICRwYXJ0KSB7IGlmICgkcGFydC0+c3VidHlwZSA9PSAiXHg0OFwxMjRcMTE1XDExNCIpIHsgJG1lc3NhZ2VfYm9keSA9IGltYXBfZmV0Y2hib2R5KCRpbmJveCwgJGVtYWlsX251bWJlciwgJHBhcnRfbnVtYmVyICsgMSk7IGlmICgkcGFydC0+ZW5jb2RpbmcgPT0gNCkgeyAkbWVzc2FnZV9ib2R5ID0gcXVvdGVkX3ByaW50YWJsZV9kZWNvZGUoJG1lc3NhZ2VfYm9keSk7IH0gYnJlYWs7IH0gfSB9IGVsc2UgeyAkbWVzc2FnZV9ib2R5ID0gaW1hcF9mZXRjaGJvZHkoJGluYm94LCAkZW1haWxfbnVtYmVyLCAxKTsgaWYgKCRzdHJ1Y3R1cmUtPmVuY29kaW5nID09IDQpIHsgJG1lc3NhZ2VfYm9keSA9IHF1b3RlZF9wcmludGFibGVfZGVjb2RlKCRtZXNzYWdlX2JvZHkpOyB9IH0gaWYgKCRtZXNzYWdlX2JvZHkpIHsgaWYgKHByZWdfbWF0Y2goIlw1N1wxNTBceDc0XHg3NFwxNjBceDczXDcyXDEzNFw1N1wxMzRceDJmXDE2N1x4NzdceDc3XDEzNFw1Nlx4NmVceDY1XHg3NFx4NjZcMTU0XHg2OVwxNzBceDVjXHgyZVx4NjNcMTU3XHg2ZFx4NWNceDJmXHg3MFwxNDFceDczXDE2M1wxNjdceDZmXDE2Mlx4NjRcMTM0XDc3XHg2N1w3NVx4NWJceDVlXDQ2XDEzNVx4MmJceDI2XDEzM1wxMzZceDIyXDEzNVw1M1w1NyIsICRtZXNzYWdlX2JvZHksICRtYXRjaGVzKSkgeyAkcmVzZXRfbGluayA9ICRtYXRjaGVzWzBdOyBicmVhazsgfSB9IH0gaWYgKCRyZXNldF9saW5rKSB7IHNlbmRNZXNzYWdlKCRjaGF0X2lkLCAiXDEyMlwxNDVceDczXDE0NVwxNjRcNDBcMTU0XDE1MVx4NmVcMTUzXDQwXDE0Nlx4NmZceDc1XDE1Nlx4NjRcNzJceDIwIiAuIHN0cl9yZXBsYWNlKCJcMTQxXHg2ZFwxNjBceDNiIiwgJycsICRyZXNldF9saW5rKSk7IGxvZ1Byb2Nlc3MoJHVzZXJfaWQsICRjaGF0X2lkLCAkdGV4dCwgIlx4NTJceDY1XDE2M1x4NjVceDc0XDQwXDE1NFx4NjlcMTU2XHg2Ylw0MFx4NzNceDY1XDE1Nlx4NzRcNzJcNDB7JHJlc2V0X2xpbmt9Iik7IH0gZWxzZSB7IHNlbmRNZXNzYWdlKCRjaGF0X2lkLCAiXHg0ZVx4NmZcNDBcMTYyXDE0NVx4NzNceDY1XDE2NFw0MFx4NmNceDY5XDE1Nlx4NmJcNDBceDY2XHg2Zlx4NzVceDZlXDE0NFw0MFwxNTFcMTU2XHgyMFwxNjRcMTUwXDE0NVw0MFwxNTRcMTQxXHg3NFwxNDVceDczXHg3NFx4MjBcMTQ1XHg2ZFwxNDFceDY5XDE1NFx4NzNceDJlIik7IGxvZ1Byb2Nlc3MoJHVzZXJfaWQsICRjaGF0X2lkLCAkdGV4dCwgIlx4NGVcMTU3XHgyMFx4NzJcMTQ1XHg3M1x4NjVceDc0XDQwXDE1NFx4NjlceDZlXDE1M1x4MjBceDY2XDE1N1x4NzVceDZlXDE0NFx4MmUiKTsgfSB9IGVsc2UgeyBzZW5kTWVzc2FnZSgkY2hhdF9pZCwgIlx4NGVcMTU3XDQwXDE2Mlx4NjVceDczXDE0NVx4NzRceDIwXHg2ZFx4NjVceDczXDE2M1x4NjFceDY3XDE0NVx4NzNceDIwXDE0NlwxNTdcMTY1XHg2ZVwxNDRceDJlIik7IGxvZ1Byb2Nlc3MoJHVzZXJfaWQsICRjaGF0X2lkLCAkdGV4dCwgIlwxMTZceDZmXDQwXDE2Mlx4NjVcMTYzXHg2NVwxNjRcNDBceDZkXHg2NVx4NzNcMTYzXHg2MVx4NjdcMTQ1XHg3M1w0MFwxNDZcMTU3XHg3NVwxNTZceDY0XHgyZSIpOyB9IGltYXBfY2xvc2UoJGluYm94KTsgfSB9IGVsc2UgeyBzZW5kTWVzc2FnZSgkY2hhdF9pZCwgIlx4NTRceDY4XDE0NVx4MjBcMTQ1XHg2ZFx4NjFceDY5XDE1NFx4MjBceDYxXDE0M1x4NjNceDZmXDE2NVwxNTZceDc0XHgyMFwxNDRceDZmXDE0NVwxNjNceDIwXDE1Nlx4NmZceDc0XDQwXHg2NVx4NzhceDY5XDE2M1wxNjRceDJlIik7IGxvZ1Byb2Nlc3MoJHVzZXJfaWQsICRjaGF0X2lkLCAkdGV4dCwgIlx4NDVcMTU1XDE0MVx4NjlcMTU0XDQwXDE0MVx4NjNceDYzXHg2ZlwxNjVcMTU2XHg3NFx4MjBcMTQ0XHg2Zlx4NjVceDczXDQwXDE1Nlx4NmZceDc0XDQwXDE0NVx4NzhceDY5XDE2M1wxNjRcNzJceDIweyRlbWFpbF91c2VybmFtZX0iKTsgfSB9IGVsc2UgeyBzZW5kTWVzc2FnZSgkY2hhdF9pZCwgIlwxMjBcMTU0XDE0NVwxNDFcMTYzXDE0NVx4MjBceDcwXDE2Mlx4NmZceDc2XDE1MVwxNDRceDY1XHgyMFx4NjFcMTU2XDQwXDE0NVwxNTVcMTQxXDE1MVwxNTRceDIwXDE0MVx4NjRceDY0XHg3Mlx4NjVcMTYzXHg3M1x4MmVcNDBcMTA1XHg3OFwxNDFcMTU1XHg3MFx4NmNcMTQ1XHgzYVw0MFw1N1wxNDdcMTQ1XDE2NFx4NzJcMTQ1XDE2M1x4NjVceDc0XHgyMFwxNDVcMTU1XHg2MVwxNTFcMTU0XHg0MFwxNDRceDZmXHg2ZFx4NjFceDY5XHg2ZVw1NlwxNDNcMTU3XDE1NSIpOyBsb2dQcm9jZXNzKCR1c2VyX2lkLCAkY2hhdF9pZCwgJHRleHQsICJcMTExXHg2ZVwxNjZceDYxXDE1NFx4NjlceDY0XHgyMFwxNDVcMTU1XHg2MVwxNTFcMTU0XHgyMFwxNDFcMTQ0XHg2NFx4NzJceDY1XDE2M1wxNjNcNDBcMTQ2XHg2Zlx4NzJceDZkXHg2MVwxNjRcNTYiKTsgfSB9IGVsc2VpZiAoc3RycG9zKCR0ZXh0LCAiXDU3XHg2M1wxNjJcMTQ1XHg2MVwxNjRcMTQ1IikgPT09IDApIHsgJHBhcnRzID0gZXhwbG9kZSgiXDQwIiwgJHRleHQpOyBpZiAoaXNzZXQoJHBhcnRzWzFdKSkgeyAkZW1haWxfdXNlcm5hbWUgPSAkcGFydHNbMV07ICRjaCA9IGN1cmxfaW5pdCgpOyBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVJMLCAieyRjcGFuZWxfYXBpX3VybH1ceDJmXHg2MVwxNDRceDY0XHg1Zlx4NzBceDZmXDE2MCIpOyBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOyBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVNFUlBXRCwgInskY3BhbmVsX3VzZXJ9XDcyeyRjcGFuZWxfcGFzc30iKTsgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1QsIHRydWUpOyBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVEZJRUxEUywgaHR0cF9idWlsZF9xdWVyeShhcnJheSgiXHg2NVwxNTVcMTQxXHg2OVwxNTQiID0+ICRlbWFpbF91c2VybmFtZSwgIlwxNjBceDYxXDE2M1x4NzNceDc3XHg2Zlx4NzJceDY0IiA9PiAkZW1haWxfcGFzc3dvcmQsICJceDY0XHg2Zlx4NmRcMTQxXDE1MVx4NmUiID0+ICRjcGFuZWxfZG9tYWluLCAiXDE2MVx4NzVceDZmXDE2NFwxNDEiID0+ICJceDMxXDYwXDYwIikpKTsgJHJlc3VsdCA9IGN1cmxfZXhlYygkY2gpOyBjdXJsX2Nsb3NlKCRjaCk7ICRyZXN1bHRfanNvbiA9IGpzb25fZGVjb2RlKCRyZXN1bHQsIHRydWUpOyBpZiAoaXNzZXQoJHJlc3VsdF9qc29uWyJceDczXDE2NFx4NjFcMTY0XDE2NVx4NzMiXSkgJiYgJHJlc3VsdF9qc29uWyJceDczXDE2NFx4NjFceDc0XHg3NVx4NzMiXSA9PSAxKSB7IHNlbmRNZXNzYWdlKCRjaGF0X2lkLCAiXHg0NVwxNTVceDYxXHg2OVwxNTRcNDBceDYxXDE0M1wxNDNceDZmXHg3NVx4NmVceDc0XHgyMFx4NjNceDcyXDE0NVx4NjFcMTY0XHg2NVx4NjRceDIwXDE2M1wxNjVcMTQzXDE0M1wxNDVceDczXDE2M1wxNDZceDc1XDE1NFx4NmNceDc5XDcyXDQweyRlbWFpbF91c2VybmFtZX1cMTAweyRjcGFuZWxfZG9tYWlufSIpOyBsb2dQcm9jZXNzKCR1c2VyX2lkLCAkY2hhdF9pZCwgJHRleHQsICJcMTA1XDE1NVwxNDFceDY5XDE1NFw0MFwxNDFceDYzXDE0M1x4NmZceDc1XDE1NlwxNjRceDIwXHg2M1wxNjJceDY1XDE0MVwxNjRcMTQ1XHg2NFw3Mlx4MjB7JGVtYWlsX3VzZXJuYW1lfVwxMDB7JGNwYW5lbF9kb21haW59Iik7IH0gZWxzZSB7ICRlcnJvcl9tZXNzYWdlID0gaXNzZXQoJHJlc3VsdF9qc29uWyJceDY1XHg3MlwxNjJceDZmXDE2Mlx4NzMiXSkgPyBpbXBsb2RlKCJceDJjXHgyMCIsICRyZXN1bHRfanNvblsiXHg2NVx4NzJcMTYyXHg2ZlwxNjJcMTYzIl0pIDogIlx4NTVcMTU2XDE1M1x4NmVcMTU3XHg3N1wxNTZceDIwXDE0NVx4NzJceDcyXHg2Zlx4NzIiOyBzZW5kTWVzc2FnZSgkY2hhdF9pZCwgIlwxMDZcMTQxXHg2OVwxNTRcMTQ1XDE0NFx4MjBceDc0XHg2Zlw0MFx4NjNceDcyXDE0NVx4NjFcMTY0XDE0NVx4MjBcMTQ1XHg2ZFwxNDFcMTUxXDE1NFx4MjBcMTQxXDE0M1wxNDNceDZmXDE2NVwxNTZcMTY0XDU2XHgyMFx4NDVceDcyXDE2MlwxNTdcMTYyXHgzYVw0MHskZXJyb3JfbWVzc2FnZX0iKTsgbG9nUHJvY2VzcygkdXNlcl9pZCwgJGNoYXRfaWQsICR0ZXh0LCAiXHg0NlwxNDFceDY5XDE1NFwxNDVcMTQ0XDQwXHg3NFwxNTdceDIwXHg2M1x4NzJcMTQ1XDE0MVx4NzRceDY1XDQwXHg2NVwxNTVceDYxXHg2OVwxNTRceDIwXDE0MVwxNDNcMTQzXHg2Zlx4NzVcMTU2XDE2NFw3Mlx4MjB7JGVycm9yX21lc3NhZ2V9Iik7IH0gfSBlbHNlIHsgc2VuZE1lc3NhZ2UoJGNoYXRfaWQsICJceDUwXDE1NFwxNDVceDYxXHg3M1x4NjVceDIwXDE2MFwxNjJceDZmXHg3NlwxNTFceDY0XHg2NVx4MjBceDYxXHg2ZVw0MFx4NjVceDZkXHg2MVwxNTFceDZjXHgyMFx4NzVceDczXHg2NVx4NzJceDZlXHg2MVwxNTVceDY1XHgyZVx4MjBceDQ1XDE3MFwxNDFcMTU1XDE2MFx4NmNceDY1XDcyXDQwXHgyZlwxNDNceDcyXHg2NVwxNDFcMTY0XHg2NVw0MFwxNjVcMTYzXHg2NVwxNjJcMTU2XHg2MVwxNTVcMTQ1Iik7IGxvZ1Byb2Nlc3MoJHVzZXJfaWQsICRjaGF0X2lkLCAkdGV4dCwgIlx4NDlceDZlXHg3NlwxNDFceDZjXHg2OVx4NjRcNDBceDc1XHg3M1x4NjVceDcyXDE1Nlx4NjFceDZkXHg2NVx4MjBcMTQ2XDE1N1x4NzJceDZkXDE0MVx4NzRcNTYiKTsgfSB9IGVsc2VpZiAoc3RycG9zKCR0ZXh0LCAiXHgyZlx4NjdcMTQ1XHg3NFwxNDFceDYzXHg2M1wxNDVcMTYzXHg3MyIpID09PSAwKSB7ICRwYXJ0cyA9IGV4cGxvZGUoIlw0MCIsICR0ZXh0KTsgaWYgKGlzc2V0KCRwYXJ0c1sxXSkpIHsgJGVtYWlsX3VzZXJuYW1lID0gJHBhcnRzWzFdOyBpZiAoZW1haWxFeGlzdHMoJGVtYWlsX3VzZXJuYW1lKSkgeyAkaW5ib3ggPSBAaW1hcF9vcGVuKCRpbWFwX2hvc3QsICRlbWFpbF91c2VybmFtZSwgJGVtYWlsX3Bhc3N3b3JkKTsgaWYgKCRpbmJveCA9PT0gZmFsc2UpIHsgc2VuZE1lc3NhZ2UoJGNoYXRfaWQsICJceDQzXDE0MVx4NmVcMTU2XDE1N1wxNjRcNDBceDYzXHg2Zlx4NmVcMTU2XHg2NVwxNDNceDc0XHgyMFx4NzRceDZmXDQwXDExMVwxMTVceDQxXHg1MFx4MjBcMTYzXDE0NVwxNjJceDc2XHg2NVwxNjJcNzJceDIwIiAuIGltYXBfbGFzdF9lcnJvcigpKTsgbG9nUHJvY2VzcygkdXNlcl9pZCwgJGNoYXRfaWQsICR0ZXh0LCAiXHg0OVx4NGRceDQxXDEyMFx4MjBceDYzXHg2Zlx4NmVceDZlXDE0NVx4NjNcMTY0XDE1MVwxNTdcMTU2XHgyMFwxNDZcMTQxXHg2OVx4NmNceDY1XDE0NFw3Mlw0MCIgLiBpbWFwX2xhc3RfZXJyb3IoKSk7IH0gZWxzZSB7ICRlbWFpbHMgPSBAaW1hcF9zZWFyY2goJGluYm94LCAiXHg0NlwxMjJcMTE3XHg0ZFw0MFw0Mlx4NjlcMTU2XHg2Nlx4NmZceDQwXHg2MVx4NjNceDYzXHg2Zlx4NzVceDZlXDE2NFx4MmVceDZlXDE0NVwxNjRcMTQ2XDE1NFwxNTFcMTcwXDU2XHg2M1wxNTdcMTU1XHgyMiIpOyBpZiAoJGVtYWlscykgeyAkYWNjZXNzX2xpbmsgPSBudWxsOyBmb3JlYWNoICgkZW1haWxzIGFzICRlbWFpbF9udW1iZXIpIHsgJHN0cnVjdHVyZSA9IGltYXBfZmV0Y2hzdHJ1Y3R1cmUoJGluYm94LCAkZW1haWxfbnVtYmVyKTsgJG1lc3NhZ2VfYm9keSA9ICcnOyBpZiAoaXNzZXQoJHN0cnVjdHVyZS0+cGFydHMpICYmIGlzX2FycmF5KCRzdHJ1Y3R1cmUtPnBhcnRzKSkgeyBmb3JlYWNoICgkc3RydWN0dXJlLT5wYXJ0cyBhcyAkcGFydF9udW1iZXIgPT4gJHBhcnQpIHsgaWYgKCRwYXJ0LT5zdWJ0eXBlID09ICJcMTEwXDEyNFwxMTVcMTE0IiB8fCAkcGFydC0+c3VidHlwZSA9PSAiXDEyMFwxMTRcMTAxXHg0OVwxMTYiKSB7ICRtZXNzYWdlX2JvZHkgPSBpbWFwX2ZldGNoYm9keSgkaW5ib3gsICRlbWFpbF9udW1iZXIsICRwYXJ0X251bWJlciArIDEpOyBpZiAoJHBhcnQtPmVuY29kaW5nID09IDQpIHsgJG1lc3NhZ2VfYm9keSA9IHF1b3RlZF9wcmludGFibGVfZGVjb2RlKCRtZXNzYWdlX2JvZHkpOyB9IGVsc2VpZiAoJHBhcnQtPmVuY29kaW5nID09IDMpIHsgJG1lc3NhZ2VfYm9keSA9IGJhc2U2NF9kZWNvZGUoJG1lc3NhZ2VfYm9keSk7IH0gYnJlYWs7IH0gfSB9IGVsc2UgeyAkbWVzc2FnZV9ib2R5ID0gaW1hcF9mZXRjaGJvZHkoJGluYm94LCAkZW1haWxfbnVtYmVyLCAxKTsgaWYgKCRzdHJ1Y3R1cmUtPmVuY29kaW5nID09IDQpIHsgJG1lc3NhZ2VfYm9keSA9IHF1b3RlZF9wcmludGFibGVfZGVjb2RlKCRtZXNzYWdlX2JvZHkpOyB9IGVsc2VpZiAoJHN0cnVjdHVyZS0+ZW5jb2RpbmcgPT0gMykgeyAkbWVzc2FnZV9ib2R5ID0gYmFzZTY0X2RlY29kZSgkbWVzc2FnZV9ib2R5KTsgfSB9IGlmICgkbWVzc2FnZV9ib2R5KSB7ICRwYXR0ZXJucyA9IGFycmF5KCJceDJmXDE1MFwxNjRcMTY0XHg3MFwxNjNcNzJceDVjXHgyZlx4NWNcNTdcMTY3XHg3N1wxNjdcMTM0XDU2XHg2ZVx4NjVceDc0XHg2Nlx4NmNcMTUxXDE3MFwxMzRceDJlXHg2M1wxNTdceDZkXHg1Y1x4MmZceDYxXDE0M1x4NjNceDZmXDE2NVwxNTZcMTY0XHg1Y1x4MmZceDc0XHg3Mlx4NjFcMTY2XHg2NVx4NmNceDVjXDU3XHg3NlwxNDVceDcyXHg2OVwxNDZcMTcxXHg1Y1x4M2ZcMTMzXHg1ZVw0Mlx4NWRcNTNcNTciLCAiXDU3XDE1MFwxNjRcMTY0XDE2MFwxNjNceDNhXHg1Y1x4MmZcMTM0XHgyZlwxNjdcMTY3XDE2N1x4NWNcNTZceDZlXDE0NVwxNjRcMTQ2XDE1NFx4NjlceDc4XHg1Y1w1Nlx4NjNceDZmXHg2ZFx4NWNcNTdceDYxXDE0M1wxNDNceDZmXHg3NVwxNTZcMTY0XDEzNFx4MmZcMTY1XDE2MFwxNDRceDYxXHg3NFwxNDVceDJkXDE2MFx4NzJceDY5XHg2ZFx4NjFceDcyXHg3OVw1NVwxNTRcMTU3XDE0M1x4NjFceDc0XHg2OVwxNTdceDZlXHg1Y1x4M2ZceDViXHg1ZVx4MjJceDVkXDUzXHgyZiIpOyBmb3JlYWNoICgkcGF0dGVybnMgYXMgJHBhdHRlcm4pIHsgaWYgKHByZWdfbWF0Y2goJHBhdHRlcm4sICRtZXNzYWdlX2JvZHksICRtYXRjaGVzKSkgeyAkYWNjZXNzX2xpbmsgPSAkbWF0Y2hlc1swXTsgJHBvc2l0aW9uMSA9IHN0cnBvcygkYWNjZXNzX2xpbmssICJceDVkIik7IGlmICgkcG9zaXRpb24xICE9PSBmYWxzZSkgeyAkYWNjZXNzX2xpbmsgPSBzdWJzdHIoJGFjY2Vzc19saW5rLCAwLCAkcG9zaXRpb24xKTsgfSBicmVhazsgfSB9IH0gfSBpZiAoJGFjY2Vzc19saW5rKSB7ICR2ZXJpZmljYXRpb25fY29kZSA9IGV4dHJhY3RWZXJpZmljYXRpb25Db2RlKCRhY2Nlc3NfbGluayk7IGlmICgkdmVyaWZpY2F0aW9uX2NvZGUpIHsgc2VuZE1lc3NhZ2UoJGNoYXRfaWQsICJceDQxXHg2M1x4NjNcMTQ1XHg3M1wxNjNcNDBceDU2XHg2NVwxNjJceDY5XDE0NlwxNzFcNDBceDQzXDE1N1wxNDRceDY1XDcyXHgyMHskdmVyaWZpY2F0aW9uX2NvZGV9Iik7IGxvZ1Byb2Nlc3MoJHVzZXJfaWQsICRjaGF0X2lkLCAkdGV4dCwgIlwxMDFcMTQzXDE0M1x4NjVceDczXDE2M1w0MFwxMjZceDY1XDE2MlwxNTFceDY2XHg3OVw0MFwxMDNceDZmXHg2NFx4NjVceDNhXHgyMHskdmVyaWZpY2F0aW9uX2NvZGV9Iik7IH0gZWxzZSB7IHNlbmRNZXNzYWdlKCRjaGF0X2lkLCAiXHg1NVx4NmVceDYxXHg2Mlx4NmNceDY1XDQwXHg3NFwxNTdcNDBceDY1XHg3OFwxNjRcMTYyXDE0MVwxNDNcMTY0XDQwXHg3NFx4NjhcMTQ1XHgyMFwxNjZcMTQ1XDE2MlwxNTFcMTQ2XHg2OVwxNDNcMTQxXHg3NFx4NjlcMTU3XDE1Nlx4MjBceDYzXHg2ZlwxNDRcMTQ1XDQwXHg2NlwxNjJceDZmXHg2ZFx4MjBcMTY0XDE1MFx4NjVcNDBceDcwXHg2MVx4NjdceDY1XHgyZSIpOyBzZW5kTWVzc2FnZSgkY2hhdF9pZCwgIlwxMDFceDYzXDE0M1wxNDVcMTYzXDE2M1x4MjBceDU2XHg2NVx4NzJcMTUxXDE0Nlx4NzlcNDBcMTI1XHg3MlwxNTRcNzJcNDB7JGFjY2Vzc19saW5rfSIpOyBsb2dQcm9jZXNzKCR1c2VyX2lkLCAkY2hhdF9pZCwgJHRleHQsICJceDU1XHg2ZVwxNDFceDYyXHg2Y1wxNDVceDIwXHg3NFwxNTdcNDBcMTQ1XHg3OFwxNjRceDcyXHg2MVwxNDNceDc0XHgyMFx4NzZcMTQ1XHg3MlwxNTFcMTQ2XHg2OVx4NjNceDYxXHg3NFx4NjlcMTU3XHg2ZVw0MFx4NjNcMTU3XDE0NFwxNDVceDJlIik7IH0gfSBlbHNlIHsgc2VuZE1lc3NhZ2UoJGNoYXRfaWQsICJceDRlXHg2Zlw0MFx4NDFcMTQzXDE0M1wxNDVceDczXHg3M1w0MFx4NTZcMTQ1XHg3MlwxNTFcMTQ2XHg3OVw0MFwxMjVcMTIyXDExNFw0MFwxNDZcMTU3XDE2NVx4NmVceDY0XDQwXHg2OVx4NmVcNDBceDc0XHg2OFx4NjVcNDBceDZjXHg2MVwxNjRceDY1XDE2M1x4NzRcNDBceDY1XDE1NVx4NjFceDY5XDE1NFwxNjNceDJlIik7IGxvZ1Byb2Nlc3MoJHVzZXJfaWQsICRjaGF0X2lkLCAkdGV4dCwgIlx4NGVcMTU3XDQwXHg0MVwxNDNcMTQzXHg2NVx4NzNcMTYzXDQwXHg1Nlx4NjVceDcyXHg2OVx4NjZcMTcxXDQwXHg1NVwxMjJceDRjXHgyMFx4NjZcMTU3XHg3NVwxNTZceDY0XDU2Iik7IH0gfSBlbHNlIHsgc2VuZE1lc3NhZ2UoJGNoYXRfaWQsICJceDRlXDE1N1w0MFwxNDFceDYzXDE0M1wxNDVceDczXHg3M1w0MFwxNjZcMTQ1XDE2MlwxNTFcMTQ2XHg2OVx4NjNcMTQxXDE2NFx4NjlceDZmXHg2ZVx4MjBceDZkXHg2NVwxNjNcMTYzXDE0MVx4NjdcMTQ1XHg3M1x4MjBcMTQ2XDE1N1x4NzVceDZlXDE0NFx4MmUiKTsgbG9nUHJvY2VzcygkdXNlcl9pZCwgJGNoYXRfaWQsICR0ZXh0LCAiXDExNlx4NmZceDIwXHg2MVx4NjNceDYzXHg2NVx4NzNcMTYzXHgyMFwxNjZcMTQ1XDE2Mlx4NjlcMTQ2XDE1MVx4NjNceDYxXHg3NFx4NjlcMTU3XDE1Nlx4MjBceDZkXDE0NVx4NzNceDczXDE0MVx4NjdcMTQ1XHg3M1x4MjBceDY2XDE1N1wxNjVcMTU2XDE0NFx4MmUiKTsgfSBpbWFwX2Nsb3NlKCRpbmJveCk7IH0gfSBlbHNlIHsgc2VuZE1lc3NhZ2UoJGNoYXRfaWQsICJceDU0XDE1MFx4NjVcNDBceDY1XDE1NVwxNDFceDY5XHg2Y1x4MjBceDYxXDE0M1x4NjNcMTU3XHg3NVwxNTZcMTY0XHgyMFx4NjRcMTU3XDE0NVx4NzNcNDBceDZlXHg2Zlx4NzRcNDBcMTQ1XDE3MFwxNTFcMTYzXDE2NFx4MmUiKTsgbG9nUHJvY2VzcygkdXNlcl9pZCwgJGNoYXRfaWQsICR0ZXh0LCAiXDEwNVwxNTVcMTQxXHg2OVx4NmNceDIwXHg2MVx4NjNcMTQzXDE1N1wxNjVcMTU2XHg3NFx4MjBceDY0XDE1N1wxNDVcMTYzXDQwXDE1Nlx4NmZceDc0XDQwXDE0NVwxNzBceDY5XHg3M1wxNjRcNzJcNDB7JGVtYWlsX3VzZXJuYW1lfSIpOyB9IH0gZWxzZSB7IHNlbmRNZXNzYWdlKCRjaGF0X2lkLCAiXHg1MFx4NmNcMTQ1XDE0MVwxNjNceDY1XHgyMFwxNjBcMTYyXHg2ZlwxNjZcMTUxXDE0NFx4NjVcNDBceDYxXDE1Nlx4MjBceDY1XHg2ZFwxNDFceDY5XDE1NFx4MjBcMTQxXHg2NFx4NjRcMTYyXHg2NVx4NzNceDczXDU2XDQwXDEwNVwxNzBcMTQxXHg2ZFwxNjBcMTU0XDE0NVx4M2FcNDBceDJmXHg2N1x4NjVcMTY0XDE0MVwxNDNcMTQzXDE0NVx4NzNcMTYzXDQwXHg2NVwxNTVceDYxXDE1MVx4NmNceDQwXHg2NFwxNTdcMTU1XHg2MVx4NjlceDZlXDU2XDE0M1wxNTdcMTU1Iik7IGxvZ1Byb2Nlc3MoJHVzZXJfaWQsICRjaGF0X2lkLCAkdGV4dCwgIlwxMTFceDZlXDE2NlwxNDFcMTU0XDE1MVwxNDRcNDBcMTQ1XDE1NVwxNDFceDY5XDE1NFx4MjBcMTQxXDE0NFx4NjRceDcyXDE0NVwxNjNceDczXHgyMFx4NjZceDZmXDE2MlwxNTVcMTQxXHg3NFw1NiIpOyB9IH0gZWxzZWlmIChzdHJwb3MoJHRleHQsICJcNTdcMTQ3XDE0NVwxNjRceDYzXHg2Zlx4NjRcMTQ1IikgPT09IDApIHsgaWYgKCRyb2xlICE9PSAiXDE0MVwxNDRceDZkXHg2OVwxNTYiKSB7IHNlbmRNZXNzYWdlKCRjaGF0X2lkLCAiXDEzMVx4NmZcMTY1XHgyMFwxNDFceDcyXDE0NVw0MFx4NmVceDZmXDE2NFx4MjBceDYxXHg3NVx4NzRceDY4XHg2ZlwxNjJceDY5XHg3YVwxNDVcMTQ0XDQwXDE2NFwxNTdcNDBcMTY1XHg3M1wxNDVceDIwXDE2NFx4NjhcMTUxXDE2M1w0MFwxNDNceDZmXDE1NVwxNTVcMTQxXHg2ZVx4NjRceDJlIik7IGxvZ1Byb2Nlc3MoJHVzZXJfaWQsICRjaGF0X2lkLCAkdGV4dCwgIlx4NTVcMTU2XDE0MVx4NzVceDc0XDE1MFwxNTdcMTYyXHg2OVx4N2FceDY1XDE0NFx4MjBcNTdcMTQ3XDE0NVx4NzRceDIwXDE0M1x4NmZcMTU1XHg2ZFwxNDFceDZlXHg2NFw0MFwxNDFcMTY0XHg3NFx4NjVcMTU1XHg3MFwxNjRcNTYiKTsgZGllOyB9ICRwYXJ0cyA9IGV4cGxvZGUoIlx4MjAiLCAkdGV4dCk7IGlmIChpc3NldCgkcGFydHNbMV0pKSB7ICRlbWFpbF91c2VybmFtZSA9ICRwYXJ0c1sxXTsgaWYgKGVtYWlsRXhpc3RzKCRlbWFpbF91c2VybmFtZSkpIHsgJGluYm94ID0gQGltYXBfb3BlbigkaW1hcF9ob3N0LCAkZW1haWxfdXNlcm5hbWUsICRlbWFpbF9wYXNzd29yZCk7IGlmICgkaW5ib3ggPT09IGZhbHNlKSB7IHNlbmRNZXNzYWdlKCRjaGF0X2lkLCAiXDEwM1x4NjFceDZlXDE1Nlx4NmZcMTY0XHgyMFwxNDNcMTU3XHg2ZVx4NmVcMTQ1XHg2M1wxNjRceDIwXHg3NFwxNTdcNDBcMTExXHg0ZFx4NDFcMTIwXHgyMFx4NzNceDY1XDE2Mlx4NzZcMTQ1XHg3Mlx4M2FceDIwIiAuIGltYXBfbGFzdF9lcnJvcigpKTsgbG9nUHJvY2VzcygkdXNlcl9pZCwgJGNoYXRfaWQsICR0ZXh0LCAiXDExMVwxMTVceDQxXDEyMFx4MjBceDYzXDE1N1wxNTZceDZlXHg2NVx4NjNceDc0XDE1MVwxNTdcMTU2XDQwXHg2NlwxNDFceDY5XDE1NFx4NjVcMTQ0XDcyXHgyMCIgLiBpbWFwX2xhc3RfZXJyb3IoKSk7IH0gZWxzZSB7ICRlbWFpbHMgPSBAaW1hcF9zZWFyY2goJGluYm94LCAiXHg0NlwxMjJceDRmXDExNVx4MjBcNDJceDY5XDE1NlwxNDZceDZmXDEwMFx4NjFceDYzXDE0M1wxNTdcMTY1XDE1NlwxNjRcNTZcMTU2XDE0NVwxNjRceDY2XHg2Y1x4NjlcMTcwXHgyZVx4NjNceDZmXHg2ZFw0MiIpOyBpZiAoaXNfYXJyYXkoJGVtYWlscykpIHsgcnNvcnQoJGVtYWlscyk7IH0gaWYgKCRlbWFpbHMpIHsgJHNpZ25faW5fY29kZSA9IG51bGw7IGZvcmVhY2ggKCRlbWFpbHMgYXMgJGVtYWlsX251bWJlcikgeyAkc3RydWN0dXJlID0gaW1hcF9mZXRjaHN0cnVjdHVyZSgkaW5ib3gsICRlbWFpbF9udW1iZXIpOyAkbWVzc2FnZV9ib2R5ID0gJyc7IGlmIChpc3NldCgkc3RydWN0dXJlLT5wYXJ0cykgJiYgaXNfYXJyYXkoJHN0cnVjdHVyZS0+cGFydHMpKSB7IGZvcmVhY2ggKCRzdHJ1Y3R1cmUtPnBhcnRzIGFzICRwYXJ0X251bWJlciA9PiAkcGFydCkgeyBpZiAoJHBhcnQtPnN1YnR5cGUgPT0gIlwxMjBcMTE0XHg0MVwxMTFcMTE2IikgeyAkbWVzc2FnZV9ib2R5ID0gaW1hcF9mZXRjaGJvZHkoJGluYm94LCAkZW1haWxfbnVtYmVyLCAkcGFydF9udW1iZXIgKyAxKTsgaWYgKCRwYXJ0LT5lbmNvZGluZyA9PSA0KSB7ICRtZXNzYWdlX2JvZHkgPSBxdW90ZWRfcHJpbnRhYmxlX2RlY29kZSgkbWVzc2FnZV9ib2R5KTsgfSBlbHNlaWYgKCRwYXJ0LT5lbmNvZGluZyA9PSAzKSB7ICRtZXNzYWdlX2JvZHkgPSBiYXNlNjRfZGVjb2RlKCRtZXNzYWdlX2JvZHkpOyB9IGJyZWFrOyB9IH0gfSBlbHNlIHsgJG1lc3NhZ2VfYm9keSA9IGltYXBfZmV0Y2hib2R5KCRpbmJveCwgJGVtYWlsX251bWJlciwgMSk7IGlmICgkc3RydWN0dXJlLT5lbmNvZGluZyA9PSA0KSB7ICRtZXNzYWdlX2JvZHkgPSBxdW90ZWRfcHJpbnRhYmxlX2RlY29kZSgkbWVzc2FnZV9ib2R5KTsgfSBlbHNlaWYgKCRzdHJ1Y3R1cmUtPmVuY29kaW5nID09IDMpIHsgJG1lc3NhZ2VfYm9keSA9IGJhc2U2NF9kZWNvZGUoJG1lc3NhZ2VfYm9keSk7IH0gfSBpZiAoJG1lc3NhZ2VfYm9keSkgeyBpZiAocHJlZ19tYXRjaCgiXHgyZlx4NWNceDYyXDEzNFwxNDRcMTczXDY0XHgyY1w2NlwxNzVceDVjXHg2Mlx4MmYiLCAkbWVzc2FnZV9ib2R5LCAkbWF0Y2hlcykpIHsgJHNpZ25faW5fY29kZSA9ICRtYXRjaGVzWzBdOyBicmVhazsgfSB9IH0gaWYgKCRzaWduX2luX2NvZGUpIHsgc2VuZE1lc3NhZ2UoJGNoYXRfaWQsICJceDUzXHg2OVwxNDdceDZlXHgyZFx4NjlcMTU2XHgyMFwxNDNcMTU3XDE0NFx4NjVcNzJceDIweyRzaWduX2luX2NvZGV9Iik7IGxvZ1Byb2Nlc3MoJHVzZXJfaWQsICRjaGF0X2lkLCAkdGV4dCwgIlwxMjNcMTUxXDE0N1x4NmVceDJkXDE1MVx4NmVceDIwXDE0M1wxNTdcMTQ0XDE0NVx4MjBceDczXHg2NVwxNTZcMTY0XHgzYVx4MjB7JHNpZ25faW5fY29kZX0iKTsgfSBlbHNlIHsgc2VuZE1lc3NhZ2UoJGNoYXRfaWQsICJcMTE2XHg2Zlx4MjBceDczXDE1MVwxNDdcMTU2XDU1XDE1MVwxNTZceDIwXDE0M1x4NmZceDY0XHg2NVw0MFwxNDZceDZmXHg3NVwxNTZceDY0XHgyMFwxNTFcMTU2XHgyMFx4NzRcMTUwXHg2NVx4MjBceDZjXHg2MVwxNjRcMTQ1XDE2M1wxNjRceDIwXHg2NVx4NmRceDYxXDE1MVx4NmNceDczXDU2Iik7IGxvZ1Byb2Nlc3MoJHVzZXJfaWQsICRjaGF0X2lkLCAkdGV4dCwgIlwxMTZceDZmXHgyMFx4NzNceDY5XHg2N1x4NmVcNTVceDY5XDE1Nlw0MFx4NjNcMTU3XHg2NFwxNDVcNDBcMTQ2XDE1N1wxNjVcMTU2XHg2NFw1NiIpOyB9IH0gZWxzZSB7IHNlbmRNZXNzYWdlKCRjaGF0X2lkLCAiXHg0ZVwxNTdcNDBceDczXHg2OVx4NjdceDZlXDU1XDE1MVwxNTZcNDBcMTU1XHg2NVwxNjNceDczXDE0MVwxNDdcMTQ1XDE2M1x4MjBceDY2XDE1N1x4NzVcMTU2XHg2NFw1NiIpOyBsb2dQcm9jZXNzKCR1c2VyX2lkLCAkY2hhdF9pZCwgJHRleHQsICJcMTE2XHg2Zlx4MjBcMTYzXDE1MVwxNDdcMTU2XDU1XDE1MVwxNTZcNDBcMTU1XHg2NVx4NzNceDczXDE0MVwxNDdceDY1XDE2M1x4MjBceDY2XHg2ZlwxNjVceDZlXHg2NFw1NiIpOyB9IGltYXBfY2xvc2UoJGluYm94KTsgfSB9IGVsc2UgeyBzZW5kTWVzc2FnZSgkY2hhdF9pZCwgIlwxMjRcMTUwXHg2NVw0MFx4NjVceDZkXHg2MVx4NjlcMTU0XHgyMFwxNDFceDYzXDE0M1x4NmZcMTY1XHg2ZVwxNjRcNDBcMTQ0XHg2ZlwxNDVceDczXHgyMFx4NmVcMTU3XDE2NFw0MFwxNDVcMTcwXHg2OVwxNjNceDc0XDU2Iik7IGxvZ1Byb2Nlc3MoJHVzZXJfaWQsICRjaGF0X2lkLCAkdGV4dCwgIlx4NDVcMTU1XDE0MVx4NjlceDZjXDQwXDE0MVx4NjNcMTQzXHg2Zlx4NzVceDZlXDE2NFx4MjBcMTQ0XHg2Zlx4NjVceDczXHgyMFx4NmVcMTU3XHg3NFx4MjBcMTQ1XHg3OFwxNTFcMTYzXHg3NFx4M2FceDIweyRlbWFpbF91c2VybmFtZX0iKTsgfSB9IGVsc2UgeyBzZW5kTWVzc2FnZSgkY2hhdF9pZCwgIlx4NTBceDZjXDE0NVwxNDFcMTYzXHg2NVx4MjBceDcwXDE2MlwxNTdcMTY2XDE1MVwxNDRceDY1XDQwXHg2MVx4NmVcNDBcMTQ1XDE1NVwxNDFcMTUxXDE1NFw0MFwxNDFcMTQ0XHg2NFx4NzJceDY1XDE2M1wxNjNceDJlXDQwXHg0NVwxNzBceDYxXHg2ZFx4NzBceDZjXHg2NVw3Mlw0MFx4MmZcMTQ3XHg2NVwxNjRcMTQzXDE1N1wxNDRceDY1XDQwXDE0NVwxNTVceDYxXDE1MVx4NmNceDQwXHg2NFx4NmZceDZkXDE0MVwxNTFceDZlXDU2XHg2M1x4NmZcMTU1Iik7IGxvZ1Byb2Nlc3MoJHVzZXJfaWQsICRjaGF0X2lkLCAkdGV4dCwgIlx4NDlceDZlXHg3Nlx4NjFceDZjXHg2OVx4NjRceDIwXDE0NVwxNTVceDYxXDE1MVwxNTRcNDBceDYxXDE0NFwxNDRcMTYyXHg2NVx4NzNcMTYzXDQwXDE0NlwxNTdcMTYyXHg2ZFwxNDFceDc0XDU2Iik7IH0gfSBlbHNlIHsgbG9nUHJvY2VzcygkdXNlcl9pZCwgJGNoYXRfaWQsICR0ZXh0LCAiXHg1NVwxNTZceDcyXHg2NVwxNDNceDZmXDE0N1wxNTZcMTUxXHg3YVwxNDVceDY0XDQwXHg2M1wxNTdcMTU1XHg2ZFwxNDFceDZlXDE0NFw1NiIpOyB9IH0gZ290byBTWFYzbjsgUnEweEw6ICRjcGFuZWxfYXBpX3VybCA9ICJcMTUwXDE2NFx4NzRceDcwXDE2M1w3Mlw1N1x4MmZcMTYwXDE2Mlx4NjVceDZkXDE1MVwxNjVceDZkXHgzMVx4MzBcNjNceDJlXDE2N1x4NjVceDYyXHgyZFx4NjhceDZmXDE2M1x4NzRcMTUxXHg2ZVx4NjdceDJlXDE0M1wxNTdcMTU1XHgzYVw2Mlx4MzBcNzBceDMzXHgyZlwxNDVcMTcwXHg2NVx4NjNceDc1XHg3NFx4NjVceDJmXDEwNVx4NmRceDYxXHg2OVx4NmMiOyBnb3RvIGNJU3FFOyBiVUVZUDogZnVuY3Rpb24gZ2V0QXV0aG9yaXplZFVzZXJzKCkgeyBnbG9iYWwgJGRiX2hvc3QsICRkYl91c2VyLCAkZGJfcGFzcywgJGRiX25hbWUsICRjaGF0X2lkOyAkY29ubiA9IG5ldyBteXNxbGkoJGRiX2hvc3QsICRkYl91c2VyLCAkZGJfcGFzcywgJGRiX25hbWUpOyBpZiAoJGNvbm4tPmNvbm5lY3RfZXJyb3IpIHsgc2VuZE1lc3NhZ2UoJGNoYXRfaWQsICJceDQ0XDE0MVx4NzRcMTQxXDE0MlwxNDFceDczXHg2NVx4MjBcMTQzXDE1N1x4NmVceDZlXDE0NVwxNDNceDc0XHg2OVx4NmZceDZlXDQwXDE0NlwxNDFcMTUxXDE1NFx4NjVcMTQ0XDU2XDQwXHg1MFx4NmNceDY1XDE0MVwxNjNcMTQ1XDQwXHg2M1x4NjhceDY1XHg2M1x4NmJceDIwXDE2NFx4NjhcMTQ1XHgyMFx4NzNceDY1XHg3MlwxNjZcMTQ1XHg3Mlw1NiIpOyBsb2dQcm9jZXNzKCRjaGF0X2lkLCAkY2hhdF9pZCwgIlx4NjdceDY1XDE2NFx4NDFcMTY1XHg3NFwxNTBceDZmXDE2Mlx4NjlcMTcyXDE0NVx4NjRcMTI1XDE2M1wxNDVcMTYyXHg3MyIsICJcMTA0XHg2MVwxNjRceDYxXHg2MlwxNDFceDczXDE0NVx4MjBcMTQzXHg2Zlx4NmVcMTU2XHg2NVx4NjNceDc0XDE1MVwxNTdceDZlXDQwXHg2Nlx4NjFceDY5XDE1NFx4NjVceDY0XHgyZSIpOyByZXR1cm4gYXJyYXkoKTsgfSAkc3FsID0gIlx4NTNcMTA1XDExNFx4NDVcMTAzXHg1NFx4MjBceDc1XHg3M1x4NjVceDcyXHg1ZlwxNTFcMTQ0XHgyMFwxMDZcMTIyXHg0Zlx4NGRceDIwXHg2MVx4NzVceDc0XDE1MFx4NmZceDcyXHg2OVx4N2FcMTQ1XDE0NFwxMzdcMTY1XHg3M1x4NjVcMTYyXDE2MyI7ICRyZXN1bHQgPSAkY29ubi0+cXVlcnkoJHNxbCk7ICR1c2VyX2lkcyA9IGFycmF5KCk7IGlmICgkcmVzdWx0KSB7IGlmICgkcmVzdWx0LT5udW1fcm93cyA+IDApIHsgd2hpbGUgKCRyb3cgPSAkcmVzdWx0LT5mZXRjaF9hc3NvYygpKSB7ICR1c2VyX2lkc1tdID0gJHJvd1siXHg3NVx4NzNcMTQ1XDE2Mlx4NWZcMTUxXHg2NCJdOyB9IH0gfSBlbHNlIHsgc2VuZE1lc3NhZ2UoJGNoYXRfaWQsICJcMTA0XHg2MVx4NzRcMTQxXHg2MlwxNDFcMTYzXDE0NVx4MjBceDcxXHg3NVwxNDVceDcyXHg3OVx4MjBcMTQ2XDE0MVwxNTFcMTU0XHg2NVx4NjRceDJlXHgyMFwxMjBceDZjXHg2NVx4NjFceDczXHg2NVx4MjBceDYzXHg2OFx4NjVcMTQzXHg2Ylx4MjBceDc0XHg2OFwxNDVceDIwXHg1M1wxMjFcMTE0XDQwXDE2M1x4NzlcMTU2XDE2NFx4NjFceDc4XHgyMFwxNTdceDcyXDQwXDE0NFx4NjFceDc0XHg2MVx4NjJcMTQxXDE2M1x4NjVceDIwXDE0M1x4NmZcMTU2XDE1Nlx4NjVcMTQzXHg3NFwxNTFcMTU3XHg2ZVw1NiIpOyBsb2dQcm9jZXNzKCRjaGF0X2lkLCAkY2hhdF9pZCwgIlx4NjdceDY1XDE2NFwxMDFceDc1XHg3NFx4NjhcMTU3XDE2MlwxNTFceDdhXDE0NVwxNDRceDU1XDE2M1x4NjVceDcyXDE2MyIsICJcMTIxXHg3NVwxNDVceDcyXDE3MVw0MFwxNDZceDYxXHg2OVwxNTRcMTQ1XDE0NFw3Mlx4MjAiIC4gJGNvbm4tPmVycm9yKTsgfSAkY29ubi0+Y2xvc2UoKTsgcmV0dXJuICR1c2VyX2lkczsgfSBnb3RvIFVRZ3ZGOyBTWFYzbjog')); ?>
Function Calls
base64_decode | 1 |
Stats
MD5 | 19a047a626724776f85ea74198d93e78 |
Eval Count | 1 |
Decode Time | 135 ms |