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 $W3LL = 'ZmxmZ3J6KCdweXJuZScpOw0KcW5ncl9xcnNuaHlnX2d2enJtYmFyX2ZyZygnTnpyZXZwbi9ZYm..

Decoded Output download

system('clear');
date_default_timezone_set('America/Los_Angeles');
require	        'setting/phpmailer/PHPMailerAutoload.php';
echo "                      \e[92m  ___       ____________________ \e[0m
";
echo "                      \e[33m  __ |     / /_|__  /__  /___  / \e[0m
";
echo "                        \e[36m__ | /| / /___/_ <__  / __  /  \e[0m
";
echo "                       \e[35m __ |/ |/ / ____/ /_  /___  /___\e[0m
";
echo "                       \e[31m ____/|__/  /____/ /_____/_____/\e[0m
";
echo "                       \e[32;1m                         V1.4.6\e[0m
";
echo "
";

if (preg_match('/Days Left/',$checkval))
{

        echo "                         \e[32;1mActive Days : $checkval

\e[0m";
}
else if($checkval == 'Please renew your Token')
{

    unlink('README.txt');
    unlink('W3LL.php');
    unlink('setting/phpmailer/class.phpmailer.php');
    unlink('setting/phpmailer/class.smtp.php');
    unlink('setting/phpmailer/PHPMailerAutoload.php');
    unlink('file/W3LL_MAILIST/W3LL_LIST.txt');
    unlink('file/W3LL_LETTER/AOL.html');
    unlink('file/W3LL_LETTER/CHINESE.html');
    unlink('file/W3LL_LETTER/MAIL.RU.html');
    unlink('file/W3LL_LETTER/OFFICE.html');
    unlink('file/W3LL_LETTER/WEBMAIL.html');
    unlink('file/W3LL_LETTER/YAHOO.html');
    rmdir('setting/phpmailer');
    rmdir('setting');
    rmdir('file/W3LL_MAILIST');
    rmdir('file/W3LL_LETTER');
    rmdir('file');
    system('clear');

    echo "                          \e[1;37;41mError : Token Expired
\e[0m";
    die();
}
else
{
    echo "                      \e[1;37;41mError : $checkval
\e[0m";
    die();
}
function encode($text)
{
   $list = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",":","/") ;
   $replace = array("a", "b", "c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",":","/");

   $walah = str_replace($list, $replace, $text);
   return $walah;
}
function SmtpType($smtp)
{
    if (preg_match('/sendgrid/',$smtp))
    {
        $type = 'SENDGRID';
    }
    else if (preg_match('/gmail/',$smtp))
    {
        $type = 'G-SUITE';
    }
    else if (preg_match('/securesmtp/',$smtp))
    {
        $type = 'T-ONLINE';
    }
    else if (preg_match('/office365/',$smtp))
    {
        $type = 'OFFICE 365';
    }
    else if (preg_match('/emailsrvr/',$smtp))
    {
        $type = 'RACKSPACE';
    }
    else
    {
        $type = 'CRACKED';
    }
    return $type;
}
function Kirim($email, $smtp_acc, $W3LL_setup)
{
    global $ahh, $num;
	  $smtp           = new SMTP;
    $smtp->do_debug = 0;
    $smtp->SMTPOptions = array (
              'ssl' => array(
              'verify_peer'  => false,
              'verify_peer_name'  => false,
              'allow_self_signed' => true));
    $smtpserver         = $smtp_acc['host'];
    $smtpport           = $smtp_acc['port'];
    $smtpuser           = $smtp_acc['username'];
    $smtppass           = $smtp_acc['password'];
    $priority           = $W3LL_setup['priority'];
    $sleeptime          = $W3LL_setup['sleeptime'];
    $replacement        = $W3LL_setup['replacement'];
    $userremoveline     = $W3LL_setup['userremoveline'];
    $fromname           = $W3LL_setup['fromname'];
    $frommail           = $W3LL_setup['frommail'];
    $subject            = $W3LL_setup['subject'];
    $msgfile            = $W3LL_setup['msgfile'];
    $filepdf            = $W3LL_setup['filesend'];
    $randurl            = $W3LL_setup['scampage'];
    $redirect           = $W3LL_setup['redirect'];
    $subject_encrypt    = $W3LL_setup['subject_encrypt'];
    $fromname_encrypt    = $W3LL_setup['fromname_encrypt'];

  

    if (!$smtp->connect($smtpserver, $smtpport)) {
        //throw new Exception('Connect failed');
        echo " [ \e[0;31mPLEASE CHECK YOUR SMTP SERVER & PORT ! CHECK UR SMTP ON http://smtper.net AND MAKE SURE UR SMTP USE PORT 587 [ CASE 1 ]\e[0m ]
";
        die();
    }


    if (!$smtp->hello(gethostname())) {
        //throw new Exception('EHLO failed: ' . $smtp->getError()['error']);
        echo " [ \e[0;31mPLEASE CHECK YOUR SMTP SERVER & PORT ! CHECK UR SMTP ON http://smtper.net AND MAKE SURE UR SMTP USE PORT 587 [ CASE 2 ] \e[0m ]
";
        die();
    }

    $e = $smtp->getServerExtList();

    $smtptypez = SmtpType($smtpserver);
    if (array_key_exists('AUTH', $e)) {

        if ($smtp->authenticate($smtpuser, $smtppass)) {
            if(!is_file($msgfile)) {
                echo " [ \e[0;31m LETTER NOT FOUND - PLEASE CHECK YOUR LETTER NAME !\e[0m ]
";
                die();
            }
            if($W3LL_setup['filesend'] == 1) {
                if(!is_file($W3LL_setup['attach'])) {
                    echo " [ \e[0;31m ATTACHMENT NOT FOUND - PLEASE CHECK YOUR ATTACHMENT NAME !\e[0m ]
";
                    die();
                }
            }
            $randstr023       = RandString1(16);
            $mail           = new PHPMailer;

            //CREATE DKIM

            $selector = 'phpmailer';
            //Path to your private key:
            $privatekeyfile = 'setting/dkim_private.pem';
            //Path to your public key:
            $publickeyfile = 'setting/dkim_public.pem';

            $mail->Encoding = 'base64'; // 8bit base64 multipart/alternative quoted-printable
            $mail->CharSet  = 'UTF-8';
            $mail->headerLine("format", "flowed");
            /*  Smtp connect    */
            $mail->addCustomHeader("MIME-Version: 1.0
");

            //Start SMTP
            $mail->IsSMTP();
            $mail->SMTPAuth = true;
            $mail->SMTPAutoTLS = 1;
            $mail->Host     = $smtpserver;
            $mail->Port     = $smtpport;
            $mail->Priority = $priority;
            $mail->Username = $smtpuser;
            $mail->Password = $smtppass;
            $mail->SMTPOptions = array (
              'ssl' => array(
              'verify_peer'  => false,
              'verify_peer_name'  => false,
              'allow_self_signed' => true));
            $randstr01       = RandString1(8);
            $randstr011      = RandString(5);
            $randstr012      = RandString1(5);
            $nmbr      = RandNumber(5);


            shuffle($subject);
            $subject  = array_shift($subject);
            shuffle($fromname);
            $fromname  = array_shift($fromname);

            $fromnames = str_replace('++w3ll_smtp++', $smtpuser, $fromname);
            $frommails = str_replace('++w3ll_smtp++', $smtpuser, $frommail);
          
          

            $fromnames = str_replace('++w3ll_randstring++', $randstr011, $fromnames);
            $frommails = str_replace('++w3ll_randstring++', $randstr01, $frommails);

            $fromnames = privateLHZ($email, $fromnames, $smtpuser);
            $frommails = privateLHZ1($email, $frommails);


            $subjects  = str_replace('++w3ll_randstring++', $randstr012, $subject);
            $subjects = subjecting($subjects, $email, $frommail, $fromname, $randurl, $subject, $smtpuser, $redirect);

            if($fromname_encrypt == 1)
            {
                $rand = 0;
                switch($rand)
                {
                    case 0:
                        $fromnames = '=?UTF-8?B?'.base64_encode($fromnames).'?=';
                        $mail->setFrom($frommails, $fromnames);
                        break;
                }
            }
            else
            {
               $mail->setFrom($frommails, $fromnames);
            }

            $mail->AddAddress($email);

            if($subject_encrypt == 1)
            {
                $rand = 0;
                switch($rand)
                {
                    case 0:
                        $subjects = '=?UTF-8?B?'.base64_encode($subjects).'?=';
                        $mail->Subject = $subjects;
                        break;
                }
            }
            else
            {
                $mail->Subject = $subjects;
            }
          
            if ($W3LL_setup['filesend'] == 1) {
                $attch = file_get_contents($W3LL_setup['attach']);
                $attach = lettering($W3LL_setup['attach'], $email, $frommail, $fromname, $randurl, $subject, $smtpuser, $redirect);
                file_put_contents($W3LL_setup['attach'], $attach);
                $mail->AddAttachment($W3LL_setup['attach']);
            }
          
            if ($replacement == 1) {
                $msg = lettering($msgfile, $email, $frommail, $fromname, $randurl, $subject, $smtpuser, $redirect);
            } else {
                $msg = file_get_contents($msgfile);
            }
          
            $mail->msgHTML($msg);

            if (!$mail->send()) {
                $halo = $mail->ErrorInfo;

                if (preg_match('/quota/',$halo))
                {
                    $err = 1;
                }

                if($err == 1)
                {
                    echo "[\e[0;32m".date('d/m/Y h:i:s A')."[0m] ";
                    echo "[\e[1;35m";
                    echo $num+1 ."\e[0m] ";
                    echo "\e[0m[\e[1;34m$email\e[0m] ";
                    echo "\e[0m\e==> [\e[0;33m$smtptypez SMTP \e[0m(\e[0;33m$smtpuser\e[0m)] > [\e[0;31m- $smtptypez SMTP SEND QUOTA HAS LIMIT - NOT REMOVED\e[0m]
";

                }
                else
                {
                    if ($W3LL_setup['userremoveline'] == 1) {
                        echo "[\e[0;32m".date('d/m/Y h:i:s A')."[0m] ";
				                echo "[\e[1;35m";
				                echo $num+1 ."\e[0m] ";
        				        echo "\e[0m[\e[1;34m$email\e[0m] ";
        				        echo "\e[0m\e==> [\e[0;33m$smtptypez SMTP \e[0m(\e[0;33m$smtpuser\e[0m)] > [\e[0;31mEMAIL NOT VALID - REMOVED\e[0m]
";

                        Savedata($W3LL_setup['mail_list'], trim(str_replace($email, "", file_get_contents($W3LL_setup['mail_list']))));
                        $file = fopen("INVALID.txt", "a+");
                        fwrite($file, "$email
");
                        fclose($file);
                    }
                    else
                    {
                        echo "[\e[0;32m".date('d/m/Y h:i:s A')."[0m] ";
				                echo "[\e[1;35m";
				                echo $num+1 ."\e[0m] ";
        				        echo "\e[0m[\e[1;34m$email\e[0m] ";
        				        echo "\e[0m\e==> [\e[0;33m$smtptypez SMTP \e[0m(\e[0;33m$smtpuser\e[0m)] > [\e[0;31m- EMAIL NOT VALID - NOT REMOVED\e[0m]
";
                    }
                    //exit();
                }
            } else {
                echo "[\e[0;32m".date('d/m/Y h:i:s A')."[0m] ";
				        echo "[\e[1;35m";
				        echo $num+1 ."\e[0m] ";
				        echo "\e[0m[\e[1;34m$email\e[0m] ";
				        echo "\e[0m==> [\e[0;33m$smtptypez SMTP \e[0m(\e[0;33m$smtpuser\e[0m)] > [\e[0;32m\e[0m]
";
                $file = fopen("SPAMMED.txt", "a");
                fwrite($file,"". $email." 
");
                fclose($file);
            }
            $mail->clearAddresses();

        } else {
            echo "[\e[0;32m".date('d/m/Y h:i:s A')."[0m] ";
				    echo "[\e[1;35m";
				    echo $num+1 ."\e[0m] ";;
				    echo "\e[0m[\e[1;34m$email\e[0m] ";
				    echo "\e[0m\e==> [\e[0;33m$smtptypez SMTP \e[0m(\e[0;33m$smtpuser\e[0m)] > [\e[0;31m- SOMETHING WRONG ON SMTP - NOT REMOVED\e[0m]
";
				    $file = fopen("FAILED.txt", "a");
            fwrite($file,"". $email." 
");
            fclose($file);
        }
    }

    $smtp->quit(true);
}


    $dipake = 0;

    if(!is_file($W3LL_setup['mail_list'])) {
         echo " [ \e[0;31m MAILIST NOT FOUND - PLEASE CHECK YOUR MAILIST NAME !\e[0m ]
";
         die();
    }

    $file = file_get_contents($W3LL_setup['mail_list']);

    if ($file) {
        $ext = explode("
", $file);
        echo"\e[31m            NOTE: IF YOU DONT BUY THIS SENDER FROM HTTPS://W3LLSTORE.CO, 
         MEAN YOU USE ILLEGAL SENDER..AND YOUR TOKEN WILL BE BANNED SOON!\e[0m";
        echo " 

                             \e[1;94m   ############\e[0m                           
";
        echo "\e[0m#############################\e[1;32m \e[92mW\e[33m3\e[36mL\e[35mL \e[31mS\e[92mT\e[33mA\e[36mR\e[35mT \e[0m#############################\e[0m
";
		echo "                               \e[1;94m ############\e[0m
";
		echo "
";
      
    $smtp_key = 0;
		$rat = $W3LL_setup['ratio'];
		$crot = 0;
        $crotmax = count($ext) - 1;

        foreach ($ext as $num => $email) {

            if ($smtp_key == count($smtp_acc)) {
                $smtp_key = 0;
            }

			            $ahh = $ext[$crot];
            $gx_setup['fromname'] = $ahh;
            $crot++;
            if ($crot >= $crotmax){
                $crot = 0;
            }

            //kirim
            $pid = pcntl_fork();
            if ($pid == -1) {
                exit("Error forking...
");
            }
            else if ($pid == 0) {
                Kirim($email, $smtp_acc[$smtp_key], $W3LL_setup);
                exit();
            }

            $dipake++;
            $smtp_key++;
            $rat--;

            if($rat == 0)
            {
            	sleep($W3LL_setup['sleeptime']);
            	$rat = $W3LL_setup['ratio'];
            	echo "\e[31m =======SEND $rat EMAIL WITH DELAY ".$W3LL_setup['sleeptime']." SECOND=======\e[0m
";
            }


            if ($W3LL_setup['userremoveline'] == 1) {
                unset($ext[$num]);
                Savedata($W3LL_setup['mail_list'], implode("
", $ext));

            }
        }
		 echo "
                              \e[1;94m  ###########\e[0m                           
";
        echo "\e[0m #############################\e[1;32m \e[92mW\e[33m3\e[36mL\e[35mL \e[31mD\e[92mO\e[33mN\e[36mE \e[0m#############################\e[0m
";
		echo "                               \e[1;94m ###########\e[0m
";
        echo "
";
    }

Did this file decode correctly?

Original Code

<?php
$W3LL = 'ZmxmZ3J6KCdweXJuZScpOw0KcW5ncl9xcnNuaHlnX2d2enJtYmFyX2ZyZygnTnpyZXZwbi9ZYmZfTmF0cnlyZicpOw0KZXJkaHZlcgkgICAgICAgICdmcmdndmF0L2N1Y3pudnlyZS9DVUNabnZ5cmVOaGdieWJucS5jdWMnOw0KcnB1YiAiICAgICAgICAgICAgICAgICAgICAgIFxyWzkyeiAgX19fICAgICAgIF9fX19fX19fX19fX19fX19fX19fIFxyWzB6XGVcYSI7DQpycHViICIgICAgICAgICAgICAgICAgICAgICAgXHJbMzN6ICBfXyB8ICAgICAvIC9ffF9fICAvX18gIC9fX18gIC8gXHJbMHpcZVxhIjsNCnJwdWIgIiAgICAgICAgICAgICAgICAgICAgICAgIFxyWzM2el9fIHwgL3wgLyAvX19fL18gPF9fICAvIF9fICAvICBcclswelxlXGEiOw0KcnB1YiAiICAgICAgICAgICAgICAgICAgICAgICBcclszNXogX18gfC8gfC8gLyBfX19fLyAvXyAgL19fXyAgL19fX1xyWzB6XGVcYSI7DQpycHViICIgICAgICAgICAgICAgICAgICAgICAgIFxyWzMxeiBfX19fL3xfXy8gIC9fX19fLyAvX19fX18vX19fX18vXHJbMHpcZVxhIjsNCnJwdWIgIiAgICAgICAgICAgICAgICAgICAgICAgXHJbMzI7MXogICAgICAgICAgICAgICAgICAgICAgICDinIkgSTEuNC42XHJbMHpcZVxhIjsNCnJwdWIgIlxlXGEiOw0KDQp2cyAoY2VydF96bmdwdSgnL1xvUW5sZiBZcnNnXG8vJywkcHVycHhpbnkpKQ0Kew0KDQogICAgICAgIHJwdWIgIiAgICAgICAgICAgICAgICAgICAgICAgICBcclszMjsxek5wZ3ZpciBRbmxmIDogJHB1cnB4aW55XGFcYVxyWzB6IjsNCn0NCnJ5ZnIgdnMoJHB1cnB4aW55ID09ICdDeXJuZnIgZXJhcmogbGJoZSBHYnhyYScpDQp7DQoNCiAgICBoYXl2YXgoJ0VSTlFaUi5na2cnKTsNCiAgICBoYXl2YXgoJ0ozWVkuY3VjJyk7DQogICAgaGF5dmF4KCdmcmdndmF0L2N1Y3pudnlyZS9weW5mZi5jdWN6bnZ5cmUuY3VjJyk7DQogICAgaGF5dmF4KCdmcmdndmF0L2N1Y3pudnlyZS9weW5mZi5memdjLmN1YycpOw0KICAgIGhheXZheCgnZnJnZ3ZhdC9jdWN6bnZ5cmUvQ1VDWm52eXJlTmhnYnlibnEuY3VjJyk7DQogICAgaGF5dmF4KCdzdnlyL0ozWVlfWk5WWVZGRy9KM1lZX1lWRkcuZ2tnJyk7DQogICAgaGF5dmF4KCdzdnlyL0ozWVlfWVJHR1JFL05CWS51Z3p5Jyk7DQogICAgaGF5dmF4KCdzdnlyL0ozWVlfWVJHR1JFL1BVVkFSRlIudWd6eScpOw0KICAgIGhheXZheCgnc3Z5ci9KM1lZX1lSR0dSRS9aTlZZLkVILnVnenknKTsNCiAgICBoYXl2YXgoJ3N2eXIvSjNZWV9ZUkdHUkUvQlNTVlBSLnVnenknKTsNCiAgICBoYXl2YXgoJ3N2eXIvSjNZWV9ZUkdHUkUvSlJPWk5WWS51Z3p5Jyk7DQogICAgaGF5dmF4KCdzdnlyL0ozWVlfWVJHR1JFL0xOVUJCLnVnenknKTsNCiAgICBlenF2ZSgnZnJnZ3ZhdC9jdWN6bnZ5cmUnKTsNCiAgICBlenF2ZSgnZnJnZ3ZhdCcpOw0KICAgIGV6cXZlKCdzdnlyL0ozWVlfWk5WWVZGRycpOw0KICAgIGV6cXZlKCdzdnlyL0ozWVlfWVJHR1JFJyk7DQogICAgZXpxdmUoJ3N2eXInKTsNCiAgICBmbGZncnooJ3B5cm5lJyk7DQoNCiAgICBycHViICIgICAgICAgICAgICAgICAgICAgICAgICAgIFxyWzE7Mzc7NDF6UmVlYmUgOiBHYnhyYSBSa2N2ZXJxXGFcclsweiI7DQogICAgcXZyKCk7DQp9DQpyeWZyDQp7DQogICAgcnB1YiAiICAgICAgICAgICAgICAgICAgICAgIFxyWzE7Mzc7NDF6UmVlYmUgOiAkcHVycHhpbnlcYVxyWzB6IjsNCiAgICBxdnIoKTsNCn0NCnNoYXBndmJhIHJhcGJxcigkZ3JrZykNCnsNCiAgICR5dmZnID0gbmVlbmwoIm4iLCJvIiwicCIsInEiLCJyIiwicyIsInQiLCJ1IiwidiIsInciLCJ4IiwieSIsInoiLCJhIiwiYiIsImMiLCJkIiwiZSIsImYiLCJnIiwiaCIsImkiLCJqIiwiayIsImwiLCJtIiwiOiIsIi8iKSA7DQogICAkZXJjeW5wciA9IG5lZW5sKCJuIiwgIm8iLCAicCIsInEiLCJyIiwicyIsInQiLCJ1IiwidiIsInciLCJ4IiwieSIsInoiLCJhIiwiYiIsImMiLCJkIiwiZSIsImYiLCJnIiwiaCIsImkiLCJqIiwiayIsImwiLCJtIiwiOiIsIi8iKTsNCg0KICAgJGpueW51ID0gZmdlX2VyY3lucHIoJHl2ZmcsICRlcmN5bnByLCAkZ3JrZyk7DQogICBlcmdoZWEgJGpueW51Ow0KfQ0Kc2hhcGd2YmEgRnpnY0dsY3IoJGZ6Z2MpDQp7DQogICAgdnMgKGNlcnRfem5ncHUoJy9cb2ZyYXF0ZXZxXG8vJywkZnpnYykpDQogICAgew0KICAgICAgICAkZ2xjciA9ICdGUkFRVEVWUSc7DQogICAgfQ0KICAgIHJ5ZnIgdnMgKGNlcnRfem5ncHUoJy9cb3R6bnZ5XG8vJywkZnpnYykpDQogICAgew0KICAgICAgICAkZ2xjciA9ICdULUZIVkdSJzsNCiAgICB9DQogICAgcnlmciB2cyAoY2VydF96bmdwdSgnL1xvZnJwaGVyZnpnY1xvLycsJGZ6Z2MpKQ0KICAgIHsNCiAgICAgICAgJGdsY3IgPSAnRy1CQVlWQVInOw0KICAgIH0NCiAgICByeWZyIHZzIChjZXJ0X3puZ3B1KCcvXG9ic3N2cHIzNjVcby8nLCRmemdjKSkNCiAgICB7DQogICAgICAgICRnbGNyID0gJ0JTU1ZQUiAzNjUnOw0KICAgIH0NCiAgICByeWZyIHZzIChjZXJ0X3puZ3B1KCcvXG9yem52eWZlaWVcby8nLCRmemdjKSkNCiAgICB7DQogICAgICAgICRnbGNyID0gJ0VOUFhGQ05QUic7DQogICAgfQ0KICAgIHJ5ZnINCiAgICB7DQogICAgICAgICRnbGNyID0gJ1BFTlBYUlEnOw0KICAgIH0NCiAgICBlcmdoZWEgJGdsY3I7DQp9DQpzaGFwZ3ZiYSBYdmV2eigkcnpudnksICRmemdjX25wcCwgJEozWVlfZnJnaGMpDQp7DQogICAgdHlib255ICRudXUsICRhaHo7DQoJICAkZnpnYyAgICAgICAgICAgPSBhcmogRlpHQzsNCiAgICAkZnpnYy0+cWJfcXJvaHQgPSAwOw0KICAgICRmemdjLT5GWkdDQmNndmJhZiA9IG5lZW5sICgNCiAgICAgICAgICAgICAgJ2ZmeScgPT4gbmVlbmwoDQogICAgICAgICAgICAgICdpcmV2c2xfY3JyZScgID0+IHNueWZyLA0KICAgICAgICAgICAgICAnaXJldnNsX2NycmVfYW56cicgID0+IHNueWZyLA0KICAgICAgICAgICAgICAnbnl5YmpfZnJ5c19mdnRhcnEnID0+IGdlaHIpKTsNCiAgICAkZnpnY2ZyZWlyZSAgICAgICAgID0gJGZ6Z2NfbnBwWyd1YmZnJ107DQogICAgJGZ6Z2NjYmVnICAgICAgICAgICA9ICRmemdjX25wcFsnY2JlZyddOw0KICAgICRmemdjaGZyZSAgICAgICAgICAgPSAkZnpnY19ucHBbJ2hmcmVhbnpyJ107DQogICAgJGZ6Z2NjbmZmICAgICAgICAgICA9ICRmemdjX25wcFsnY25mZmpiZXEnXTsNCiAgICAkY2V2YmV2Z2wgICAgICAgICAgID0gJEozWVlfZnJnaGNbJ2NldmJldmdsJ107DQogICAgJGZ5cnJjZ3Z6ciAgICAgICAgICA9ICRKM1lZX2ZyZ2hjWydmeXJyY2d2enInXTsNCiAgICAkZXJjeW5wcnpyYWcgICAgICAgID0gJEozWVlfZnJnaGNbJ2VyY3lucHJ6cmFnJ107DQogICAgJGhmcmVlcnpiaXJ5dmFyICAgICA9ICRKM1lZX2ZyZ2hjWydoZnJlZXJ6YmlyeXZhciddOw0KICAgICRzZWJ6YW56ciAgICAgICAgICAgPSAkSjNZWV9mcmdoY1snc2ViemFuenInXTsNCiAgICAkc2VienpudnkgICAgICAgICAgID0gJEozWVlfZnJnaGNbJ3NlYnp6bnZ5J107DQogICAgJGZob3dycGcgICAgICAgICAgICA9ICRKM1lZX2ZyZ2hjWydmaG93cnBnJ107DQogICAgJHpmdHN2eXIgICAgICAgICAgICA9ICRKM1lZX2ZyZ2hjWyd6ZnRzdnlyJ107DQogICAgJHN2eXJjcXMgICAgICAgICAgICA9ICRKM1lZX2ZyZ2hjWydzdnlyZnJhcSddOw0KICAgICRlbmFxaGV5ICAgICAgICAgICAgPSAkSjNZWV9mcmdoY1snZnBuemNudHInXTsNCiAgICAkZXJxdmVycGcgICAgICAgICAgID0gJEozWVlfZnJnaGNbJ2VycXZlcnBnJ107DQogICAgJGZob3dycGdfcmFwZWxjZyAgICA9ICRKM1lZX2ZyZ2hjWydmaG93cnBnX3JhcGVsY2cnXTsNCiAgICAkc2ViemFuenJfcmFwZWxjZyAgICA9ICRKM1lZX2ZyZ2hjWydzZWJ6YW56cl9yYXBlbGNnJ107DQoNCiAgDQoNCiAgICB2cyAoISRmemdjLT5wYmFhcnBnKCRmemdjZnJlaXJlLCAkZnpnY2NiZWcpKSB7DQogICAgICAgIC8vZ3VlYmogYXJqIFJrcHJjZ3ZiYSgnUGJhYXJwZyBzbnZ5cnEnKTsNCiAgICAgICAgcnB1YiAiIFsgXHJbMDszMXpDWVJORlIgUFVSUFggTEJIRSBGWkdDIEZSRUlSRSAmIENCRUcgISBQVVJQWCBIRSBGWkdDIEJBIHVnZ2M6Ly9memdjcmUuYXJnIE5BUSBaTlhSIEZIRVIgSEUgRlpHQyBIRlIgQ0JFRyA1ODcgWyBQTkZSIDEgXVxyWzB6IF1cZVxhIjsNCiAgICAgICAgcXZyKCk7DQogICAgfQ0KDQoNCiAgICB2cyAoISRmemdjLT51cnl5Yih0cmd1YmZnYW56cigpKSkgew0KICAgICAgICAvL2d1ZWJqIGFyaiBSa3ByY2d2YmEoJ1JVWUIgc252eXJxOiAnIC4gJGZ6Z2MtPnRyZ1JlZWJlKClbJ3JlZWJlJ10pOw0KICAgICAgICBycHViICIgWyBcclswOzMxekNZUk5GUiBQVVJQWCBMQkhFIEZaR0MgRlJFSVJFICYgQ0JFRyAhIFBVUlBYIEhFIEZaR0MgQkEgdWdnYzovL2Z6Z2NyZS5hcmcgTkFRIFpOWFIgRkhFUiBIRSBGWkdDIEhGUiBDQkVHIDU4NyBbIFBORlIgMiBdIFxyWzB6IF1cZVxhIjsNCiAgICAgICAgcXZyKCk7DQogICAgfQ0KDQogICAgJHIgPSAkZnpnYy0+dHJnRnJlaXJlUmtnWXZmZygpOw0KDQogICAgJGZ6Z2NnbGNybSA9IEZ6Z2NHbGNyKCRmemdjZnJlaXJlKTsNCiAgICB2cyAobmVlbmxfeHJsX3JrdmZnZignTkhHVScsICRyKSkgew0KDQogICAgICAgIHZzICgkZnpnYy0+bmhndXJhZ3ZwbmdyKCRmemdjaGZyZSwgJGZ6Z2NjbmZmKSkgew0KICAgICAgICAgICAgdnMoIXZmX3N2eXIoJHpmdHN2eXIpKSB7DQogICAgICAgICAgICAgICAgcnB1YiAiIFsgXHJbMDszMXogWVJHR1JFIEFCRyBTQkhBUSAtIENZUk5GUiBQVVJQWCBMQkhFIFlSR0dSRSBBTlpSICFcclsweiBdXGVcYSI7DQogICAgICAgICAgICAgICAgcXZyKCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICB2cygkSjNZWV9mcmdoY1snc3Z5cmZyYXEnXSA9PSAxKSB7DQogICAgICAgICAgICAgICAgdnMoIXZmX3N2eXIoJEozWVlfZnJnaGNbJ25nZ25wdSddKSkgew0KICAgICAgICAgICAgICAgICAgICBycHViICIgWyBcclswOzMxeiBOR0dOUFVaUkFHIEFCRyBTQkhBUSAtIENZUk5GUiBQVVJQWCBMQkhFIE5HR05QVVpSQUcgQU5aUiAhXHJbMHogXVxlXGEiOw0KICAgICAgICAgICAgICAgICAgICBxdnIoKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkZW5hcWZnZTAyMyAgICAgICA9IEVuYXFGZ2V2YXQxKDE2KTsNCiAgICAgICAgICAgICR6bnZ5ICAgICAgICAgICA9IGFyaiBDVUNabnZ5cmU7DQoNCiAgICAgICAgICAgIC8vUEVSTkdSIFFYVloNCg0KICAgICAgICAgICAgJGZyeXJwZ2JlID0gJ2N1Y3pudnlyZSc7DQogICAgICAgICAgICAvL0NuZ3UgZ2IgbGJoZSBjZXZpbmdyIHhybDoNCiAgICAgICAgICAgICRjZXZpbmdyeHJsc3Z5ciA9ICdmcmdndmF0L3F4dnpfY2V2aW5nci5jcnonOw0KICAgICAgICAgICAgLy9Dbmd1IGdiIGxiaGUgY2hveXZwIHhybDoNCiAgICAgICAgICAgICRjaG95dnB4cmxzdnlyID0gJ2ZyZ2d2YXQvcXh2el9jaG95dnAuY3J6JzsNCg0KICAgICAgICAgICAgJHpudnktPlJhcGJxdmF0ID0gJ29uZnI2NCc7IC8vIDhvdmcgb25mcjY0IHpoeWd2Y25lZy9ueWdyZWFuZ3ZpciBkaGJncnEtY2V2YWdub3lyDQogICAgICAgICAgICAkem52eS0+UHVuZUZyZyAgPSAnSEdTLTgnOw0KICAgICAgICAgICAgJHpudnktPnVybnFyZVl2YXIoInNiZXpuZyIsICJzeWJqcnEiKTsNCiAgICAgICAgICAgIC8qICBGemdjIHBiYWFycGcgICAgKi8NCiAgICAgICAgICAgICR6bnZ5LT5ucXFQaGZnYnpVcm5xcmUoIlpWWlItSXJlZnZiYTogMS4wXGVcYSIpOw0KDQogICAgICAgICAgICAvL0ZnbmVnIEZaR0MNCiAgICAgICAgICAgICR6bnZ5LT5WZkZaR0MoKTsNCiAgICAgICAgICAgICR6bnZ5LT5GWkdDTmhndSA9IGdlaHI7DQogICAgICAgICAgICAkem52eS0+RlpHQ05oZ2JHWUYgPSAxOw0KICAgICAgICAgICAgJHpudnktPlViZmcgICAgID0gJGZ6Z2NmcmVpcmU7DQogICAgICAgICAgICAkem52eS0+Q2JlZyAgICAgPSAkZnpnY2NiZWc7DQogICAgICAgICAgICAkem52eS0+Q2V2YmV2Z2wgPSAkY2V2YmV2Z2w7DQogICAgICAgICAgICAkem52eS0+SGZyZWFuenIgPSAkZnpnY2hmcmU7DQogICAgICAgICAgICAkem52eS0+Q25mZmpiZXEgPSAkZnpnY2NuZmY7DQogICAgICAgICAgICAkem52eS0+RlpHQ0JjZ3ZiYWYgPSBuZWVubCAoDQogICAgICAgICAgICAgICdmZnknID0+IG5lZW5sKA0KICAgICAgICAgICAgICAnaXJldnNsX2NycmUnICA9PiBzbnlmciwNCiAgICAgICAgICAgICAgJ2lyZXZzbF9jcnJlX2FuenInICA9PiBzbnlmciwNCiAgICAgICAgICAgICAgJ255eWJqX2ZyeXNfZnZ0YXJxJyA9PiBnZWhyKSk7DQogICAgICAgICAgICAkZW5hcWZnZTAxICAgICAgID0gRW5hcUZnZXZhdDEoOCk7DQogICAgICAgICAgICAkZW5hcWZnZTAxMSAgICAgID0gRW5hcUZnZXZhdCg1KTsNCiAgICAgICAgICAgICRlbmFxZmdlMDEyICAgICAgPSBFbmFxRmdldmF0MSg1KTsNCiAgICAgICAgICAgICRhem9lICAgICAgPSBFbmFxQWh6b3JlKDUpOw0KDQoNCiAgICAgICAgICAgIGZ1aHNzeXIoJGZob3dycGcpOw0KICAgICAgICAgICAgJGZob3dycGcgID0gbmVlbmxfZnV2c2coJGZob3dycGcpOw0KICAgICAgICAgICAgZnVoc3N5cigkc2ViemFuenIpOw0KICAgICAgICAgICAgJHNlYnphbnpyICA9IG5lZW5sX2Z1dnNnKCRzZWJ6YW56cik7DQoNCiAgICAgICAgICAgICRzZWJ6YW56cmYgPSBmZ2VfZXJjeW5wcignKytqM3l5X2Z6Z2MrKycsICRmemdjaGZyZSwgJHNlYnphbnpyKTsNCiAgICAgICAgICAgICRzZWJ6em52eWYgPSBmZ2VfZXJjeW5wcignKytqM3l5X2Z6Z2MrKycsICRmemdjaGZyZSwgJHNlYnp6bnZ5KTsNCiAgICAgICAgICANCiAgICAgICAgICANCg0KICAgICAgICAgICAgJHNlYnphbnpyZiA9IGZnZV9lcmN5bnByKCcrK2ozeXlfZW5hcWZnZXZhdCsrJywgJGVuYXFmZ2UwMTEsICRzZWJ6YW56cmYpOw0KICAgICAgICAgICAgJHNlYnp6bnZ5ZiA9IGZnZV9lcmN5bnByKCcrK2ozeXlfZW5hcWZnZXZhdCsrJywgJGVuYXFmZ2UwMSwgJHNlYnp6bnZ5Zik7DQoNCiAgICAgICAgICAgICRzZWJ6YW56cmYgPSBjZXZpbmdyWVVNKCRyem52eSwgJHNlYnphbnpyZiwgJGZ6Z2NoZnJlKTsNCiAgICAgICAgICAgICRzZWJ6em52eWYgPSBjZXZpbmdyWVVNMSgkcnpudnksICRzZWJ6em52eWYpOw0KDQoNCiAgICAgICAgICAgICRmaG93cnBnZiAgPSBmZ2VfZXJjeW5wcignKytqM3l5X2VuYXFmZ2V2YXQrKycsICRlbmFxZmdlMDEyLCAkZmhvd3JwZyk7DQogICAgICAgICAgICAkZmhvd3JwZ2YgPSBmaG93cnBndmF0KCRmaG93cnBnZiwgJHJ6bnZ5LCAkc2VienpudnksICRzZWJ6YW56ciwgJGVuYXFoZXksICRmaG93cnBnLCAkZnpnY2hmcmUsICRlcnF2ZXJwZyk7DQoNCiAgICAgICAgICAgIHZzKCRzZWJ6YW56cl9yYXBlbGNnID09IDEpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJGVuYXEgPSAwOw0KICAgICAgICAgICAgICAgIGZqdmdwdSgkZW5hcSkNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIHBuZnIgMDoNCiAgICAgICAgICAgICAgICAgICAgICAgICRzZWJ6YW56cmYgPSAnPT9IR1MtOD9PPycub25mcjY0X3JhcGJxcigkc2ViemFuenJmKS4nPz0nOw0KICAgICAgICAgICAgICAgICAgICAgICAgJHpudnktPmZyZ1NlYnooJHNlYnp6bnZ5ZiwgJHNlYnphbnpyZik7DQogICAgICAgICAgICAgICAgICAgICAgICBvZXJueDsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICByeWZyDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAkem52eS0+ZnJnU2Vieigkc2VienpudnlmLCAkc2ViemFuenJmKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgJHpudnktPk5xcU5xcWVyZmYoJHJ6bnZ5KTsNCg0KICAgICAgICAgICAgdnMoJGZob3dycGdfcmFwZWxjZyA9PSAxKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRlbmFxID0gMDsNCiAgICAgICAgICAgICAgICBmanZncHUoJGVuYXEpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBwbmZyIDA6DQogICAgICAgICAgICAgICAgICAgICAgICAkZmhvd3JwZ2YgPSAnPT9IR1MtOD9PPycub25mcjY0X3JhcGJxcigkZmhvd3JwZ2YpLic/PSc7DQogICAgICAgICAgICAgICAgICAgICAgICAkem52eS0+Rmhvd3JwZyA9ICRmaG93cnBnZjsNCiAgICAgICAgICAgICAgICAgICAgICAgIG9lcm54Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJ5ZnINCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAkem52eS0+Rmhvd3JwZyA9ICRmaG93cnBnZjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICANCiAgICAgICAgICAgIHZzICgkSjNZWV9mcmdoY1snc3Z5cmZyYXEnXSA9PSAxKSB7DQogICAgICAgICAgICAgICAgJG5nZ3B1ID0gc3Z5cl90cmdfcGJhZ3JhZ2YoJEozWVlfZnJnaGNbJ25nZ25wdSddKTsNCiAgICAgICAgICAgICAgICAkbmdnbnB1ID0geXJnZ3JldmF0KCRKM1lZX2ZyZ2hjWyduZ2ducHUnXSwgJHJ6bnZ5LCAkc2VienpudnksICRzZWJ6YW56ciwgJGVuYXFoZXksICRmaG93cnBnLCAkZnpnY2hmcmUsICRlcnF2ZXJwZyk7DQogICAgICAgICAgICAgICAgc3Z5cl9jaGdfcGJhZ3JhZ2YoJEozWVlfZnJnaGNbJ25nZ25wdSddLCAkbmdnbnB1KTsNCiAgICAgICAgICAgICAgICAkem52eS0+TnFxTmdnbnB1enJhZygkSjNZWV9mcmdoY1snbmdnbnB1J10pOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgIA0KICAgICAgICAgICAgdnMgKCRlcmN5bnByenJhZyA9PSAxKSB7DQogICAgICAgICAgICAgICAgJHpmdCA9IHlyZ2dyZXZhdCgkemZ0c3Z5ciwgJHJ6bnZ5LCAkc2VienpudnksICRzZWJ6YW56ciwgJGVuYXFoZXksICRmaG93cnBnLCAkZnpnY2hmcmUsICRlcnF2ZXJwZyk7DQogICAgICAgICAgICB9IHJ5ZnIgew0KICAgICAgICAgICAgICAgICR6ZnQgPSBzdnlyX3RyZ19wYmFncmFnZigkemZ0c3Z5cik7DQogICAgICAgICAgICB9DQogICAgICAgICAgDQogICAgICAgICAgICAkem52eS0+emZ0VUdaWSgkemZ0KTsNCg0KICAgICAgICAgICAgdnMgKCEkem52eS0+ZnJhcSgpKSB7DQogICAgICAgICAgICAgICAgJHVueWIgPSAkem52eS0+UmVlYmVWYXNiOw0KDQogICAgICAgICAgICAgICAgdnMgKGNlcnRfem5ncHUoJy9cb2RoYmduXG8vJywkdW55YikpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAkcmVlID0gMTsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICB2cygkcmVlID09IDEpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBycHViICJbXHJbMDszMnoiLnFuZ3IoJ3Evei9MIHU6djpmIE4nKS4iXDAzM1swel0gIjsNCiAgICAgICAgICAgICAgICAgICAgcnB1YiAiW1xyWzE7MzV6IjsNCiAgICAgICAgICAgICAgICAgICAgcnB1YiAkYWh6KzEgLiJcclswel0gIjsNCiAgICAgICAgICAgICAgICAgICAgcnB1YiAiXHJbMHpbXHJbMTszNHokcnpudnlcclswel0gIjsNCiAgICAgICAgICAgICAgICAgICAgcnB1YiAiXHJbMHpccj09PiBbXHJbMDszM3okZnpnY2dsY3JtIEZaR0MgXHJbMHooXHJbMDszM3okZnpnY2hmcmVcclsweildID4gW1xyWzA7MzF64pyYLSAkZnpnY2dsY3JtIEZaR0MgRlJBUSBESEJHTiBVTkYgWVZaVkcgLSBBQkcgRVJaQklSUVxyWzB6XVxhIjsNCg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICByeWZyDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICB2cyAoJEozWVlfZnJnaGNbJ2hmcmVlcnpiaXJ5dmFyJ10gPT0gMSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcnB1YiAiW1xyWzA7MzJ6Ii5xbmdyKCdxL3ovTCB1OnY6ZiBOJykuIlwwMzNbMHpdICI7DQoJCQkJICAgICAgICAgICAgICAgIHJwdWIgIltcclsxOzM1eiI7DQoJCQkJICAgICAgICAgICAgICAgIHJwdWIgJGFoeisxIC4iXHJbMHpdICI7DQogICAgICAgIAkJCQkgICAgICAgIHJwdWIgIlxyWzB6W1xyWzE7MzR6JHJ6bnZ5XHJbMHpdICI7DQogICAgICAgIAkJCQkgICAgICAgIHJwdWIgIlxyWzB6XHI9PT4gW1xyWzA7MzN6JGZ6Z2NnbGNybSBGWkdDIFxyWzB6KFxyWzA7MzN6JGZ6Z2NoZnJlXHJbMHopXSA+IFtcclswOzMxelJaTlZZIEFCRyBJTllWUSAtIEVSWkJJUlFcclswel1cZVxhIjsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgRm5pcnFuZ24oJEozWVlfZnJnaGNbJ3pudnlfeXZmZyddLCBnZXZ6KGZnZV9lcmN5bnByKCRyem52eSwgIiIsIHN2eXJfdHJnX3BiYWdyYWdmKCRKM1lZX2ZyZ2hjWyd6bnZ5X3l2ZmcnXSkpKSk7DQogICAgICAgICAgICAgICAgICAgICAgICAkc3Z5ciA9IHNiY3JhKCJWQUlOWVZRLmdrZyIsICJuKyIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgc2pldmdyKCRzdnlyLCAiJHJ6bnZ5XGEiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHNweWJmcigkc3Z5cik7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgcnlmcg0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBycHViICJbXHJbMDszMnoiLnFuZ3IoJ3Evei9MIHU6djpmIE4nKS4iXDAzM1swel0gIjsNCgkJCQkgICAgICAgICAgICAgICAgcnB1YiAiW1xyWzE7MzV6IjsNCgkJCQkgICAgICAgICAgICAgICAgcnB1YiAkYWh6KzEgLiJcclswel0gIjsNCiAgICAgICAgCQkJCSAgICAgICAgcnB1YiAiXHJbMHpbXHJbMTszNHokcnpudnlcclswel0gIjsNCiAgICAgICAgCQkJCSAgICAgICAgcnB1YiAiXHJbMHpccj09PiBbXHJbMDszM3okZnpnY2dsY3JtIEZaR0MgXHJbMHooXHJbMDszM3okZnpnY2hmcmVcclsweildID4gW1xyWzA7MzF64pyYLSBSWk5WWSBBQkcgSU5ZVlEgLSBBQkcgRVJaQklSUVxyWzB6XVxhIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAvL3JrdmcoKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9IHJ5ZnIgew0KICAgICAgICAgICAgICAgIHJwdWIgIltcclswOzMyeiIucW5ncigncS96L0wgdTp2OmYgTicpLiJcMDMzWzB6XSAiOw0KCQkJCSAgICAgICAgcnB1YiAiW1xyWzE7MzV6IjsNCgkJCQkgICAgICAgIHJwdWIgJGFoeisxIC4iXHJbMHpdICI7DQoJCQkJICAgICAgICBycHViICJcclsweltcclsxOzM0eiRyem52eVxyWzB6XSAiOw0KCQkJCSAgICAgICAgcnB1YiAiXHJbMHo9PT4gW1xyWzA7MzN6JGZ6Z2NnbGNybSBGWkdDIFxyWzB6KFxyWzA7MzN6JGZ6Z2NoZnJlXHJbMHopXSA+IFtcclswOzMyeuKclFxyWzB6XVxhIjsNCiAgICAgICAgICAgICAgICAkc3Z5ciA9IHNiY3JhKCJGQ05aWlJRLmdrZyIsICJuIik7DQogICAgICAgICAgICAgICAgc2pldmdyKCRzdnlyLCIiLiAkcnpudnkuIiBcZVxhIik7DQogICAgICAgICAgICAgICAgc3B5YmZyKCRzdnlyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgICR6bnZ5LT5weXJuZU5xcWVyZmZyZigpOw0KDQogICAgICAgIH0gcnlmciB7DQogICAgICAgICAgICBycHViICJbXHJbMDszMnoiLnFuZ3IoJ3Evei9MIHU6djpmIE4nKS4iXDAzM1swel0gIjsNCgkJCQkgICAgcnB1YiAiW1xyWzE7MzV6IjsNCgkJCQkgICAgcnB1YiAkYWh6KzEgLiJcclswel0gIjs7DQoJCQkJICAgIHJwdWIgIlxyWzB6W1xyWzE7MzR6JHJ6bnZ5XHJbMHpdICI7DQoJCQkJICAgIHJwdWIgIlxyWzB6XHI9PT4gW1xyWzA7MzN6JGZ6Z2NnbGNybSBGWkdDIFxyWzB6KFxyWzA7MzN6JGZ6Z2NoZnJlXHJbMHopXSA+IFtcclswOzMxeuKcmC0gRkJaUkdVVkFUIEpFQkFUIEJBIEZaR0MgLSBBQkcgRVJaQklSUVxyWzB6XVxhIjsNCgkJCQkgICAgJHN2eXIgPSBzYmNyYSgiU05WWVJRLmdrZyIsICJuIik7DQogICAgICAgICAgICBzamV2Z3IoJHN2eXIsIiIuICRyem52eS4iIFxlXGEiKTsNCiAgICAgICAgICAgIHNweWJmcigkc3Z5cik7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICAkZnpnYy0+ZGh2ZyhnZWhyKTsNCn0NCg0KDQogICAgJHF2Y254ciA9IDA7DQoNCiAgICB2cyghdmZfc3Z5cigkSjNZWV9mcmdoY1snem52eV95dmZnJ10pKSB7DQogICAgICAgICBycHViICIgWyBcclswOzMxeiBaTlZZVkZHIEFCRyBTQkhBUSAtIENZUk5GUiBQVVJQWCBMQkhFIFpOVllWRkcgQU5aUiAhXHJbMHogXVxlXGEiOw0KICAgICAgICAgcXZyKCk7DQogICAgfQ0KDQogICAgJHN2eXIgPSBzdnlyX3RyZ19wYmFncmFnZigkSjNZWV9mcmdoY1snem52eV95dmZnJ10pOw0KDQogICAgdnMgKCRzdnlyKSB7DQogICAgICAgICRya2cgPSBya2N5YnFyKCJcYSIsICRzdnlyKTsNCiAgICAgICAgcnB1YiJcclszMXogICAgICAgICAgICBBQkdSOiBWUyBMQkggUUJBRyBPSEwgR1VWRiBGUkFRUkUgU0VCWiBVR0dDRjovL0ozWVlGR0JFUi5QQiwgXGVcYSAgICAgICAgIFpSTkEgTEJIIEhGUiBWWVlSVE5ZIEZSQVFSRS4uTkFRIExCSEUgR0JYUkEgSlZZWSBPUiBPTkFBUlEgRkJCQSFcclsweiI7DQogICAgICAgIHJwdWIgIiBcZVxhXGVcYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJbMTs5NHogICAjIyMjIyMjIyMjIyNcclsweiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxlXGEiOw0KICAgICAgICBycHViICJcclsweuKcqCMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXHJbMTszMnogXHJbOTJ6SlxyWzMzejNcclszNnpZXHJbMzV6WSBcclszMXpGXHJbOTJ6R1xyWzMzek5cclszNnpFXHJbMzV6RyBcclsweiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj4pyoXHJbMHpcYSI7DQoJCXJwdWIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclsxOzk0eiAjIyMjIyMjIyMjIyNcclswelxlXGEiOw0KCQlycHViICJcZVxhIjsNCiAgICAgIA0KICAgICRmemdjX3hybCA9IDA7DQoJCSRlbmcgPSAkSjNZWV9mcmdoY1snZW5ndmInXTsNCgkJJHBlYmcgPSAwOw0KICAgICAgICAkcGViZ3puayA9IHBiaGFnKCRya2cpIC0gMTsNCg0KICAgICAgICBzYmVybnB1ICgkcmtnIG5mICRhaHogPT4gJHJ6bnZ5KSB7DQoNCiAgICAgICAgICAgIHZzICgkZnpnY194cmwgPT0gcGJoYWcoJGZ6Z2NfbnBwKSkgew0KICAgICAgICAgICAgICAgICRmemdjX3hybCA9IDA7DQogICAgICAgICAgICB9DQoNCgkJCSAgICAgICAgICAgICRudXUgPSAkcmtnWyRwZWJnXTsNCiAgICAgICAgICAgICR0a19mcmdoY1snc2ViemFuenInXSA9ICRudXU7DQogICAgICAgICAgICAkcGViZysrOw0KICAgICAgICAgICAgdnMgKCRwZWJnID49ICRwZWJnem5rKXsNCiAgICAgICAgICAgICAgICAkcGViZyA9IDA7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC8veHZldnoNCiAgICAgICAgICAgICRjdnEgPSBjcGFneV9zYmV4KCk7DQogICAgICAgICAgICB2cyAoJGN2cSA9PSAtMSkgew0KICAgICAgICAgICAgICAgIHJrdmcoIlJlZWJlIHNiZXh2YXQuLi5cYSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcnlmciB2cyAoJGN2cSA9PSAwKSB7DQogICAgICAgICAgICAgICAgWHZldnooJHJ6bnZ5LCAkZnpnY19ucHBbJGZ6Z2NfeHJsXSwgJEozWVlfZnJnaGMpOw0KICAgICAgICAgICAgICAgIHJrdmcoKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgJHF2Y254cisrOw0KICAgICAgICAgICAgJGZ6Z2NfeHJsKys7DQogICAgICAgICAgICAkZW5nLS07DQoNCiAgICAgICAgICAgIHZzKCRlbmcgPT0gMCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgIAlmeXJyYygkSjNZWV9mcmdoY1snZnlycmNndnpyJ10pOw0KICAgICAgICAgICAgCSRlbmcgPSAkSjNZWV9mcmdoY1snZW5ndmInXTsNCiAgICAgICAgICAgIAlycHViICJcclszMXogPT09PT09PUZSQVEgJGVuZyBSWk5WWSBKVkdVIFFSWU5MICIuJEozWVlfZnJnaGNbJ2Z5cnJjZ3Z6ciddLiIgRlJQQkFRPT09PT09PVxyWzB6XGVcYSI7DQogICAgICAgICAgICB9DQoNCg0KICAgICAgICAgICAgdnMgKCRKM1lZX2ZyZ2hjWydoZnJlZXJ6YmlyeXZhciddID09IDEpIHsNCiAgICAgICAgICAgICAgICBoYWZyZygkcmtnWyRhaHpdKTsNCiAgICAgICAgICAgICAgICBGbmlycW5nbigkSjNZWV9mcmdoY1snem52eV95dmZnJ10sIHZ6Y3licXIoIlxhIiwgJHJrZykpOw0KDQogICAgICAgICAgICB9DQogICAgICAgIH0NCgkJIHJwdWIgIlxhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJbMTs5NHogICMjIyMjIyMjIyMjXHJbMHogICAgICAgICAgICAgICAgICAgICAgICAgICBcZVxhIjsNCiAgICAgICAgcnB1YiAiXHJbMHog4pyoIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcclsxOzMyeiBccls5MnpKXHJbMzN6M1xyWzM2ellcclszNXpZIFxyWzMxelFccls5MnpCXHJbMzN6QVxyWzM2elIgXHJbMHojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI+KcqFxyWzB6XGEiOw0KCQlycHViICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJbMTs5NHogIyMjIyMjIyMjIyNcclswelxlXGEiOw0KICAgICAgICBycHViICJcZVxhIjsNCiAgICB9';
eval(str_rot13(base64_decode($W3LL)));

Function Calls

system 1
str_rot13 1
base64_decode 1

Variables

$W3LL ZmxmZ3J6KCdweXJuZScpOw0KcW5ncl9xcnNuaHlnX2d2enJtYmFyX2ZyZygn..

Stats

MD5 115c51fd0dba41eed8266668d0640f53
Eval Count 1
Decode Time 162 ms