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 eval("?>".base64_decode("PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCnNlc3Npb25fc3RhcnQoKTs..

Decoded Output download

?>b'<?php
error_reporting(0);
session_start();
date_default_timezone_set("Asia/Ho_Chi_Minh");
$end="[0m";
$black="[0;30m";
$blackb="[1;30m";
$white="[0;37m";
$whiteb="[1;37m";
$red="[0;31m";
$redb="[1;31m";
$green="[0;32m";
$greenb="[1;32m";
$yellow="[0;33m";
$yellowb="[1;33m";
$syan="[1;36m";
$blue="[0;34m";
$blueb="[1;34m";
$purple="[0;35m";
$purpleb="[1;35m";
$lightblue="[0;36m";
$lightblue="[1;35m";
$lightblueb="[1;36m";
$hong="[1;95m";
$input = array($d2="[1;36m",$tmd3="[1;37m",$tmd4="[1;37m",$tmd5="[0;31m",$tmd6="[1;31m",$tmd7="[0;32m",$tmd8="[1;32m",$tmd9="[0;33m",$tmd10="[1;33m",$tmd11="[0;34m",$tmd12="[1;34m",$tmd13="[0;35m",$tmd14="[1;35m",$tmd15="[0;36m",$tmd16="[1;36m");
$rand_keys = array_rand($input, 10);
$input = array($tmd1="[1;46m",$tmd2="[1;36m",$tmd3="[1;37m",$tmd4="[1;37m",$tmd5="[0;31m",$tmd6="[1;31m",$tmd7="[0;32m",$tmd8="[1;32m",$tmd9="[0;33m",$tmd10="[1;33m",$tmd11="[0;34m",$tmd12="[1;34m",$tmd13="[0;35m",$tmd14="[1;35m",$tmd15="[0;36m",$tmd16="[1;36m");
@system(\'clear\');
$data = file_get_contents(\'id.txt\');
$a = strlen($data);
if($a == \'0\') {
	$cc = \'HY XA DNG CH NY V DN ID TI KHON CN REPORT VO Y\';
	$mofilene = fopen("id.txt","a");
            fwrite($mofilene, $cc);
            fclose($mofilene); 

echo "[1;37m ~[1;32m VUI LNG NHP ID VO FILE:[1;37m id.txt
";
	exit();
	}
echo "[1;32m
[1;32m [1;96m   [1;97m  [1;32m                                                      
[1;32m [1;96m         [1;95m   IP : $ip  [1;32m                 
[1;32m [1;96m        [1;94m   ZALO : 0967699321  [1;32m        
[1;32m [1;96m             [0;33m   TIME : $time  [1;32m                 
[1;32m [1;96m          [1;92m   YOUTUBE : NVT-TOOL  [1;32m       
[1;32m [1;96m            [1;97m    TOOL AUTO DAME NOT   [1;32m    
[1;32m [1;96m               [0;31m   BN QUYN BY NVT-TOOL  [1;32m    
[1;32m [1;96m   [1;97m  [1;32m                                                      
[1;32m
 $green ------------------------------------------------------
$redb  ------------------------------------------------------
$yellow  ------------------------------------------------------ 
[1;37m~[1;31m[[1;32m[1;31m][1;37m =>[1;32m NHP COOKIE CLONE  FAKE : [1;37m";
$cookie = trim(fgets(STDIN));
@system(\'clear\');
echo "[1;32m
[1;32m [1;96m   [1;97m  [1;32m                                                      
[1;32m [1;96m         [1;95m   IP : $ip  [1;32m                 
[1;32m [1;96m        [1;94m   ZALO : 0967699321  [1;32m        
[1;32m [1;96m             [0;33m   TIME : $time  [1;32m                 
[1;32m [1;96m          [1;92m   YOUTUBE : NVT-TOOL  [1;32m       
[1;32m [1;96m            [1;97m    TOOL AUTO DAME NOT   [1;32m    
[1;32m [1;96m               [0;31m   BN QUYN BY NVT-TOOL  [1;32m    
[1;32m [1;96m   [1;97m  [1;32m                                                      
[1;32m
 $green ------------------------------------------------------
$redb  ------------------------------------------------------
$yellow  ------------------------------------------------------ 
";


while (true){
	$fp = fopen("id.txt", "r");
while(! feof($fp)) {
    $id = fgets($fp);
    $id = substr($id, 0, 15);
    $dem++;
    echo " [1;31m [[1;36m$dem[1;31m]  [1;30m ".date("H:i")." [1;31m [1;32mDAME NOT [1;31m[1;37m ID [1;35m: ".$id."
";
$url  = "https://mbasic.facebook.com/".$id."";
    $head = array(
        "Host: mbasic.facebook.com",
        "upgrade-insecure-requests: 1",
        "save-data: on",
        "user-agent: Mozilla/5.0 (Linux; Android 10; Redmi Note 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36",
        "accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*" . "/" . "*;q=0.8,application/signed-exchange;v=b3;q=0.9",
        "sec-fetch-site: same-origin",
        "sec-fetch-mode: navigate",
        "sec-fetch-user: ?1",
        "sec-fetch-dest: document",
        "accept-language: vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5"
    );
    $ch   = curl_init();
    curl_setopt_array($ch, array(
        CURLOPT_URL => $url,
        CURLOPT_FOLLOWLOCATION => false,
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_POST => 1,
        CURLOPT_HTTPGET => true,
        CURLOPT_SSL_VERIFYPEER => 0,
        CURLOPT_HTTPHEADER => $head,
        CURLOPT_HEADER => true,
        CURLOPT_COOKIE => $cookie,
        CURLOPT_ENCODING => TRUE
    ));
    $data = curl_exec($ch);
    if (strpos($data, "xs=deleted") == true) {
        echo "[1;37m~[1;33m[[1;31mdie[1;33m] [1;37m=> [1;31mCOOKIE DIE !!!!
";
        exit();
    } 
        $one = explode("location: ", $data);
        $two = explode("rdr", $one[1]);
        $urldata = $two[0] . "rdr";
        $hiader = array(
"Host: mbasic.facebook.com",
"upgrade-insecure-requests: 1",
"user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Kiwi Chrome/68.0.3438.0 Safari/537.36",
"accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"referer: ".$url.""
        );
        curl_setopt_array($ch, array(
            CURLOPT_URL => $urldata,
            CURLOPT_FOLLOWLOCATION => false,
            CURLOPT_RETURNTRANSFER => 1,
            CURLOPT_POST => 1,
            CURLOPT_HTTPGET => true,
            CURLOPT_SSL_VERIFYPEER => 0,
            CURLOPT_HTTPHEADER => $hiader,
            CURLOPT_HEADER => true,
            CURLOPT_ENCODING => TRUE
        ));
        $a = curl_exec($ch);
        curl_close($ch);
        
        $data			= explode(\'"\',explode(\'/nfx/basic/direct_actions/\', $a)[1])[0];
        $l1 = explode(\'amp;\', $data)[0];
    $l2 = explode(\'amp;\', $data)[1];
    $l3 = explode(\'amp;\', $data)[2];
    
    $link1 = "https://mbasic.facebook.com/nfx/basic/direct_actions/".$l1."".$l2."".$l3."";
    $head = array(
"Host: mbasic.facebook.com",
"upgrade-insecure-requests: 1",
"user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Kiwi Chrome/68.0.3438.0 Safari/537.36",
"accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"referer: ".$urldata.""
    );
    $ch   = curl_init();
    curl_setopt_array($ch, array(
        CURLOPT_URL => $link1,
        CURLOPT_FOLLOWLOCATION => false,
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_POST => 1,
        CURLOPT_HTTPGET => true,
        CURLOPT_SSL_VERIFYPEER => 0,
        CURLOPT_HTTPHEADER => $head,
        CURLOPT_HEADER => true,
        CURLOPT_COOKIE => $cookie,
        CURLOPT_ENCODING => TRUE
    ));
    $a = curl_exec($ch);
    curl_close($ch);
    $data			= explode(\'"\',explode(\'/nfx/basic/handle_action/\', $a)[1])[0];
  $z1 = explode(\'amp;\', $data)[0];
    $z2 = explode(\'amp;\', $data)[1];
      $z3 = explode(\'amp;\', $data)[2];
    $z4 = explode(\'amp;\', $data)[3];
      $z5 = explode(\'amp;\', $data)[4];
      $z6 = explode(\'amp;\', $data)[5];
$fb_dtsg			= explode(\'" autocomplete="off"\',explode(\'name="fb_dtsg" value="\', $a)[1])[0];
    $jazoest			= explode(\'" autocomplete="off"\',explode(\'name="jazoest" value="\', $a)[1])[0];
$link2 = "https://mbasic.facebook.com/nfx/basic/handle_action/".$z1."".$z2."".$z3."".$z4."".$z5."".$z6."";
     $data = "fb_dtsg=".$fb_dtsg."&jazoest=".$jazoest."&action_key=RESOLVE_PROBLEM&submit=Gi";
     $header = array(
"Host: mbasic.facebook.com",
"content-length: ".strlen($data),
"cache-control: max-age=0",
"origin: https://mbasic.facebook.com",
"upgrade-insecure-requests: 1",
"content-type: application/x-www-form-urlencoded",
"user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Kiwi Chrome/68.0.3438.0 Safari/537.36",
"accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"referer: ".$link1.""
     );
   $ch   = curl_init();
    curl_setopt_array($ch, array(
        CURLOPT_URL => $link2,
          CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_POST => 1,
        CURLOPT_POSTFIELDS => $data,
        CURLOPT_SSL_VERIFYPEER => 0,
        CURLOPT_COOKIE => $cookie,
        CURLOPT_HTTPHEADER => $header,
        CURLOPT_ENCODING => TRUE,
        CURLOPT_FOLLOWLOCATION => true
        ));
        $cc = curl_exec($ch);
       $link3 = curl_getinfo($ch,CURLINFO_EFFECTIVE_URL);
        curl_close($ch);
        $head = array(
"Host: mbasic.facebook.com",
"cache-control: max-age=0",
"upgrade-insecure-requests: 1",
"user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Kiwi Chrome/68.0.3438.0 Safari/537.36",
"accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"referer: ".$link2.""
        );
   $ch   = curl_init();
    curl_setopt_array($ch, array(
        CURLOPT_URL => $link3,
        CURLOPT_FOLLOWLOCATION => false,
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_POST => 1,
        CURLOPT_HTTPGET => true,
        CURLOPT_SSL_VERIFYPEER => 0,
        CURLOPT_HTTPHEADER => $head,
        CURLOPT_HEADER => true,
        CURLOPT_COOKIE => $cookie,
        CURLOPT_ENCODING => TRUE
    ));
    $a = curl_exec($ch);
    curl_close($ch);
   
   $data			= explode(\'"\',explode(\'/ixt/screen/frxtagselectionscreencustom/post/msite/\', $a)[1])[0];
        $x1 = explode(\'amp;\', $data)[0];
    $x2 = explode(\'amp;\', $data)[1];
$fb_dtsg			= explode(\'" autocomplete="off"\',explode(\'name="fb_dtsg" value="\', $a)[1])[0];
    $jazoest			= explode(\'" autocomplete="off"\',explode(\'name="jazoest" value="\', $a)[1])[0];
$link4 = "https://mbasic.facebook.com/ixt/screen/frxtagselectionscreencustom/post/msite/".$x1."".$x2."";
   $data = "fb_dtsg=".$fb_dtsg."&jazoest=".$jazoest."&tag=spam&action=Gi";
 $header = array(
"Host: mbasic.facebook.com",
"content-length: ".strlen($data),
"cache-control: max-age=0",

"origin: https://mbasic.facebook.com",
"upgrade-insecure-requests: 1",
"content-type: application/x-www-form-urlencoded",
"user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Kiwi Chrome/68.0.3438.0 Safari/537.36",
"accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"referer: ".$link3.""
 );
  $ch   = curl_init();
    curl_setopt_array($ch, array(
        CURLOPT_URL => $link4,
          CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_POST => 1,
        CURLOPT_POSTFIELDS => $data,
        CURLOPT_SSL_VERIFYPEER => 0,
        CURLOPT_COOKIE => $cookie,
        CURLOPT_HTTPHEADER => $header,
        CURLOPT_ENCODING => TRUE,
        CURLOPT_FOLLOWLOCATION => true
        ));
        $cc = curl_exec($ch);
       $link5 = curl_getinfo($ch,CURLINFO_EFFECTIVE_URL);
        curl_close($ch);
        $heads = array(
"Host: mbasic.facebook.com",
"cache-control: max-age=0",
"upgrade-insecure-requests: 1",
"user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Kiwi Chrome/68.0.3438.0 Safari/537.36",
"accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"referer: ".$link4.""
        );
      $ch   = curl_init();
    curl_setopt_array($ch, array(
        CURLOPT_URL => $link5,
        CURLOPT_FOLLOWLOCATION => false,
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_POST => 1,
        CURLOPT_HTTPGET => true,
        CURLOPT_SSL_VERIFYPEER => 0,
        CURLOPT_HTTPHEADER => $heads,
        CURLOPT_HEADER => true,
        CURLOPT_COOKIE => $cookie,
        CURLOPT_ENCODING => TRUE
    ));
    $a = curl_exec($ch);
    curl_close($ch);
    
    $data			= explode(\'"\',explode(\'/rapid_report/basic/actions/post/\', $a)[1])[0];
$x1 = explode(\'amp;\', $data)[0];
    $x2 = explode(\'amp;\', $data)[1];
    $x3 = explode(\'amp;\', $data)[2];
        $x4 = explode(\'amp;\', $data)[3];
$fb_dtsg			= explode(\'" autocomplete="off"\',explode(\'name="fb_dtsg" value="\', $a)[1])[0];
    $jazoest			= explode(\'" autocomplete="off"\',explode(\'name="jazoest" value="\', $a)[1])[0];
$link6 = "https://mbasic.facebook.com/rapid_report/basic/actions/post/".$x1."".$x2."".$x3."".$x4."";    
 $data = "fb_dtsg=".$fb_dtsg."&jazoest=".$jazoest."&action=Gi";
    $header = array(
"Host: mbasic.facebook.com",
"content-length: ".strlen($data),
"cache-control: max-age=0",
"origin: https://mbasic.facebook.com",
"upgrade-insecure-requests: 1",
"content-type: application/x-www-form-urlencoded",
"user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Kiwi Chrome/68.0.3438.0 Safari/537.36",
"accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"referer: ".$link5.""    
    );
$ch   = curl_init();
    curl_setopt_array($ch, array(
        CURLOPT_URL => $link6,
          CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_POST => 1,
        CURLOPT_POSTFIELDS => $data,
        CURLOPT_SSL_VERIFYPEER => 0,
        CURLOPT_COOKIE => $cookie,
        CURLOPT_HTTPHEADER => $header,
        CURLOPT_ENCODING => TRUE,
        CURLOPT_FOLLOWLOCATION => true
        ));
        $cc = curl_exec($ch);
       $link7 = curl_getinfo($ch,CURLINFO_EFFECTIVE_URL);
        curl_close($ch);
    
    
    }
}
@system(\'clear\');
echo "[1;32m
[1;32m [1;96m   [1;97m  [1;32m                                                      
[1;32m [1;96m         [1;95m   IP : $ip  [1;32m                 
[1;32m [1;96m        [1;94m   ZALO : 0967699321  [1;32m        
[1;32m [1;96m             [0;33m   TIME : $time  [1;32m                 
[1;32m [1;96m          [1;92m   YOUTUBE : NVT-TOOL  [1;32m       
[1;32m [1;96m            [1;97m    TOOL AUTO DAME NOT   [1;32m    
[1;32m [1;96m               [0;31m   BN QUYN BY NVT-TOOL  [1;32m    
[1;32m [1;96m   [1;97m  [1;32m                                                      
[1;32m
 $green ------------------------------------------------------
$redb  ------------------------------------------------------
$yellow  ------------------------------------------------------ 
";
 
while (true){
	$fp = fopen("id.txt", "r");
while(! feof($fp)) {
    $id = fgets($fp);
    $id = substr($id, 0, 15);
    $dem++;
    echo " [1;31m [[1;36m$dem[1;31m]  [1;30m ".date("H:i")." [1;31m [1;32mDAME NOT [1;31m[1;37m ID [1;35m: ".$id."
";
$url  = "https://mbasic.facebook.com/".$id."";
    $head = array(
        "Host: mbasic.facebook.com",
        "upgrade-insecure-requests: 1",
        "save-data: on",
        "user-agent: Mozilla/5.0 (Linux; Android 10; Redmi Note 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36",
        "accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*" . "/" . "*;q=0.8,application/signed-exchange;v=b3;q=0.9",
        "sec-fetch-site: same-origin",
        "sec-fetch-mode: navigate",
        "sec-fetch-user: ?1",
        "sec-fetch-dest: document",
        "accept-language: vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5"
    );
    $ch   = curl_init();
    curl_setopt_array($ch, array(
        CURLOPT_URL => $url,
        CURLOPT_FOLLOWLOCATION => false,
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_POST => 1,
        CURLOPT_HTTPGET => true,
        CURLOPT_SSL_VERIFYPEER => 0,
        CURLOPT_HTTPHEADER => $head,
        CURLOPT_HEADER => true,
        CURLOPT_COOKIE => $cookie,
        CURLOPT_ENCODING => TRUE
    ));
    $data = curl_exec($ch);
    if (strpos($data, "xs=deleted") == true) {
        echo "[1;37m~[1;33m[[1;31mdie[1;33m] [1;37m=> [1;31mCOOKIE DIE  !!!!
";
        exit();
    } 
        $one = explode("location: ", $data);
        $two = explode("rdr", $one[1]);
        $urldata = $two[0] . "rdr";
        $hiader = array(
"Host: mbasic.facebook.com",
"upgrade-insecure-requests: 1",
"user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Kiwi Chrome/68.0.3438.0 Safari/537.36",
"accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"referer: ".$url.""
        );
        curl_setopt_array($ch, array(
            CURLOPT_URL => $urldata,
            CURLOPT_FOLLOWLOCATION => false,
            CURLOPT_RETURNTRANSFER => 1,
            CURLOPT_POST => 1,
            CURLOPT_HTTPGET => true,
            CURLOPT_SSL_VERIFYPEER => 0,
            CURLOPT_HTTPHEADER => $hiader,
            CURLOPT_HEADER => true,
            CURLOPT_ENCODING => TRUE
        ));
        $a = curl_exec($ch);
        curl_close($ch);
        
        $data			= explode(\'"\',explode(\'/nfx/basic/direct_actions/\', $a)[1])[0];
        $l1 = explode(\'amp;\', $data)[0];
    $l2 = explode(\'amp;\', $data)[1];
    $l3 = explode(\'amp;\', $data)[2];
    
    $link1 = "https://mbasic.facebook.com/nfx/basic/direct_actions/".$l1."".$l2."".$l3."";
    $head = array(
"Host: mbasic.facebook.com",
"upgrade-insecure-requests: 1",
"user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Kiwi Chrome/68.0.3438.0 Safari/537.36",
"accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"referer: ".$urldata.""
    );
    $ch   = curl_init();
    curl_setopt_array($ch, array(
        CURLOPT_URL => $link1,
        CURLOPT_FOLLOWLOCATION => false,
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_POST => 1,
        CURLOPT_HTTPGET => true,
        CURLOPT_SSL_VERIFYPEER => 0,
        CURLOPT_HTTPHEADER => $head,
        CURLOPT_HEADER => true,
        CURLOPT_COOKIE => $cookie,
        CURLOPT_ENCODING => TRUE
    ));
    $a = curl_exec($ch);
    curl_close($ch);
    $data			= explode(\'"\',explode(\'/nfx/basic/handle_action/\', $a)[1])[0];
  $z1 = explode(\'amp;\', $data)[0];
    $z2 = explode(\'amp;\', $data)[1];
      $z3 = explode(\'amp;\', $data)[2];
    $z4 = explode(\'amp;\', $data)[3];
      $z5 = explode(\'amp;\', $data)[4];
      $z6 = explode(\'amp;\', $data)[5];
$fb_dtsg			= explode(\'" autocomplete="off"\',explode(\'name="fb_dtsg" value="\', $a)[1])[0];
    $jazoest			= explode(\'" autocomplete="off"\',explode(\'name="jazoest" value="\', $a)[1])[0];
$link2 = "https://mbasic.facebook.com/nfx/basic/handle_action/".$z1."".$z2."".$z3."".$z4."".$z5."".$z6."";
     $data = "fb_dtsg=".$fb_dtsg."&jazoest=".$jazoest."&action_key=RESOLVE_PROBLEM&submit=Gi";
     $header = array(
"Host: mbasic.facebook.com",
"content-length: ".strlen($data),
"cache-control: max-age=0",
"origin: https://mbasic.facebook.com",
"upgrade-insecure-requests: 1",
"content-type: application/x-www-form-urlencoded",
"user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Kiwi Chrome/68.0.3438.0 Safari/537.36",
"accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"referer: ".$link1.""
     );
   $ch   = curl_init();
    curl_setopt_array($ch, array(
        CURLOPT_URL => $link2,
          CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_POST => 1,
        CURLOPT_POSTFIELDS => $data,
        CURLOPT_SSL_VERIFYPEER => 0,
        CURLOPT_COOKIE => $cookie,
        CURLOPT_HTTPHEADER => $header,
        CURLOPT_ENCODING => TRUE,
        CURLOPT_FOLLOWLOCATION => true
        ));
        $cc = curl_exec($ch);
       $link3 = curl_getinfo($ch,CURLINFO_EFFECTIVE_URL);
        curl_close($ch);
        $head = array(
"Host: mbasic.facebook.com",
"cache-control: max-age=0",
"upgrade-insecure-requests: 1",
"user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Kiwi Chrome/68.0.3438.0 Safari/537.36",
"accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"referer: ".$link2.""
        );
   $ch   = curl_init();
    curl_setopt_array($ch, array(
        CURLOPT_URL => $link3,
        CURLOPT_FOLLOWLOCATION => false,
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_POST => 1,
        CURLOPT_HTTPGET => true,
        CURLOPT_SSL_VERIFYPEER => 0,
        CURLOPT_HTTPHEADER => $head,
        CURLOPT_HEADER => true,
        CURLOPT_COOKIE => $cookie,
        CURLOPT_ENCODING => TRUE
    ));
    $a = curl_exec($ch);
    curl_close($ch);
   
   $data			= explode(\'"\',explode(\'/ixt/screen/frxtagselectionscreencustom/post/msite/\', $a)[1])[0];
        $x1 = explode(\'amp;\', $data)[0];
    $x2 = explode(\'amp;\', $data)[1];
$fb_dtsg			= explode(\'" autocomplete="off"\',explode(\'name="fb_dtsg" value="\', $a)[1])[0];
    $jazoest			= explode(\'" autocomplete="off"\',explode(\'name="jazoest" value="\', $a)[1])[0];
$link4 = "https://mbasic.facebook.com/ixt/screen/frxtagselectionscreencustom/post/msite/".$x1."".$x2."";
   $data = "fb_dtsg=".$fb_dtsg."&jazoest=".$jazoest."&tag=spam&action=Gi";
 $header = array(
"Host: mbasic.facebook.com",
"content-length: ".strlen($data),
"cache-control: max-age=0",

"origin: https://mbasic.facebook.com",
"upgrade-insecure-requests: 1",
"content-type: application/x-www-form-urlencoded",
"user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Kiwi Chrome/68.0.3438.0 Safari/537.36",
"accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"referer: ".$link3.""
 );
  $ch   = curl_init();
    curl_setopt_array($ch, array(
        CURLOPT_URL => $link4,
          CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_POST => 1,
        CURLOPT_POSTFIELDS => $data,
        CURLOPT_SSL_VERIFYPEER => 0,
        CURLOPT_COOKIE => $cookie,
        CURLOPT_HTTPHEADER => $header,
        CURLOPT_ENCODING => TRUE,
        CURLOPT_FOLLOWLOCATION => true
        ));
        $cc = curl_exec($ch);
       $link5 = curl_getinfo($ch,CURLINFO_EFFECTIVE_URL);
        curl_close($ch);
        $heads = array(
"Host: mbasic.facebook.com",
"cache-control: max-age=0",
"upgrade-insecure-requests: 1",
"user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Kiwi Chrome/68.0.3438.0 Safari/537.36",
"accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"referer: ".$link4.""
        );
      $ch   = curl_init();
    curl_setopt_array($ch, array(
        CURLOPT_URL => $link5,
        CURLOPT_FOLLOWLOCATION => false,
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_POST => 1,
        CURLOPT_HTTPGET => true,
        CURLOPT_SSL_VERIFYPEER => 0,
        CURLOPT_HTTPHEADER => $heads,
        CURLOPT_HEADER => true,
        CURLOPT_COOKIE => $cookie,
        CURLOPT_ENCODING => TRUE
    ));
    $a = curl_exec($ch);
    curl_close($ch);
    
    $data			= explode(\'"\',explode(\'/rapid_report/basic/actions/post/\', $a)[1])[0];
$x1 = explode(\'amp;\', $data)[0];
    $x2 = explode(\'amp;\', $data)[1];
    $x3 = explode(\'amp;\', $data)[2];
        $x4 = explode(\'amp;\', $data)[3];
$fb_dtsg			= explode(\'" autocomplete="off"\',explode(\'name="fb_dtsg" value="\', $a)[1])[0];
    $jazoest			= explode(\'" autocomplete="off"\',explode(\'name="jazoest" value="\', $a)[1])[0];
$link6 = "https://mbasic.facebook.com/rapid_report/basic/actions/post/".$x1."".$x2."".$x3."".$x4."";    
 $data = "fb_dtsg=".$fb_dtsg."&jazoest=".$jazoest."&action=Gi";
    $header = array(
"Host: mbasic.facebook.com",
"content-length: ".strlen($data),
"cache-control: max-age=0",
"origin: https://mbasic.facebook.com",
"upgrade-insecure-requests: 1",
"content-type: application/x-www-form-urlencoded",
"user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Kiwi Chrome/68.0.3438.0 Safari/537.36",
"accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"referer: ".$link5.""    
    );
$ch   = curl_init();
    curl_setopt_array($ch, array(
        CURLOPT_URL => $link6,
          CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_POST => 1,
        CURLOPT_POSTFIELDS => $data,
        CURLOPT_SSL_VERIFYPEER => 0,
        CURLOPT_COOKIE => $cookie,
        CURLOPT_HTTPHEADER => $header,
        CURLOPT_ENCODING => TRUE,
        CURLOPT_FOLLOWLOCATION => true
        ));
        $cc = curl_exec($ch);
       $link7 = curl_getinfo($ch,CURLINFO_EFFECTIVE_URL);
        curl_close($ch);
    
    
    }
}'

Did this file decode correctly?

Original Code

<?php eval("?>".base64_decode("PD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCnNlc3Npb25fc3RhcnQoKTsNCmRhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoIkFzaWEvSG9fQ2hpX01pbmgiKTsNCiRlbmQ9IlwwMzNbMG0iOw0KJGJsYWNrPSJcMDMzWzA7MzBtIjsNCiRibGFja2I9IlwwMzNbMTszMG0iOw0KJHdoaXRlPSJcMDMzWzA7MzdtIjsNCiR3aGl0ZWI9IlwwMzNbMTszN20iOw0KJHJlZD0iXDAzM1swOzMxbSI7DQokcmVkYj0iXDAzM1sxOzMxbSI7DQokZ3JlZW49IlwwMzNbMDszMm0iOw0KJGdyZWVuYj0iXDAzM1sxOzMybSI7DQokeWVsbG93PSJcMDMzWzA7MzNtIjsNCiR5ZWxsb3diPSJcMDMzWzE7MzNtIjsNCiRzeWFuPSJcMDMzWzE7MzZtIjsNCiRibHVlPSJcMDMzWzA7MzRtIjsNCiRibHVlYj0iXDAzM1sxOzM0bSI7DQokcHVycGxlPSJcMDMzWzA7MzVtIjsNCiRwdXJwbGViPSJcMDMzWzE7MzVtIjsNCiRsaWdodGJsdWU9IlwwMzNbMDszNm0iOw0KJGxpZ2h0Ymx1ZT0iXDAzM1sxOzM1bSI7DQokbGlnaHRibHVlYj0iXDAzM1sxOzM2bSI7DQokaG9uZz0iXDAzM1sxOzk1bSI7DQokaW5wdXQgPSBhcnJheSgkZDI9IlwwMzNbMTszNm0iLCR0bWQzPSJcMDMzWzE7MzdtIiwkdG1kND0iXDAzM1sxOzM3bSIsJHRtZDU9IlwwMzNbMDszMW0iLCR0bWQ2PSJcMDMzWzE7MzFtIiwkdG1kNz0iXDAzM1swOzMybSIsJHRtZDg9IlwwMzNbMTszMm0iLCR0bWQ5PSJcMDMzWzA7MzNtIiwkdG1kMTA9IlwwMzNbMTszM20iLCR0bWQxMT0iXDAzM1swOzM0bSIsJHRtZDEyPSJcMDMzWzE7MzRtIiwkdG1kMTM9IlwwMzNbMDszNW0iLCR0bWQxND0iXDAzM1sxOzM1bSIsJHRtZDE1PSJcMDMzWzA7MzZtIiwkdG1kMTY9IlwwMzNbMTszNm0iKTsNCiRyYW5kX2tleXMgPSBhcnJheV9yYW5kKCRpbnB1dCwgMTApOw0KJGlucHV0ID0gYXJyYXkoJHRtZDE9IlwwMzNbMTs0Nm0iLCR0bWQyPSJcMDMzWzE7MzZtIiwkdG1kMz0iXDAzM1sxOzM3bSIsJHRtZDQ9IlwwMzNbMTszN20iLCR0bWQ1PSJcMDMzWzA7MzFtIiwkdG1kNj0iXDAzM1sxOzMxbSIsJHRtZDc9IlwwMzNbMDszMm0iLCR0bWQ4PSJcMDMzWzE7MzJtIiwkdG1kOT0iXDAzM1swOzMzbSIsJHRtZDEwPSJcMDMzWzE7MzNtIiwkdG1kMTE9IlwwMzNbMDszNG0iLCR0bWQxMj0iXDAzM1sxOzM0bSIsJHRtZDEzPSJcMDMzWzA7MzVtIiwkdG1kMTQ9IlwwMzNbMTszNW0iLCR0bWQxNT0iXDAzM1swOzM2bSIsJHRtZDE2PSJcMDMzWzE7MzZtIik7DQpAc3lzdGVtKCdjbGVhcicpOw0KJGRhdGEgPSBmaWxlX2dldF9jb250ZW50cygnaWQudHh0Jyk7DQokYSA9IHN0cmxlbigkZGF0YSk7DQppZigkYSA9PSAnMCcpIHsNCgkkY2MgPSAnSMODWSBYw5NBIETDkk5HIENI4buuIE7DgFkgVsOAIETDgU4gSUQgVMOASSBLSE/huqJOIEPhuqZOIFJFUE9SVCBWw4BPIMSQw4JZJzsNCgkkbW9maWxlbmUgPSBmb3BlbigiaWQudHh0IiwiYSIpOw0KICAgICAgICAgICAgZndyaXRlKCRtb2ZpbGVuZSwgJGNjKTsNCiAgICAgICAgICAgIGZjbG9zZSgkbW9maWxlbmUpOyANCg0KZWNobyAiXDAzM1sxOzM3bSB+XDAzM1sxOzMybSBWVUkgTMOSTkcgTkjhuqxQIElEIFbDgE8gRklMRTpcMDMzWzE7MzdtIGlkLnR4dFxuIjsNCglleGl0KCk7DQoJfQ0KZWNobyAiXDAzM1sxOzMybeKVlOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVlw0KXDAzM1sxOzMybeKVkSBcMDMzWzE7OTZtICAgXDAzM1sxOzk3bSAgXDAzM1sxOzMybSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKVkQ0KXDAzM1sxOzMybeKVkSBcMDMzWzE7OTZt4paI4paI4paI4pWXICAg4paI4paI4pWX4paI4paI4pWXICAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4paI4pWXICDilZEgXDAzM1sxOzk1bSAg4p69IElQIDogJGlwICBcMDMzWzE7MzJtICAgICAgICAgICAgICAgIOKVkSANClwwMzNbMTszMm3ilZEgXDAzM1sxOzk2beKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWR4paI4paI4pWRICAg4paI4paI4pWR4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWdICDilZEgXDAzM1sxOzk0bSAg4p69IFpBTE8gOiAwOTY3Njk5MzIxICBcMDMzWzE7MzJtICAgIOKVkSAgICANClwwMzNbMTszMm3ilZEgXDAzM1sxOzk2beKWiOKWiOKVlOKWiOKWiOKVlyDilojilojilZHilojilojilZEgICDilojilojilZEgICDilojilojilZEgICAgIOKVkSBcMDMzWzA7MzNtICDinr0gVElNRSA6ICR0aW1lICBcMDMzWzE7MzJtICAgICAgICAgICAgICDilZEgICANClwwMzNbMTszMm3ilZEgXDAzM1sxOzk2beKWiOKWiOKVkeKVmuKWiOKWiOKVl+KWiOKWiOKVkeKVmuKWiOKWiOKVlyDilojilojilZTilZ0gICDilojilojilZEgICAgIOKVkSBcMDMzWzE7OTJtICDinr0gWU9VVFVCRSA6IE5WVC1UT09MICBcMDMzWzE7MzJtICAg4pWRICAgIA0KXDAzM1sxOzMybeKVkSBcMDMzWzE7OTZt4paI4paI4pWRIOKVmuKWiOKWiOKWiOKWiOKVkSDilZrilojilojilojilojilZTilZ0gICAg4paI4paI4pWRICAgICDilZEgXDAzM1sxOzk3bSAg4p69IMKpIFRPT0wgQVVUTyBEQU1FIE5PVCAgIFwwMzNbMTszMm3ilZEgICAgDQpcMDMzWzE7MzJt4pWRIFwwMzNbMTs5Nm3ilZrilZDilZ0gIOKVmuKVkOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWdICAgICDilZrilZDilZ0gICAgIOKVkSBcMDMzWzA7MzFtICDinr0gQuG6ok4gUVVZ4buATiBCWSBOVlQtVE9PTCAgXDAzM1sxOzMybeKVkSAgICANClwwMzNbMTszMm3ilZEgXDAzM1sxOzk2bSAgIFwwMzNbMTs5N20gIFwwMzNbMTszMm0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilZENClwwMzNbMTszMm3ilZrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZ0NCiAkZ3JlZW4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQokcmVkYiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQokeWVsbG93ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gDQpcMDMzWzE7MzdtflwwMzNbMTszMW1bXDAzM1sxOzMybeKclFwwMzNbMTszMW1dXDAzM1sxOzM3bSA9PlwwMzNbMTszMm0gTkjhuqxQIENPT0tJRSBDTE9ORSDEkMODIEZBS0UgOiBcMDMzWzE7MzdtIjsNCiRjb29raWUgPSB0cmltKGZnZXRzKFNURElOKSk7DQpAc3lzdGVtKCdjbGVhcicpOw0KZWNobyAiXDAzM1sxOzMybeKVlOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVlw0KXDAzM1sxOzMybeKVkSBcMDMzWzE7OTZtICAgXDAzM1sxOzk3bSAgXDAzM1sxOzMybSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKVkQ0KXDAzM1sxOzMybeKVkSBcMDMzWzE7OTZt4paI4paI4paI4pWXICAg4paI4paI4pWX4paI4paI4pWXICAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4paI4pWXICDilZEgXDAzM1sxOzk1bSAg4p69IElQIDogJGlwICBcMDMzWzE7MzJtICAgICAgICAgICAgICAgIOKVkSANClwwMzNbMTszMm3ilZEgXDAzM1sxOzk2beKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWR4paI4paI4pWRICAg4paI4paI4pWR4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWdICDilZEgXDAzM1sxOzk0bSAg4p69IFpBTE8gOiAwOTY3Njk5MzIxICBcMDMzWzE7MzJtICAgIOKVkSAgICANClwwMzNbMTszMm3ilZEgXDAzM1sxOzk2beKWiOKWiOKVlOKWiOKWiOKVlyDilojilojilZHilojilojilZEgICDilojilojilZEgICDilojilojilZEgICAgIOKVkSBcMDMzWzA7MzNtICDinr0gVElNRSA6ICR0aW1lICBcMDMzWzE7MzJtICAgICAgICAgICAgICDilZEgICANClwwMzNbMTszMm3ilZEgXDAzM1sxOzk2beKWiOKWiOKVkeKVmuKWiOKWiOKVl+KWiOKWiOKVkeKVmuKWiOKWiOKVlyDilojilojilZTilZ0gICDilojilojilZEgICAgIOKVkSBcMDMzWzE7OTJtICDinr0gWU9VVFVCRSA6IE5WVC1UT09MICBcMDMzWzE7MzJtICAg4pWRICAgIA0KXDAzM1sxOzMybeKVkSBcMDMzWzE7OTZt4paI4paI4pWRIOKVmuKWiOKWiOKWiOKWiOKVkSDilZrilojilojilojilojilZTilZ0gICAg4paI4paI4pWRICAgICDilZEgXDAzM1sxOzk3bSAg4p69IMKpIFRPT0wgQVVUTyBEQU1FIE5PVCAgIFwwMzNbMTszMm3ilZEgICAgDQpcMDMzWzE7MzJt4pWRIFwwMzNbMTs5Nm3ilZrilZDilZ0gIOKVmuKVkOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWdICAgICDilZrilZDilZ0gICAgIOKVkSBcMDMzWzA7MzFtICDinr0gQuG6ok4gUVVZ4buATiBCWSBOVlQtVE9PTCAgXDAzM1sxOzMybeKVkSAgICANClwwMzNbMTszMm3ilZEgXDAzM1sxOzk2bSAgIFwwMzNbMTs5N20gIFwwMzNbMTszMm0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilZENClwwMzNbMTszMm3ilZrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZ0NCiAkZ3JlZW4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQokcmVkYiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQokeWVsbG93ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXG4iOw0KDQoNCndoaWxlICh0cnVlKXsNCgkkZnAgPSBmb3BlbigiaWQudHh0IiwgInIiKTsNCndoaWxlKCEgZmVvZigkZnApKSB7DQogICAgJGlkID0gZmdldHMoJGZwKTsNCiAgICAkaWQgPSBzdWJzdHIoJGlkLCAwLCAxNSk7DQogICAgJGRlbSsrOw0KICAgIGVjaG8gIiBcMDMzWzE7MzFtIFtcMDMzWzE7MzZtJGRlbVwwMzNbMTszMW1dIOKAoiBcMDMzWzE7MzBtICIuZGF0ZSgiSDppIikuIiBcMDMzWzE7MzFt4oCiIFwwMzNbMTszMm1EQU1FIE5PVCBcMDMzWzE7MzFt4oCiXDAzM1sxOzM3bSBJRCBcMDMzWzE7MzVtOiAiLiRpZC4iXG4iOw0KJHVybCAgPSAiaHR0cHM6Ly9tYmFzaWMuZmFjZWJvb2suY29tLyIuJGlkLiIiOw0KICAgICRoZWFkID0gYXJyYXkoDQogICAgICAgICJIb3N0OiBtYmFzaWMuZmFjZWJvb2suY29tIiwNCiAgICAgICAgInVwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHM6IDEiLA0KICAgICAgICAic2F2ZS1kYXRhOiBvbiIsDQogICAgICAgICJ1c2VyLWFnZW50OiBNb3ppbGxhLzUuMCAoTGludXg7IEFuZHJvaWQgMTA7IFJlZG1pIE5vdGUgNykgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzc3LjAuMzg2NS45MiBNb2JpbGUgU2FmYXJpLzUzNy4zNiIsDQogICAgICAgICJhY2NlcHQ6IHRleHQvaHRtbCxhcHBsaWNhdGlvbi94aHRtbCt4bWwsYXBwbGljYXRpb24veG1sO3E9MC45LGltYWdlL3dlYnAsaW1hZ2UvYXBuZywqIiAuICIvIiAuICIqO3E9MC44LGFwcGxpY2F0aW9uL3NpZ25lZC1leGNoYW5nZTt2PWIzO3E9MC45IiwNCiAgICAgICAgInNlYy1mZXRjaC1zaXRlOiBzYW1lLW9yaWdpbiIsDQogICAgICAgICJzZWMtZmV0Y2gtbW9kZTogbmF2aWdhdGUiLA0KICAgICAgICAic2VjLWZldGNoLXVzZXI6ID8xIiwNCiAgICAgICAgInNlYy1mZXRjaC1kZXN0OiBkb2N1bWVudCIsDQogICAgICAgICJhY2NlcHQtbGFuZ3VhZ2U6IHZpLVZOLHZpO3E9MC45LGZyLUZSO3E9MC44LGZyO3E9MC43LGVuLVVTO3E9MC42LGVuO3E9MC41Ig0KICAgICk7DQogICAgJGNoICAgPSBjdXJsX2luaXQoKTsNCiAgICBjdXJsX3NldG9wdF9hcnJheSgkY2gsIGFycmF5KA0KICAgICAgICBDVVJMT1BUX1VSTCA9PiAkdXJsLA0KICAgICAgICBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OID0+IGZhbHNlLA0KICAgICAgICBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSID0+IDEsDQogICAgICAgIENVUkxPUFRfUE9TVCA9PiAxLA0KICAgICAgICBDVVJMT1BUX0hUVFBHRVQgPT4gdHJ1ZSwNCiAgICAgICAgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiA9PiAwLA0KICAgICAgICBDVVJMT1BUX0hUVFBIRUFERVIgPT4gJGhlYWQsDQogICAgICAgIENVUkxPUFRfSEVBREVSID0+IHRydWUsDQogICAgICAgIENVUkxPUFRfQ09PS0lFID0+ICRjb29raWUsDQogICAgICAgIENVUkxPUFRfRU5DT0RJTkcgPT4gVFJVRQ0KICAgICkpOw0KICAgICRkYXRhID0gY3VybF9leGVjKCRjaCk7DQogICAgaWYgKHN0cnBvcygkZGF0YSwgInhzPWRlbGV0ZWQiKSA9PSB0cnVlKSB7DQogICAgICAgIGVjaG8gIlwwMzNbMTszN21+XDAzM1sxOzMzbVtcMDMzWzE7MzFtZGllXDAzM1sxOzMzbV0gXDAzM1sxOzM3bT0+IFwwMzNbMTszMW1DT09LSUUgRElFICEhISFcbiI7DQogICAgICAgIGV4aXQoKTsNCiAgICB9IA0KICAgICAgICAkb25lID0gZXhwbG9kZSgibG9jYXRpb246ICIsICRkYXRhKTsNCiAgICAgICAgJHR3byA9IGV4cGxvZGUoInJkciIsICRvbmVbMV0pOw0KICAgICAgICAkdXJsZGF0YSA9ICR0d29bMF0gLiAicmRyIjsNCiAgICAgICAgJGhpYWRlciA9IGFycmF5KA0KIkhvc3Q6IG1iYXNpYy5mYWNlYm9vay5jb20iLA0KInVwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHM6IDEiLA0KInVzZXItYWdlbnQ6IE1vemlsbGEvNS4wIChYMTE7IExpbnV4IHg4Nl82NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgS2l3aSBDaHJvbWUvNjguMC4zNDM4LjAgU2FmYXJpLzUzNy4zNiIsDQoiYWNjZXB0OiB0ZXh0L2h0bWwsYXBwbGljYXRpb24veGh0bWwreG1sLGFwcGxpY2F0aW9uL3htbDtxPTAuOSxpbWFnZS93ZWJwLGltYWdlL2FwbmcsKi8qO3E9MC44IiwNCiJyZWZlcmVyOiAiLiR1cmwuIiINCiAgICAgICAgKTsNCiAgICAgICAgY3VybF9zZXRvcHRfYXJyYXkoJGNoLCBhcnJheSgNCiAgICAgICAgICAgIENVUkxPUFRfVVJMID0+ICR1cmxkYXRhLA0KICAgICAgICAgICAgQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiA9PiBmYWxzZSwNCiAgICAgICAgICAgIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIgPT4gMSwNCiAgICAgICAgICAgIENVUkxPUFRfUE9TVCA9PiAxLA0KICAgICAgICAgICAgQ1VSTE9QVF9IVFRQR0VUID0+IHRydWUsDQogICAgICAgICAgICBDVVJMT1BUX1NTTF9WRVJJRllQRUVSID0+IDAsDQogICAgICAgICAgICBDVVJMT1BUX0hUVFBIRUFERVIgPT4gJGhpYWRlciwNCiAgICAgICAgICAgIENVUkxPUFRfSEVBREVSID0+IHRydWUsDQogICAgICAgICAgICBDVVJMT1BUX0VOQ09ESU5HID0+IFRSVUUNCiAgICAgICAgKSk7DQogICAgICAgICRhID0gY3VybF9leGVjKCRjaCk7DQogICAgICAgIGN1cmxfY2xvc2UoJGNoKTsNCiAgICAgICAgDQogICAgICAgICRkYXRhCQkJPSBleHBsb2RlKCciJyxleHBsb2RlKCcvbmZ4L2Jhc2ljL2RpcmVjdF9hY3Rpb25zLycsICRhKVsxXSlbMF07DQogICAgICAgICRsMSA9IGV4cGxvZGUoJ2FtcDsnLCAkZGF0YSlbMF07DQogICAgJGwyID0gZXhwbG9kZSgnYW1wOycsICRkYXRhKVsxXTsNCiAgICAkbDMgPSBleHBsb2RlKCdhbXA7JywgJGRhdGEpWzJdOw0KICAgIA0KICAgICRsaW5rMSA9ICJodHRwczovL21iYXNpYy5mYWNlYm9vay5jb20vbmZ4L2Jhc2ljL2RpcmVjdF9hY3Rpb25zLyIuJGwxLiIiLiRsMi4iIi4kbDMuIiI7DQogICAgJGhlYWQgPSBhcnJheSgNCiJIb3N0OiBtYmFzaWMuZmFjZWJvb2suY29tIiwNCiJ1cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzOiAxIiwNCiJ1c2VyLWFnZW50OiBNb3ppbGxhLzUuMCAoWDExOyBMaW51eCB4ODZfNjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIEtpd2kgQ2hyb21lLzY4LjAuMzQzOC4wIFNhZmFyaS81MzcuMzYiLA0KImFjY2VwdDogdGV4dC9odG1sLGFwcGxpY2F0aW9uL3hodG1sK3htbCxhcHBsaWNhdGlvbi94bWw7cT0wLjksaW1hZ2Uvd2VicCxpbWFnZS9hcG5nLCovKjtxPTAuOCIsDQoicmVmZXJlcjogIi4kdXJsZGF0YS4iIg0KICAgICk7DQogICAgJGNoICAgPSBjdXJsX2luaXQoKTsNCiAgICBjdXJsX3NldG9wdF9hcnJheSgkY2gsIGFycmF5KA0KICAgICAgICBDVVJMT1BUX1VSTCA9PiAkbGluazEsDQogICAgICAgIENVUkxPUFRfRk9MTE9XTE9DQVRJT04gPT4gZmFsc2UsDQogICAgICAgIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIgPT4gMSwNCiAgICAgICAgQ1VSTE9QVF9QT1NUID0+IDEsDQogICAgICAgIENVUkxPUFRfSFRUUEdFVCA9PiB0cnVlLA0KICAgICAgICBDVVJMT1BUX1NTTF9WRVJJRllQRUVSID0+IDAsDQogICAgICAgIENVUkxPUFRfSFRUUEhFQURFUiA9PiAkaGVhZCwNCiAgICAgICAgQ1VSTE9QVF9IRUFERVIgPT4gdHJ1ZSwNCiAgICAgICAgQ1VSTE9QVF9DT09LSUUgPT4gJGNvb2tpZSwNCiAgICAgICAgQ1VSTE9QVF9FTkNPRElORyA9PiBUUlVFDQogICAgKSk7DQogICAgJGEgPSBjdXJsX2V4ZWMoJGNoKTsNCiAgICBjdXJsX2Nsb3NlKCRjaCk7DQogICAgJGRhdGEJCQk9IGV4cGxvZGUoJyInLGV4cGxvZGUoJy9uZngvYmFzaWMvaGFuZGxlX2FjdGlvbi8nLCAkYSlbMV0pWzBdOw0KICAkejEgPSBleHBsb2RlKCdhbXA7JywgJGRhdGEpWzBdOw0KICAgICR6MiA9IGV4cGxvZGUoJ2FtcDsnLCAkZGF0YSlbMV07DQogICAgICAkejMgPSBleHBsb2RlKCdhbXA7JywgJGRhdGEpWzJdOw0KICAgICR6NCA9IGV4cGxvZGUoJ2FtcDsnLCAkZGF0YSlbM107DQogICAgICAkejUgPSBleHBsb2RlKCdhbXA7JywgJGRhdGEpWzRdOw0KICAgICAgJHo2ID0gZXhwbG9kZSgnYW1wOycsICRkYXRhKVs1XTsNCiRmYl9kdHNnCQkJPSBleHBsb2RlKCciIGF1dG9jb21wbGV0ZT0ib2ZmIicsZXhwbG9kZSgnbmFtZT0iZmJfZHRzZyIgdmFsdWU9IicsICRhKVsxXSlbMF07DQogICAgJGphem9lc3QJCQk9IGV4cGxvZGUoJyIgYXV0b2NvbXBsZXRlPSJvZmYiJyxleHBsb2RlKCduYW1lPSJqYXpvZXN0IiB2YWx1ZT0iJywgJGEpWzFdKVswXTsNCiRsaW5rMiA9ICJodHRwczovL21iYXNpYy5mYWNlYm9vay5jb20vbmZ4L2Jhc2ljL2hhbmRsZV9hY3Rpb24vIi4kejEuIiIuJHoyLiIiLiR6My4iIi4kejQuIiIuJHo1LiIiLiR6Ni4iIjsNCiAgICAgJGRhdGEgPSAiZmJfZHRzZz0iLiRmYl9kdHNnLiImamF6b2VzdD0iLiRqYXpvZXN0LiImYWN0aW9uX2tleT1SRVNPTFZFX1BST0JMRU0mc3VibWl0PUfhu61pIjsNCiAgICAgJGhlYWRlciA9IGFycmF5KA0KIkhvc3Q6IG1iYXNpYy5mYWNlYm9vay5jb20iLA0KImNvbnRlbnQtbGVuZ3RoOiAiLnN0cmxlbigkZGF0YSksDQoiY2FjaGUtY29udHJvbDogbWF4LWFnZT0wIiwNCiJvcmlnaW46IGh0dHBzOi8vbWJhc2ljLmZhY2Vib29rLmNvbSIsDQoidXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0czogMSIsDQoiY29udGVudC10eXBlOiBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiLA0KInVzZXItYWdlbnQ6IE1vemlsbGEvNS4wIChYMTE7IExpbnV4IHg4Nl82NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgS2l3aSBDaHJvbWUvNjguMC4zNDM4LjAgU2FmYXJpLzUzNy4zNiIsDQoiYWNjZXB0OiB0ZXh0L2h0bWwsYXBwbGljYXRpb24veGh0bWwreG1sLGFwcGxpY2F0aW9uL3htbDtxPTAuOSxpbWFnZS93ZWJwLGltYWdlL2FwbmcsKi8qO3E9MC44IiwNCiJyZWZlcmVyOiAiLiRsaW5rMS4iIg0KICAgICApOw0KICAgJGNoICAgPSBjdXJsX2luaXQoKTsNCiAgICBjdXJsX3NldG9wdF9hcnJheSgkY2gsIGFycmF5KA0KICAgICAgICBDVVJMT1BUX1VSTCA9PiAkbGluazIsDQogICAgICAgICAgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiA9PiAxLA0KICAgICAgICBDVVJMT1BUX1BPU1QgPT4gMSwNCiAgICAgICAgQ1VSTE9QVF9QT1NURklFTERTID0+ICRkYXRhLA0KICAgICAgICBDVVJMT1BUX1NTTF9WRVJJRllQRUVSID0+IDAsDQogICAgICAgIENVUkxPUFRfQ09PS0lFID0+ICRjb29raWUsDQogICAgICAgIENVUkxPUFRfSFRUUEhFQURFUiA9PiAkaGVhZGVyLA0KICAgICAgICBDVVJMT1BUX0VOQ09ESU5HID0+IFRSVUUsDQogICAgICAgIENVUkxPUFRfRk9MTE9XTE9DQVRJT04gPT4gdHJ1ZQ0KICAgICAgICApKTsNCiAgICAgICAgJGNjID0gY3VybF9leGVjKCRjaCk7DQogICAgICAgJGxpbmszID0gY3VybF9nZXRpbmZvKCRjaCxDVVJMSU5GT19FRkZFQ1RJVkVfVVJMKTsNCiAgICAgICAgY3VybF9jbG9zZSgkY2gpOw0KICAgICAgICAkaGVhZCA9IGFycmF5KA0KIkhvc3Q6IG1iYXNpYy5mYWNlYm9vay5jb20iLA0KImNhY2hlLWNvbnRyb2w6IG1heC1hZ2U9MCIsDQoidXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0czogMSIsDQoidXNlci1hZ2VudDogTW96aWxsYS81LjAgKFgxMTsgTGludXggeDg2XzY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBLaXdpIENocm9tZS82OC4wLjM0MzguMCBTYWZhcmkvNTM3LjM2IiwNCiJhY2NlcHQ6IHRleHQvaHRtbCxhcHBsaWNhdGlvbi94aHRtbCt4bWwsYXBwbGljYXRpb24veG1sO3E9MC45LGltYWdlL3dlYnAsaW1hZ2UvYXBuZywqLyo7cT0wLjgiLA0KInJlZmVyZXI6ICIuJGxpbmsyLiIiDQogICAgICAgICk7DQogICAkY2ggICA9IGN1cmxfaW5pdCgpOw0KICAgIGN1cmxfc2V0b3B0X2FycmF5KCRjaCwgYXJyYXkoDQogICAgICAgIENVUkxPUFRfVVJMID0+ICRsaW5rMywNCiAgICAgICAgQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiA9PiBmYWxzZSwNCiAgICAgICAgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiA9PiAxLA0KICAgICAgICBDVVJMT1BUX1BPU1QgPT4gMSwNCiAgICAgICAgQ1VSTE9QVF9IVFRQR0VUID0+IHRydWUsDQogICAgICAgIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIgPT4gMCwNCiAgICAgICAgQ1VSTE9QVF9IVFRQSEVBREVSID0+ICRoZWFkLA0KICAgICAgICBDVVJMT1BUX0hFQURFUiA9PiB0cnVlLA0KICAgICAgICBDVVJMT1BUX0NPT0tJRSA9PiAkY29va2llLA0KICAgICAgICBDVVJMT1BUX0VOQ09ESU5HID0+IFRSVUUNCiAgICApKTsNCiAgICAkYSA9IGN1cmxfZXhlYygkY2gpOw0KICAgIGN1cmxfY2xvc2UoJGNoKTsNCiAgIA0KICAgJGRhdGEJCQk9IGV4cGxvZGUoJyInLGV4cGxvZGUoJy9peHQvc2NyZWVuL2ZyeHRhZ3NlbGVjdGlvbnNjcmVlbmN1c3RvbS9wb3N0L21zaXRlLycsICRhKVsxXSlbMF07DQogICAgICAgICR4MSA9IGV4cGxvZGUoJ2FtcDsnLCAkZGF0YSlbMF07DQogICAgJHgyID0gZXhwbG9kZSgnYW1wOycsICRkYXRhKVsxXTsNCiRmYl9kdHNnCQkJPSBleHBsb2RlKCciIGF1dG9jb21wbGV0ZT0ib2ZmIicsZXhwbG9kZSgnbmFtZT0iZmJfZHRzZyIgdmFsdWU9IicsICRhKVsxXSlbMF07DQogICAgJGphem9lc3QJCQk9IGV4cGxvZGUoJyIgYXV0b2NvbXBsZXRlPSJvZmYiJyxleHBsb2RlKCduYW1lPSJqYXpvZXN0IiB2YWx1ZT0iJywgJGEpWzFdKVswXTsNCiRsaW5rNCA9ICJodHRwczovL21iYXNpYy5mYWNlYm9vay5jb20vaXh0L3NjcmVlbi9mcnh0YWdzZWxlY3Rpb25zY3JlZW5jdXN0b20vcG9zdC9tc2l0ZS8iLiR4MS4iIi4keDIuIiI7DQogICAkZGF0YSA9ICJmYl9kdHNnPSIuJGZiX2R0c2cuIiZqYXpvZXN0PSIuJGphem9lc3QuIiZ0YWc9c3BhbSZhY3Rpb249R+G7rWkiOw0KICRoZWFkZXIgPSBhcnJheSgNCiJIb3N0OiBtYmFzaWMuZmFjZWJvb2suY29tIiwNCiJjb250ZW50LWxlbmd0aDogIi5zdHJsZW4oJGRhdGEpLA0KImNhY2hlLWNvbnRyb2w6IG1heC1hZ2U9MCIsDQoNCiJvcmlnaW46IGh0dHBzOi8vbWJhc2ljLmZhY2Vib29rLmNvbSIsDQoidXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0czogMSIsDQoiY29udGVudC10eXBlOiBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiLA0KInVzZXItYWdlbnQ6IE1vemlsbGEvNS4wIChYMTE7IExpbnV4IHg4Nl82NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgS2l3aSBDaHJvbWUvNjguMC4zNDM4LjAgU2FmYXJpLzUzNy4zNiIsDQoiYWNjZXB0OiB0ZXh0L2h0bWwsYXBwbGljYXRpb24veGh0bWwreG1sLGFwcGxpY2F0aW9uL3htbDtxPTAuOSxpbWFnZS93ZWJwLGltYWdlL2FwbmcsKi8qO3E9MC44IiwNCiJyZWZlcmVyOiAiLiRsaW5rMy4iIg0KICk7DQogICRjaCAgID0gY3VybF9pbml0KCk7DQogICAgY3VybF9zZXRvcHRfYXJyYXkoJGNoLCBhcnJheSgNCiAgICAgICAgQ1VSTE9QVF9VUkwgPT4gJGxpbms0LA0KICAgICAgICAgIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIgPT4gMSwNCiAgICAgICAgQ1VSTE9QVF9QT1NUID0+IDEsDQogICAgICAgIENVUkxPUFRfUE9TVEZJRUxEUyA9PiAkZGF0YSwNCiAgICAgICAgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiA9PiAwLA0KICAgICAgICBDVVJMT1BUX0NPT0tJRSA9PiAkY29va2llLA0KICAgICAgICBDVVJMT1BUX0hUVFBIRUFERVIgPT4gJGhlYWRlciwNCiAgICAgICAgQ1VSTE9QVF9FTkNPRElORyA9PiBUUlVFLA0KICAgICAgICBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OID0+IHRydWUNCiAgICAgICAgKSk7DQogICAgICAgICRjYyA9IGN1cmxfZXhlYygkY2gpOw0KICAgICAgICRsaW5rNSA9IGN1cmxfZ2V0aW5mbygkY2gsQ1VSTElORk9fRUZGRUNUSVZFX1VSTCk7DQogICAgICAgIGN1cmxfY2xvc2UoJGNoKTsNCiAgICAgICAgJGhlYWRzID0gYXJyYXkoDQoiSG9zdDogbWJhc2ljLmZhY2Vib29rLmNvbSIsDQoiY2FjaGUtY29udHJvbDogbWF4LWFnZT0wIiwNCiJ1cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzOiAxIiwNCiJ1c2VyLWFnZW50OiBNb3ppbGxhLzUuMCAoWDExOyBMaW51eCB4ODZfNjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIEtpd2kgQ2hyb21lLzY4LjAuMzQzOC4wIFNhZmFyaS81MzcuMzYiLA0KImFjY2VwdDogdGV4dC9odG1sLGFwcGxpY2F0aW9uL3hodG1sK3htbCxhcHBsaWNhdGlvbi94bWw7cT0wLjksaW1hZ2Uvd2VicCxpbWFnZS9hcG5nLCovKjtxPTAuOCIsDQoicmVmZXJlcjogIi4kbGluazQuIiINCiAgICAgICAgKTsNCiAgICAgICRjaCAgID0gY3VybF9pbml0KCk7DQogICAgY3VybF9zZXRvcHRfYXJyYXkoJGNoLCBhcnJheSgNCiAgICAgICAgQ1VSTE9QVF9VUkwgPT4gJGxpbms1LA0KICAgICAgICBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OID0+IGZhbHNlLA0KICAgICAgICBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSID0+IDEsDQogICAgICAgIENVUkxPUFRfUE9TVCA9PiAxLA0KICAgICAgICBDVVJMT1BUX0hUVFBHRVQgPT4gdHJ1ZSwNCiAgICAgICAgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiA9PiAwLA0KICAgICAgICBDVVJMT1BUX0hUVFBIRUFERVIgPT4gJGhlYWRzLA0KICAgICAgICBDVVJMT1BUX0hFQURFUiA9PiB0cnVlLA0KICAgICAgICBDVVJMT1BUX0NPT0tJRSA9PiAkY29va2llLA0KICAgICAgICBDVVJMT1BUX0VOQ09ESU5HID0+IFRSVUUNCiAgICApKTsNCiAgICAkYSA9IGN1cmxfZXhlYygkY2gpOw0KICAgIGN1cmxfY2xvc2UoJGNoKTsNCiAgICANCiAgICAkZGF0YQkJCT0gZXhwbG9kZSgnIicsZXhwbG9kZSgnL3JhcGlkX3JlcG9ydC9iYXNpYy9hY3Rpb25zL3Bvc3QvJywgJGEpWzFdKVswXTsNCiR4MSA9IGV4cGxvZGUoJ2FtcDsnLCAkZGF0YSlbMF07DQogICAgJHgyID0gZXhwbG9kZSgnYW1wOycsICRkYXRhKVsxXTsNCiAgICAkeDMgPSBleHBsb2RlKCdhbXA7JywgJGRhdGEpWzJdOw0KICAgICAgICAkeDQgPSBleHBsb2RlKCdhbXA7JywgJGRhdGEpWzNdOw0KJGZiX2R0c2cJCQk9IGV4cGxvZGUoJyIgYXV0b2NvbXBsZXRlPSJvZmYiJyxleHBsb2RlKCduYW1lPSJmYl9kdHNnIiB2YWx1ZT0iJywgJGEpWzFdKVswXTsNCiAgICAkamF6b2VzdAkJCT0gZXhwbG9kZSgnIiBhdXRvY29tcGxldGU9Im9mZiInLGV4cGxvZGUoJ25hbWU9Imphem9lc3QiIHZhbHVlPSInLCAkYSlbMV0pWzBdOw0KJGxpbms2ID0gImh0dHBzOi8vbWJhc2ljLmZhY2Vib29rLmNvbS9yYXBpZF9yZXBvcnQvYmFzaWMvYWN0aW9ucy9wb3N0LyIuJHgxLiIiLiR4Mi4iIi4keDMuIiIuJHg0LiIiOyAgICANCiAkZGF0YSA9ICJmYl9kdHNnPSIuJGZiX2R0c2cuIiZqYXpvZXN0PSIuJGphem9lc3QuIiZhY3Rpb249R+G7rWkiOw0KICAgICRoZWFkZXIgPSBhcnJheSgNCiJIb3N0OiBtYmFzaWMuZmFjZWJvb2suY29tIiwNCiJjb250ZW50LWxlbmd0aDogIi5zdHJsZW4oJGRhdGEpLA0KImNhY2hlLWNvbnRyb2w6IG1heC1hZ2U9MCIsDQoib3JpZ2luOiBodHRwczovL21iYXNpYy5mYWNlYm9vay5jb20iLA0KInVwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHM6IDEiLA0KImNvbnRlbnQtdHlwZTogYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiwNCiJ1c2VyLWFnZW50OiBNb3ppbGxhLzUuMCAoWDExOyBMaW51eCB4ODZfNjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIEtpd2kgQ2hyb21lLzY4LjAuMzQzOC4wIFNhZmFyaS81MzcuMzYiLA0KImFjY2VwdDogdGV4dC9odG1sLGFwcGxpY2F0aW9uL3hodG1sK3htbCxhcHBsaWNhdGlvbi94bWw7cT0wLjksaW1hZ2Uvd2VicCxpbWFnZS9hcG5nLCovKjtxPTAuOCIsDQoicmVmZXJlcjogIi4kbGluazUuIiIgICAgDQogICAgKTsNCiRjaCAgID0gY3VybF9pbml0KCk7DQogICAgY3VybF9zZXRvcHRfYXJyYXkoJGNoLCBhcnJheSgNCiAgICAgICAgQ1VSTE9QVF9VUkwgPT4gJGxpbms2LA0KICAgICAgICAgIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIgPT4gMSwNCiAgICAgICAgQ1VSTE9QVF9QT1NUID0+IDEsDQogICAgICAgIENVUkxPUFRfUE9TVEZJRUxEUyA9PiAkZGF0YSwNCiAgICAgICAgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiA9PiAwLA0KICAgICAgICBDVVJMT1BUX0NPT0tJRSA9PiAkY29va2llLA0KICAgICAgICBDVVJMT1BUX0hUVFBIRUFERVIgPT4gJGhlYWRlciwNCiAgICAgICAgQ1VSTE9QVF9FTkNPRElORyA9PiBUUlVFLA0KICAgICAgICBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OID0+IHRydWUNCiAgICAgICAgKSk7DQogICAgICAgICRjYyA9IGN1cmxfZXhlYygkY2gpOw0KICAgICAgICRsaW5rNyA9IGN1cmxfZ2V0aW5mbygkY2gsQ1VSTElORk9fRUZGRUNUSVZFX1VSTCk7DQogICAgICAgIGN1cmxfY2xvc2UoJGNoKTsNCiAgICANCiAgICANCiAgICB9DQp9DQpAc3lzdGVtKCdjbGVhcicpOw0KZWNobyAiXDAzM1sxOzMybeKVlOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVlw0KXDAzM1sxOzMybeKVkSBcMDMzWzE7OTZtICAgXDAzM1sxOzk3bSAgXDAzM1sxOzMybSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKVkQ0KXDAzM1sxOzMybeKVkSBcMDMzWzE7OTZt4paI4paI4paI4pWXICAg4paI4paI4pWX4paI4paI4pWXICAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4paI4pWXICDilZEgXDAzM1sxOzk1bSAg4p69IElQIDogJGlwICBcMDMzWzE7MzJtICAgICAgICAgICAgICAgIOKVkSANClwwMzNbMTszMm3ilZEgXDAzM1sxOzk2beKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWR4paI4paI4pWRICAg4paI4paI4pWR4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWdICDilZEgXDAzM1sxOzk0bSAg4p69IFpBTE8gOiAwOTY3Njk5MzIxICBcMDMzWzE7MzJtICAgIOKVkSAgICANClwwMzNbMTszMm3ilZEgXDAzM1sxOzk2beKWiOKWiOKVlOKWiOKWiOKVlyDilojilojilZHilojilojilZEgICDilojilojilZEgICDilojilojilZEgICAgIOKVkSBcMDMzWzA7MzNtICDinr0gVElNRSA6ICR0aW1lICBcMDMzWzE7MzJtICAgICAgICAgICAgICDilZEgICANClwwMzNbMTszMm3ilZEgXDAzM1sxOzk2beKWiOKWiOKVkeKVmuKWiOKWiOKVl+KWiOKWiOKVkeKVmuKWiOKWiOKVlyDilojilojilZTilZ0gICDilojilojilZEgICAgIOKVkSBcMDMzWzE7OTJtICDinr0gWU9VVFVCRSA6IE5WVC1UT09MICBcMDMzWzE7MzJtICAg4pWRICAgIA0KXDAzM1sxOzMybeKVkSBcMDMzWzE7OTZt4paI4paI4pWRIOKVmuKWiOKWiOKWiOKWiOKVkSDilZrilojilojilojilojilZTilZ0gICAg4paI4paI4pWRICAgICDilZEgXDAzM1sxOzk3bSAg4p69IMKpIFRPT0wgQVVUTyBEQU1FIE5PVCAgIFwwMzNbMTszMm3ilZEgICAgDQpcMDMzWzE7MzJt4pWRIFwwMzNbMTs5Nm3ilZrilZDilZ0gIOKVmuKVkOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWdICAgICDilZrilZDilZ0gICAgIOKVkSBcMDMzWzA7MzFtICDinr0gQuG6ok4gUVVZ4buATiBCWSBOVlQtVE9PTCAgXDAzM1sxOzMybeKVkSAgICANClwwMzNbMTszMm3ilZEgXDAzM1sxOzk2bSAgIFwwMzNbMTs5N20gIFwwMzNbMTszMm0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilZENClwwMzNbMTszMm3ilZrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZ0NCiAkZ3JlZW4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQokcmVkYiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQokeWVsbG93ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXG4iOw0KIA0Kd2hpbGUgKHRydWUpew0KCSRmcCA9IGZvcGVuKCJpZC50eHQiLCAiciIpOw0Kd2hpbGUoISBmZW9mKCRmcCkpIHsNCiAgICAkaWQgPSBmZ2V0cygkZnApOw0KICAgICRpZCA9IHN1YnN0cigkaWQsIDAsIDE1KTsNCiAgICAkZGVtKys7DQogICAgZWNobyAiIFwwMzNbMTszMW0gW1wwMzNbMTszNm0kZGVtXDAzM1sxOzMxbV0g4oCiIFwwMzNbMTszMG0gIi5kYXRlKCJIOmkiKS4iIFwwMzNbMTszMW3igKIgXDAzM1sxOzMybURBTUUgTk9UIFwwMzNbMTszMW3igKJcMDMzWzE7MzdtIElEIFwwMzNbMTszNW06ICIuJGlkLiJcbiI7DQokdXJsICA9ICJodHRwczovL21iYXNpYy5mYWNlYm9vay5jb20vIi4kaWQuIiI7DQogICAgJGhlYWQgPSBhcnJheSgNCiAgICAgICAgIkhvc3Q6IG1iYXNpYy5mYWNlYm9vay5jb20iLA0KICAgICAgICAidXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0czogMSIsDQogICAgICAgICJzYXZlLWRhdGE6IG9uIiwNCiAgICAgICAgInVzZXItYWdlbnQ6IE1vemlsbGEvNS4wIChMaW51eDsgQW5kcm9pZCAxMDsgUmVkbWkgTm90ZSA3KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvNzcuMC4zODY1LjkyIE1vYmlsZSBTYWZhcmkvNTM3LjM2IiwNCiAgICAgICAgImFjY2VwdDogdGV4dC9odG1sLGFwcGxpY2F0aW9uL3hodG1sK3htbCxhcHBsaWNhdGlvbi94bWw7cT0wLjksaW1hZ2Uvd2VicCxpbWFnZS9hcG5nLCoiIC4gIi8iIC4gIio7cT0wLjgsYXBwbGljYXRpb24vc2lnbmVkLWV4Y2hhbmdlO3Y9YjM7cT0wLjkiLA0KICAgICAgICAic2VjLWZldGNoLXNpdGU6IHNhbWUtb3JpZ2luIiwNCiAgICAgICAgInNlYy1mZXRjaC1tb2RlOiBuYXZpZ2F0ZSIsDQogICAgICAgICJzZWMtZmV0Y2gtdXNlcjogPzEiLA0KICAgICAgICAic2VjLWZldGNoLWRlc3Q6IGRvY3VtZW50IiwNCiAgICAgICAgImFjY2VwdC1sYW5ndWFnZTogdmktVk4sdmk7cT0wLjksZnItRlI7cT0wLjgsZnI7cT0wLjcsZW4tVVM7cT0wLjYsZW47cT0wLjUiDQogICAgKTsNCiAgICAkY2ggICA9IGN1cmxfaW5pdCgpOw0KICAgIGN1cmxfc2V0b3B0X2FycmF5KCRjaCwgYXJyYXkoDQogICAgICAgIENVUkxPUFRfVVJMID0+ICR1cmwsDQogICAgICAgIENVUkxPUFRfRk9MTE9XTE9DQVRJT04gPT4gZmFsc2UsDQogICAgICAgIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIgPT4gMSwNCiAgICAgICAgQ1VSTE9QVF9QT1NUID0+IDEsDQogICAgICAgIENVUkxPUFRfSFRUUEdFVCA9PiB0cnVlLA0KICAgICAgICBDVVJMT1BUX1NTTF9WRVJJRllQRUVSID0+IDAsDQogICAgICAgIENVUkxPUFRfSFRUUEhFQURFUiA9PiAkaGVhZCwNCiAgICAgICAgQ1VSTE9QVF9IRUFERVIgPT4gdHJ1ZSwNCiAgICAgICAgQ1VSTE9QVF9DT09LSUUgPT4gJGNvb2tpZSwNCiAgICAgICAgQ1VSTE9QVF9FTkNPRElORyA9PiBUUlVFDQogICAgKSk7DQogICAgJGRhdGEgPSBjdXJsX2V4ZWMoJGNoKTsNCiAgICBpZiAoc3RycG9zKCRkYXRhLCAieHM9ZGVsZXRlZCIpID09IHRydWUpIHsNCiAgICAgICAgZWNobyAiXDAzM1sxOzM3bX5cMDMzWzE7MzNtW1wwMzNbMTszMW1kaWVcMDMzWzE7MzNtXSBcMDMzWzE7MzdtPT4gXDAzM1sxOzMxbUNPT0tJRSBESUUgICEhISFcbiI7DQogICAgICAgIGV4aXQoKTsNCiAgICB9IA0KICAgICAgICAkb25lID0gZXhwbG9kZSgibG9jYXRpb246ICIsICRkYXRhKTsNCiAgICAgICAgJHR3byA9IGV4cGxvZGUoInJkciIsICRvbmVbMV0pOw0KICAgICAgICAkdXJsZGF0YSA9ICR0d29bMF0gLiAicmRyIjsNCiAgICAgICAgJGhpYWRlciA9IGFycmF5KA0KIkhvc3Q6IG1iYXNpYy5mYWNlYm9vay5jb20iLA0KInVwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHM6IDEiLA0KInVzZXItYWdlbnQ6IE1vemlsbGEvNS4wIChYMTE7IExpbnV4IHg4Nl82NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgS2l3aSBDaHJvbWUvNjguMC4zNDM4LjAgU2FmYXJpLzUzNy4zNiIsDQoiYWNjZXB0OiB0ZXh0L2h0bWwsYXBwbGljYXRpb24veGh0bWwreG1sLGFwcGxpY2F0aW9uL3htbDtxPTAuOSxpbWFnZS93ZWJwLGltYWdlL2FwbmcsKi8qO3E9MC44IiwNCiJyZWZlcmVyOiAiLiR1cmwuIiINCiAgICAgICAgKTsNCiAgICAgICAgY3VybF9zZXRvcHRfYXJyYXkoJGNoLCBhcnJheSgNCiAgICAgICAgICAgIENVUkxPUFRfVVJMID0+ICR1cmxkYXRhLA0KICAgICAgICAgICAgQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiA9PiBmYWxzZSwNCiAgICAgICAgICAgIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIgPT4gMSwNCiAgICAgICAgICAgIENVUkxPUFRfUE9TVCA9PiAxLA0KICAgICAgICAgICAgQ1VSTE9QVF9IVFRQR0VUID0+IHRydWUsDQogICAgICAgICAgICBDVVJMT1BUX1NTTF9WRVJJRllQRUVSID0+IDAsDQogICAgICAgICAgICBDVVJMT1BUX0hUVFBIRUFERVIgPT4gJGhpYWRlciwNCiAgICAgICAgICAgIENVUkxPUFRfSEVBREVSID0+IHRydWUsDQogICAgICAgICAgICBDVVJMT1BUX0VOQ09ESU5HID0+IFRSVUUNCiAgICAgICAgKSk7DQogICAgICAgICRhID0gY3VybF9leGVjKCRjaCk7DQogICAgICAgIGN1cmxfY2xvc2UoJGNoKTsNCiAgICAgICAgDQogICAgICAgICRkYXRhCQkJPSBleHBsb2RlKCciJyxleHBsb2RlKCcvbmZ4L2Jhc2ljL2RpcmVjdF9hY3Rpb25zLycsICRhKVsxXSlbMF07DQogICAgICAgICRsMSA9IGV4cGxvZGUoJ2FtcDsnLCAkZGF0YSlbMF07DQogICAgJGwyID0gZXhwbG9kZSgnYW1wOycsICRkYXRhKVsxXTsNCiAgICAkbDMgPSBleHBsb2RlKCdhbXA7JywgJGRhdGEpWzJdOw0KICAgIA0KICAgICRsaW5rMSA9ICJodHRwczovL21iYXNpYy5mYWNlYm9vay5jb20vbmZ4L2Jhc2ljL2RpcmVjdF9hY3Rpb25zLyIuJGwxLiIiLiRsMi4iIi4kbDMuIiI7DQogICAgJGhlYWQgPSBhcnJheSgNCiJIb3N0OiBtYmFzaWMuZmFjZWJvb2suY29tIiwNCiJ1cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzOiAxIiwNCiJ1c2VyLWFnZW50OiBNb3ppbGxhLzUuMCAoWDExOyBMaW51eCB4ODZfNjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIEtpd2kgQ2hyb21lLzY4LjAuMzQzOC4wIFNhZmFyaS81MzcuMzYiLA0KImFjY2VwdDogdGV4dC9odG1sLGFwcGxpY2F0aW9uL3hodG1sK3htbCxhcHBsaWNhdGlvbi94bWw7cT0wLjksaW1hZ2Uvd2VicCxpbWFnZS9hcG5nLCovKjtxPTAuOCIsDQoicmVmZXJlcjogIi4kdXJsZGF0YS4iIg0KICAgICk7DQogICAgJGNoICAgPSBjdXJsX2luaXQoKTsNCiAgICBjdXJsX3NldG9wdF9hcnJheSgkY2gsIGFycmF5KA0KICAgICAgICBDVVJMT1BUX1VSTCA9PiAkbGluazEsDQogICAgICAgIENVUkxPUFRfRk9MTE9XTE9DQVRJT04gPT4gZmFsc2UsDQogICAgICAgIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIgPT4gMSwNCiAgICAgICAgQ1VSTE9QVF9QT1NUID0+IDEsDQogICAgICAgIENVUkxPUFRfSFRUUEdFVCA9PiB0cnVlLA0KICAgICAgICBDVVJMT1BUX1NTTF9WRVJJRllQRUVSID0+IDAsDQogICAgICAgIENVUkxPUFRfSFRUUEhFQURFUiA9PiAkaGVhZCwNCiAgICAgICAgQ1VSTE9QVF9IRUFERVIgPT4gdHJ1ZSwNCiAgICAgICAgQ1VSTE9QVF9DT09LSUUgPT4gJGNvb2tpZSwNCiAgICAgICAgQ1VSTE9QVF9FTkNPRElORyA9PiBUUlVFDQogICAgKSk7DQogICAgJGEgPSBjdXJsX2V4ZWMoJGNoKTsNCiAgICBjdXJsX2Nsb3NlKCRjaCk7DQogICAgJGRhdGEJCQk9IGV4cGxvZGUoJyInLGV4cGxvZGUoJy9uZngvYmFzaWMvaGFuZGxlX2FjdGlvbi8nLCAkYSlbMV0pWzBdOw0KICAkejEgPSBleHBsb2RlKCdhbXA7JywgJGRhdGEpWzBdOw0KICAgICR6MiA9IGV4cGxvZGUoJ2FtcDsnLCAkZGF0YSlbMV07DQogICAgICAkejMgPSBleHBsb2RlKCdhbXA7JywgJGRhdGEpWzJdOw0KICAgICR6NCA9IGV4cGxvZGUoJ2FtcDsnLCAkZGF0YSlbM107DQogICAgICAkejUgPSBleHBsb2RlKCdhbXA7JywgJGRhdGEpWzRdOw0KICAgICAgJHo2ID0gZXhwbG9kZSgnYW1wOycsICRkYXRhKVs1XTsNCiRmYl9kdHNnCQkJPSBleHBsb2RlKCciIGF1dG9jb21wbGV0ZT0ib2ZmIicsZXhwbG9kZSgnbmFtZT0iZmJfZHRzZyIgdmFsdWU9IicsICRhKVsxXSlbMF07DQogICAgJGphem9lc3QJCQk9IGV4cGxvZGUoJyIgYXV0b2NvbXBsZXRlPSJvZmYiJyxleHBsb2RlKCduYW1lPSJqYXpvZXN0IiB2YWx1ZT0iJywgJGEpWzFdKVswXTsNCiRsaW5rMiA9ICJodHRwczovL21iYXNpYy5mYWNlYm9vay5jb20vbmZ4L2Jhc2ljL2hhbmRsZV9hY3Rpb24vIi4kejEuIiIuJHoyLiIiLiR6My4iIi4kejQuIiIuJHo1LiIiLiR6Ni4iIjsNCiAgICAgJGRhdGEgPSAiZmJfZHRzZz0iLiRmYl9kdHNnLiImamF6b2VzdD0iLiRqYXpvZXN0LiImYWN0aW9uX2tleT1SRVNPTFZFX1BST0JMRU0mc3VibWl0PUfhu61pIjsNCiAgICAgJGhlYWRlciA9IGFycmF5KA0KIkhvc3Q6IG1iYXNpYy5mYWNlYm9vay5jb20iLA0KImNvbnRlbnQtbGVuZ3RoOiAiLnN0cmxlbigkZGF0YSksDQoiY2FjaGUtY29udHJvbDogbWF4LWFnZT0wIiwNCiJvcmlnaW46IGh0dHBzOi8vbWJhc2ljLmZhY2Vib29rLmNvbSIsDQoidXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0czogMSIsDQoiY29udGVudC10eXBlOiBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiLA0KInVzZXItYWdlbnQ6IE1vemlsbGEvNS4wIChYMTE7IExpbnV4IHg4Nl82NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgS2l3aSBDaHJvbWUvNjguMC4zNDM4LjAgU2FmYXJpLzUzNy4zNiIsDQoiYWNjZXB0OiB0ZXh0L2h0bWwsYXBwbGljYXRpb24veGh0bWwreG1sLGFwcGxpY2F0aW9uL3htbDtxPTAuOSxpbWFnZS93ZWJwLGltYWdlL2FwbmcsKi8qO3E9MC44IiwNCiJyZWZlcmVyOiAiLiRsaW5rMS4iIg0KICAgICApOw0KICAgJGNoICAgPSBjdXJsX2luaXQoKTsNCiAgICBjdXJsX3NldG9wdF9hcnJheSgkY2gsIGFycmF5KA0KICAgICAgICBDVVJMT1BUX1VSTCA9PiAkbGluazIsDQogICAgICAgICAgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiA9PiAxLA0KICAgICAgICBDVVJMT1BUX1BPU1QgPT4gMSwNCiAgICAgICAgQ1VSTE9QVF9QT1NURklFTERTID0+ICRkYXRhLA0KICAgICAgICBDVVJMT1BUX1NTTF9WRVJJRllQRUVSID0+IDAsDQogICAgICAgIENVUkxPUFRfQ09PS0lFID0+ICRjb29raWUsDQogICAgICAgIENVUkxPUFRfSFRUUEhFQURFUiA9PiAkaGVhZGVyLA0KICAgICAgICBDVVJMT1BUX0VOQ09ESU5HID0+IFRSVUUsDQogICAgICAgIENVUkxPUFRfRk9MTE9XTE9DQVRJT04gPT4gdHJ1ZQ0KICAgICAgICApKTsNCiAgICAgICAgJGNjID0gY3VybF9leGVjKCRjaCk7DQogICAgICAgJGxpbmszID0gY3VybF9nZXRpbmZvKCRjaCxDVVJMSU5GT19FRkZFQ1RJVkVfVVJMKTsNCiAgICAgICAgY3VybF9jbG9zZSgkY2gpOw0KICAgICAgICAkaGVhZCA9IGFycmF5KA0KIkhvc3Q6IG1iYXNpYy5mYWNlYm9vay5jb20iLA0KImNhY2hlLWNvbnRyb2w6IG1heC1hZ2U9MCIsDQoidXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0czogMSIsDQoidXNlci1hZ2VudDogTW96aWxsYS81LjAgKFgxMTsgTGludXggeDg2XzY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBLaXdpIENocm9tZS82OC4wLjM0MzguMCBTYWZhcmkvNTM3LjM2IiwNCiJhY2NlcHQ6IHRleHQvaHRtbCxhcHBsaWNhdGlvbi94aHRtbCt4bWwsYXBwbGljYXRpb24veG1sO3E9MC45LGltYWdlL3dlYnAsaW1hZ2UvYXBuZywqLyo7cT0wLjgiLA0KInJlZmVyZXI6ICIuJGxpbmsyLiIiDQogICAgICAgICk7DQogICAkY2ggICA9IGN1cmxfaW5pdCgpOw0KICAgIGN1cmxfc2V0b3B0X2FycmF5KCRjaCwgYXJyYXkoDQogICAgICAgIENVUkxPUFRfVVJMID0+ICRsaW5rMywNCiAgICAgICAgQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiA9PiBmYWxzZSwNCiAgICAgICAgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiA9PiAxLA0KICAgICAgICBDVVJMT1BUX1BPU1QgPT4gMSwNCiAgICAgICAgQ1VSTE9QVF9IVFRQR0VUID0+IHRydWUsDQogICAgICAgIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIgPT4gMCwNCiAgICAgICAgQ1VSTE9QVF9IVFRQSEVBREVSID0+ICRoZWFkLA0KICAgICAgICBDVVJMT1BUX0hFQURFUiA9PiB0cnVlLA0KICAgICAgICBDVVJMT1BUX0NPT0tJRSA9PiAkY29va2llLA0KICAgICAgICBDVVJMT1BUX0VOQ09ESU5HID0+IFRSVUUNCiAgICApKTsNCiAgICAkYSA9IGN1cmxfZXhlYygkY2gpOw0KICAgIGN1cmxfY2xvc2UoJGNoKTsNCiAgIA0KICAgJGRhdGEJCQk9IGV4cGxvZGUoJyInLGV4cGxvZGUoJy9peHQvc2NyZWVuL2ZyeHRhZ3NlbGVjdGlvbnNjcmVlbmN1c3RvbS9wb3N0L21zaXRlLycsICRhKVsxXSlbMF07DQogICAgICAgICR4MSA9IGV4cGxvZGUoJ2FtcDsnLCAkZGF0YSlbMF07DQogICAgJHgyID0gZXhwbG9kZSgnYW1wOycsICRkYXRhKVsxXTsNCiRmYl9kdHNnCQkJPSBleHBsb2RlKCciIGF1dG9jb21wbGV0ZT0ib2ZmIicsZXhwbG9kZSgnbmFtZT0iZmJfZHRzZyIgdmFsdWU9IicsICRhKVsxXSlbMF07DQogICAgJGphem9lc3QJCQk9IGV4cGxvZGUoJyIgYXV0b2NvbXBsZXRlPSJvZmYiJyxleHBsb2RlKCduYW1lPSJqYXpvZXN0IiB2YWx1ZT0iJywgJGEpWzFdKVswXTsNCiRsaW5rNCA9ICJodHRwczovL21iYXNpYy5mYWNlYm9vay5jb20vaXh0L3NjcmVlbi9mcnh0YWdzZWxlY3Rpb25zY3JlZW5jdXN0b20vcG9zdC9tc2l0ZS8iLiR4MS4iIi4keDIuIiI7DQogICAkZGF0YSA9ICJmYl9kdHNnPSIuJGZiX2R0c2cuIiZqYXpvZXN0PSIuJGphem9lc3QuIiZ0YWc9c3BhbSZhY3Rpb249R+G7rWkiOw0KICRoZWFkZXIgPSBhcnJheSgNCiJIb3N0OiBtYmFzaWMuZmFjZWJvb2suY29tIiwNCiJjb250ZW50LWxlbmd0aDogIi5zdHJsZW4oJGRhdGEpLA0KImNhY2hlLWNvbnRyb2w6IG1heC1hZ2U9MCIsDQoNCiJvcmlnaW46IGh0dHBzOi8vbWJhc2ljLmZhY2Vib29rLmNvbSIsDQoidXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0czogMSIsDQoiY29udGVudC10eXBlOiBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiLA0KInVzZXItYWdlbnQ6IE1vemlsbGEvNS4wIChYMTE7IExpbnV4IHg4Nl82NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgS2l3aSBDaHJvbWUvNjguMC4zNDM4LjAgU2FmYXJpLzUzNy4zNiIsDQoiYWNjZXB0OiB0ZXh0L2h0bWwsYXBwbGljYXRpb24veGh0bWwreG1sLGFwcGxpY2F0aW9uL3htbDtxPTAuOSxpbWFnZS93ZWJwLGltYWdlL2FwbmcsKi8qO3E9MC44IiwNCiJyZWZlcmVyOiAiLiRsaW5rMy4iIg0KICk7DQogICRjaCAgID0gY3VybF9pbml0KCk7DQogICAgY3VybF9zZXRvcHRfYXJyYXkoJGNoLCBhcnJheSgNCiAgICAgICAgQ1VSTE9QVF9VUkwgPT4gJGxpbms0LA0KICAgICAgICAgIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIgPT4gMSwNCiAgICAgICAgQ1VSTE9QVF9QT1NUID0+IDEsDQogICAgICAgIENVUkxPUFRfUE9TVEZJRUxEUyA9PiAkZGF0YSwNCiAgICAgICAgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiA9PiAwLA0KICAgICAgICBDVVJMT1BUX0NPT0tJRSA9PiAkY29va2llLA0KICAgICAgICBDVVJMT1BUX0hUVFBIRUFERVIgPT4gJGhlYWRlciwNCiAgICAgICAgQ1VSTE9QVF9FTkNPRElORyA9PiBUUlVFLA0KICAgICAgICBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OID0+IHRydWUNCiAgICAgICAgKSk7DQogICAgICAgICRjYyA9IGN1cmxfZXhlYygkY2gpOw0KICAgICAgICRsaW5rNSA9IGN1cmxfZ2V0aW5mbygkY2gsQ1VSTElORk9fRUZGRUNUSVZFX1VSTCk7DQogICAgICAgIGN1cmxfY2xvc2UoJGNoKTsNCiAgICAgICAgJGhlYWRzID0gYXJyYXkoDQoiSG9zdDogbWJhc2ljLmZhY2Vib29rLmNvbSIsDQoiY2FjaGUtY29udHJvbDogbWF4LWFnZT0wIiwNCiJ1cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzOiAxIiwNCiJ1c2VyLWFnZW50OiBNb3ppbGxhLzUuMCAoWDExOyBMaW51eCB4ODZfNjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIEtpd2kgQ2hyb21lLzY4LjAuMzQzOC4wIFNhZmFyaS81MzcuMzYiLA0KImFjY2VwdDogdGV4dC9odG1sLGFwcGxpY2F0aW9uL3hodG1sK3htbCxhcHBsaWNhdGlvbi94bWw7cT0wLjksaW1hZ2Uvd2VicCxpbWFnZS9hcG5nLCovKjtxPTAuOCIsDQoicmVmZXJlcjogIi4kbGluazQuIiINCiAgICAgICAgKTsNCiAgICAgICRjaCAgID0gY3VybF9pbml0KCk7DQogICAgY3VybF9zZXRvcHRfYXJyYXkoJGNoLCBhcnJheSgNCiAgICAgICAgQ1VSTE9QVF9VUkwgPT4gJGxpbms1LA0KICAgICAgICBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OID0+IGZhbHNlLA0KICAgICAgICBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSID0+IDEsDQogICAgICAgIENVUkxPUFRfUE9TVCA9PiAxLA0KICAgICAgICBDVVJMT1BUX0hUVFBHRVQgPT4gdHJ1ZSwNCiAgICAgICAgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiA9PiAwLA0KICAgICAgICBDVVJMT1BUX0hUVFBIRUFERVIgPT4gJGhlYWRzLA0KICAgICAgICBDVVJMT1BUX0hFQURFUiA9PiB0cnVlLA0KICAgICAgICBDVVJMT1BUX0NPT0tJRSA9PiAkY29va2llLA0KICAgICAgICBDVVJMT1BUX0VOQ09ESU5HID0+IFRSVUUNCiAgICApKTsNCiAgICAkYSA9IGN1cmxfZXhlYygkY2gpOw0KICAgIGN1cmxfY2xvc2UoJGNoKTsNCiAgICANCiAgICAkZGF0YQkJCT0gZXhwbG9kZSgnIicsZXhwbG9kZSgnL3JhcGlkX3JlcG9ydC9iYXNpYy9hY3Rpb25zL3Bvc3QvJywgJGEpWzFdKVswXTsNCiR4MSA9IGV4cGxvZGUoJ2FtcDsnLCAkZGF0YSlbMF07DQogICAgJHgyID0gZXhwbG9kZSgnYW1wOycsICRkYXRhKVsxXTsNCiAgICAkeDMgPSBleHBsb2RlKCdhbXA7JywgJGRhdGEpWzJdOw0KICAgICAgICAkeDQgPSBleHBsb2RlKCdhbXA7JywgJGRhdGEpWzNdOw0KJGZiX2R0c2cJCQk9IGV4cGxvZGUoJyIgYXV0b2NvbXBsZXRlPSJvZmYiJyxleHBsb2RlKCduYW1lPSJmYl9kdHNnIiB2YWx1ZT0iJywgJGEpWzFdKVswXTsNCiAgICAkamF6b2VzdAkJCT0gZXhwbG9kZSgnIiBhdXRvY29tcGxldGU9Im9mZiInLGV4cGxvZGUoJ25hbWU9Imphem9lc3QiIHZhbHVlPSInLCAkYSlbMV0pWzBdOw0KJGxpbms2ID0gImh0dHBzOi8vbWJhc2ljLmZhY2Vib29rLmNvbS9yYXBpZF9yZXBvcnQvYmFzaWMvYWN0aW9ucy9wb3N0LyIuJHgxLiIiLiR4Mi4iIi4keDMuIiIuJHg0LiIiOyAgICANCiAkZGF0YSA9ICJmYl9kdHNnPSIuJGZiX2R0c2cuIiZqYXpvZXN0PSIuJGphem9lc3QuIiZhY3Rpb249R+G7rWkiOw0KICAgICRoZWFkZXIgPSBhcnJheSgNCiJIb3N0OiBtYmFzaWMuZmFjZWJvb2suY29tIiwNCiJjb250ZW50LWxlbmd0aDogIi5zdHJsZW4oJGRhdGEpLA0KImNhY2hlLWNvbnRyb2w6IG1heC1hZ2U9MCIsDQoib3JpZ2luOiBodHRwczovL21iYXNpYy5mYWNlYm9vay5jb20iLA0KInVwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHM6IDEiLA0KImNvbnRlbnQtdHlwZTogYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiwNCiJ1c2VyLWFnZW50OiBNb3ppbGxhLzUuMCAoWDExOyBMaW51eCB4ODZfNjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIEtpd2kgQ2hyb21lLzY4LjAuMzQzOC4wIFNhZmFyaS81MzcuMzYiLA0KImFjY2VwdDogdGV4dC9odG1sLGFwcGxpY2F0aW9uL3hodG1sK3htbCxhcHBsaWNhdGlvbi94bWw7cT0wLjksaW1hZ2Uvd2VicCxpbWFnZS9hcG5nLCovKjtxPTAuOCIsDQoicmVmZXJlcjogIi4kbGluazUuIiIgICAgDQogICAgKTsNCiRjaCAgID0gY3VybF9pbml0KCk7DQogICAgY3VybF9zZXRvcHRfYXJyYXkoJGNoLCBhcnJheSgNCiAgICAgICAgQ1VSTE9QVF9VUkwgPT4gJGxpbms2LA0KICAgICAgICAgIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIgPT4gMSwNCiAgICAgICAgQ1VSTE9QVF9QT1NUID0+IDEsDQogICAgICAgIENVUkxPUFRfUE9TVEZJRUxEUyA9PiAkZGF0YSwNCiAgICAgICAgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiA9PiAwLA0KICAgICAgICBDVVJMT1BUX0NPT0tJRSA9PiAkY29va2llLA0KICAgICAgICBDVVJMT1BUX0hUVFBIRUFERVIgPT4gJGhlYWRlciwNCiAgICAgICAgQ1VSTE9QVF9FTkNPRElORyA9PiBUUlVFLA0KICAgICAgICBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OID0+IHRydWUNCiAgICAgICAgKSk7DQogICAgICAgICRjYyA9IGN1cmxfZXhlYygkY2gpOw0KICAgICAgICRsaW5rNyA9IGN1cmxfZ2V0aW5mbygkY2gsQ1VSTElORk9fRUZGRUNUSVZFX1VSTCk7DQogICAgICAgIGN1cmxfY2xvc2UoJGNoKTsNCiAgICANCiAgICANCiAgICB9DQp9")); ?>

Function Calls

base64_decode 1

Variables

None

Stats

MD5 513c613673923e4538fb77e8e370c4bc
Eval Count 1
Decode Time 68 ms