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 $_F=__FILE__;$_X='Pz48P3BocAoKLyoqCiAqIEAxM3RoMnIgQzFuZHIxIFV0MW0xCiAqIEA1bTE0bCBsMm..

Decoded Output download

?><?php

/**
 * @author Candra Utama
 * @email [email protected]
 * @copyright 2013
 */


/**
 * Change Log
 * 
 * 2013-04-18 (Candra)
 *		- File created.
 */
 
    function FilterMhsw() 

    {

        global $arrID, $mnux, $mdlid;
        
        $optprodi = ProdiTertentu();
        
        $optprid 	= GetOption2('simak_mst_program', "concat(ProgramID, ' - ', Nama)", 'ProgramID', $_SESSION['prid'], "KodeID='$_SESSION[KodeID]'", 'ProgramID');
        
        $optstatus 	= GetOption2('simak_ref_status_mahasiswa', "Nama", 'Nama', $_SESSION['statusmhswid'], "NA='N'", 'StatusMhswID');
        
        
        
        // Tampilkan formulir
        echo "<script type='text/javascript' src='global.js'></script>";
        
        echo "<p>
                <form action='?mnux=$mnux&mdlid=$mdlid' method=POST>
                
                <input type=hidden name='mnux' value='master.mahasiswa.export.xls' />
                
                <input type=hidden name='mdlid' value='$mdlid' />
                
                <input type=hidden name='gos' value='CetakExcel' />
                
                <table class=box cellspacing=1 cellpadding=4>
                
                    <tr><td colspan=2 class=forum-caption><b>Cari Mahasiswa</b></td></tr>
                    
                    <tr><td class=forum-caption>Program</td><td class=ul><select name='prid'>$optprid</select></td></tr>
                    
                    <tr><td class=forum-caption>Program Studi</td><td class=ul><select name='prodi'>$optprodi</select></td></tr>
                    
                    <tr><td class=forum-caption>Status</td><td class=ul><select name='statusmhswid'>$optstatus</select></td></tr>
                    
                    <tr><td class=forum-caption>Angkatan</td><td class=ul><input type='text' class=textbox name='angkatan' value='$_SESSION[angkatan]' size=5 maxlength=4 onkeyup='this.value=number(this.value);'>
                    
                    <input type=submit name='srcmhswkey' value='Export' class='button'></td></tr>
        
                </table>
                
                </form>
            </p>";

    }


function CetakExcel()
{
    require_once BASEDIR."komponen/excel/PHPExcel.php";
    require_once BASEDIR."komponen/excel/PHPExcel/IOFactory.php";
    
    FilterMhsw();
    
    $ProgramID = $_POST['prid'];
    $ProdiID   = $_POST['prodi'];
    $Status    = $_POST['statusmhswid'];
    $Angkatan  = $_POST['angkatan'];
    
    $str_where = array();
    $nmf1      = array();
    
    if ($ProgramID != '')
    {
        $str_where[] = "m.ProgramID = '$ProgramID'";
        $nmf1[] = $ProgramID;
    }
    if ($ProdiID != '')
    {
        $str_where[] = "m.ProdiID = '$ProdiID'";
        $nmf1[] = $ProdiID;
    }
    if ($Status != '')
    {
        $str_where[] = "m.StatusMhswID = '$Status'";
        $nmf1[] = $Status;
    }
    if ($Angkatan != '')
    {
        $str_where[] = "m.TahunID like '$Angkatan%'";
        $nmf1[] = $Angkatan;
    }
        
    if (count($str_where)>0)
    {
        $str_where = 'and '. implode(' and ',$str_where);

        $s = "select m.*, sa.Nama as StatusAwal, sm.Nama as StatusMhsw, concat(d.Nama,', ',d.Gelar) as PenasehatAkademik, ss.Nama as StatusSipil, ag.Nama as Agama,
        
              pdo1.Nama as PendidikanAyah, pdo2.Nama as PendidikanIbu, pko1.Nama as PekerjaanAyah, pko2.Nama as PekerjaanIbu,
              
              ago1.Nama as AgamaAyah, ago2.Nama as AgamaIbu, ho1.Nama as HidupAyah, ho2.Nama as HidupIbu,
              
              ask.Nama as AsalSekolah, pt.Nama as AsalPT
    	
    	      from simak_mst_mahasiswa m
              
              left outer join simak_ref_status_awal sa on m.StatusAwalID=sa.StatusAwalID
    	
    	      left outer join simak_ref_status_mahasiswa sm on m.StatusMhswID=sm.StatusMhswID
              
              left outer join simak_mst_dosen d on m.PenasehatAkademik=CONVERT(d.Login USING latin1 ) COLLATE latin1_general_ci
              
              left outer join simak_ref_sipil ss on m.StatusSipil=ss.StatusSipil
              
              left outer join simak_ref_agama ag on m.Agama=ag.Agama
              
              left outer join simak_ref_pendidikan_ortu pdo1 on m.PendidikanAyah=pdo1.Pendidikan
              
              left outer join simak_ref_pendidikan_ortu pdo2 on m.PendidikanIbu=pdo2.Pendidikan
              
              left outer join simak_ref_pekerjaan_ortu pko1 on m.PekerjaanAyah=pko1.Pekerjaan
              
              left outer join simak_ref_pekerjaan_ortu pko2 on m.PekerjaanAyah=pko2.Pekerjaan
              
              left outer join simak_ref_agama ago1 on m.Agama=ago1.Agama
              
              left outer join simak_ref_agama ago2 on m.Agama=ago2.Agama
              
              left outer join simak_ref_hidup ho1 on m.HidupAyah=ho1.Hidup
              
              left outer join simak_ref_hidup ho2 on m.HidupIbu=ho2.Hidup
              
              left outer join simak_mst_asal_sekolah ask on m.AsalSekolah=ask.SekolahID
              
              left outer join simak_ref_perguruan_tinggi pt on m.AsalPT=pt.PerguruanTinggiID
    	
    	      where m.KodeID = '".$_SESSION['KodeID']."' $str_where
    	
    	      order by m.MhswID";
    	
    	  $r = _query($s);
    }
    
    if (!empty($r))
    {
        if (_num_rows($r)>0)
        {
            // Nama File
            if (count($nmf1)>0)
                $nmf1 = implode('-',$nmf1).'-';
        	$nmf = "tmp/Data-Mahasiswa-$nmf1".$_SESSION['_Login'].".xlsx";
            
            // Set memory
            $cacheMethod = PHPExcel_CachedObjectStorageFactory:: cache_to_phpTemp;
            $cacheSettings = array( ' memoryCacheSize ' => '8MB');
            PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings);
        	
        	// Generate file Excel
        	$excel = new PHPExcel();
        	
        	// Set properties
        	$excel->getProperties()->setCreator($_SESSION['KodeID'])
        						 ->setLastModifiedBy($_SESSION['_Login'])
        						 ->setTitle("Daftar Peserta Lulus USM ".$pmb['Nama'])
        						 ->setSubject("Laporan PMB")
        						 ->setDescription("Daftar Peserta Lulus USM ".$pmb['Nama'])
        						 ->setKeywords("lulus")
        						 ->setCategory("Laporan");
        	
        	// Set font
        	$excel->getDefaultStyle()->getFont()->setName('Calibri');
        	$excel->getDefaultStyle()->getFont()->setBold(true);
        	$excel->getDefaultStyle()->getFont()->setSize(10);
            
            // Set Sheet Name
        	$excel->getActiveSheet()->setTitle("USM-".$_pmbaktif);
        	
        	// Set active sheet index to the first sheet, so Excel opens this as the first sheet
        	$excel->setActiveSheetIndex(0);
            
            $sheet1 = $excel->getActiveSheet();
        	
        	// Set column width
            $sheet1->getColumnDimension('A')->setAutoSize(true);
        	$sheet1->getColumnDimension('B')->setAutoSize(true);
        	$sheet1->getColumnDimension('C')->setAutoSize(true);
        	$sheet1->getColumnDimension('D')->setAutoSize(true);
        	$sheet1->getColumnDimension('E')->setAutoSize(true);
            $sheet1->getColumnDimension('F')->setAutoSize(true);
            $sheet1->getColumnDimension('G')->setAutoSize(true);
            $sheet1->getColumnDimension('H')->setAutoSize(true);
            $sheet1->getColumnDimension('I')->setAutoSize(true);
            $sheet1->getColumnDimension('J')->setAutoSize(true);
            $sheet1->getColumnDimension('K')->setAutoSize(true);
            $sheet1->getColumnDimension('L')->setAutoSize(true);
            $sheet1->getColumnDimension('M')->setAutoSize(true);
            $sheet1->getColumnDimension('N')->setAutoSize(true);
            $sheet1->getColumnDimension('O')->setAutoSize(true);
            $sheet1->getColumnDimension('P')->setAutoSize(true);
            $sheet1->getColumnDimension('Q')->setAutoSize(true);
            $sheet1->getColumnDimension('R')->setAutoSize(true);
            $sheet1->getColumnDimension('S')->setAutoSize(true);
            $sheet1->getColumnDimension('T')->setAutoSize(true);
            $sheet1->getColumnDimension('U')->setAutoSize(true);
            $sheet1->getColumnDimension('V')->setAutoSize(true);
            $sheet1->getColumnDimension('W')->setAutoSize(true);
            $sheet1->getColumnDimension('X')->setAutoSize(true);
            $sheet1->getColumnDimension('Y')->setAutoSize(true);
            $sheet1->getColumnDimension('Z')->setAutoSize(true);
            $sheet1->getColumnDimension('AA')->setAutoSize(true);
        	$sheet1->getColumnDimension('AB')->setAutoSize(true);
        	$sheet1->getColumnDimension('AC')->setAutoSize(true);
        	$sheet1->getColumnDimension('AD')->setAutoSize(true);
        	$sheet1->getColumnDimension('AE')->setAutoSize(true);
            $sheet1->getColumnDimension('AF')->setAutoSize(true);
            $sheet1->getColumnDimension('AG')->setAutoSize(true);
            $sheet1->getColumnDimension('AH')->setAutoSize(true);
            $sheet1->getColumnDimension('AI')->setAutoSize(true);
            $sheet1->getColumnDimension('AJ')->setAutoSize(true);
            $sheet1->getColumnDimension('AK')->setAutoSize(true);
            $sheet1->getColumnDimension('AL')->setAutoSize(true);
            $sheet1->getColumnDimension('AM')->setAutoSize(true);
            $sheet1->getColumnDimension('AN')->setAutoSize(true);
            $sheet1->getColumnDimension('AO')->setAutoSize(true);
            $sheet1->getColumnDimension('AP')->setAutoSize(true);
            $sheet1->getColumnDimension('AQ')->setAutoSize(true);
            $sheet1->getColumnDimension('AR')->setAutoSize(true);
            $sheet1->getColumnDimension('AS')->setAutoSize(true);
            $sheet1->getColumnDimension('AT')->setAutoSize(true);
            $sheet1->getColumnDimension('AU')->setAutoSize(true);
            $sheet1->getColumnDimension('AV')->setAutoSize(true);
            $sheet1->getColumnDimension('AW')->setAutoSize(true);
            $sheet1->getColumnDimension('AX')->setAutoSize(true);
            $sheet1->getColumnDimension('AY')->setAutoSize(true);
            $sheet1->getColumnDimension('AZ')->setAutoSize(true);
            $sheet1->getColumnDimension('BA')->setAutoSize(true);
        	$sheet1->getColumnDimension('BB')->setAutoSize(true);
        	$sheet1->getColumnDimension('BC')->setAutoSize(true);
        	$sheet1->getColumnDimension('BD')->setAutoSize(true);
        	$sheet1->getColumnDimension('BE')->setAutoSize(true);
            
            // Set data to active sheet
        	$sheet1->setCellValue("A1","DATA MAHASISWA");
            $sheet1->mergeCells("A1:BG1");
            
        	$sheet1->setCellValue("A3","NO");
        	$sheet1->setCellValue("B3","ANGKATAN");
            $sheet1->setCellValue("C3","NPM");
            $sheet1->setCellValue("D3","NO_TEST");
            $sheet1->setCellValue("E3","STATUS_MASUK");
            $sheet1->setCellValue("F3","STATUS_MAHASISWA");
            $sheet1->setCellValue("G3","NAMA");
            $sheet1->setCellValue("H3","PROGRAM");
            $sheet1->setCellValue("I3","PRODI");
            $sheet1->setCellValue("J3","KELAMIN");
            $sheet1->setCellValue("K3","WARGANEGARA");
            $sheet1->setCellValue("L3","KEBANSAAN");
            $sheet1->setCellValue("M3","TEMPAT_LAHIR");
            $sheet1->setCellValue("N3","TANGGAL_LAHIR");
            $sheet1->setCellValue("O3","AGAMA");
            $sheet1->setCellValue("P3","STATUS_SIPIL");
            $sheet1->setCellValue("Q3","ALAMAT");
            $sheet1->setCellValue("R3","KOTA");
            $sheet1->setCellValue("S3","RT");
            $sheet1->setCellValue("T3","RW");
            $sheet1->setCellValue("U3","KODE_POS");
            $sheet1->setCellValue("V3","PROPINSI");
            $sheet1->setCellValue("W3","NEGARA");
            $sheet1->setCellValue("X3","TELEPON");
            $sheet1->setCellValue("Y3","HANDPHONE");
            $sheet1->setCellValue("Z3","EMAIL");
            $sheet1->setCellValue("AA3","ALAMAT_SAAT_INI");
            $sheet1->setCellValue("AB3","KOTA_SAAT_INI");
            $sheet1->setCellValue("AC3","RT_SAAT_INI");
            $sheet1->setCellValue("AD3","RW_SAAT_INI");
            $sheet1->setCellValue("AE3","KODE_POS_SAAT_INI");
            $sheet1->setCellValue("AF3","PROPINSI_SAAT_INI");
            $sheet1->setCellValue("AG3","NEGARA_SAAT_INI");
            $sheet1->setCellValue("AH3","TELEPON_SAAT_INI");
        	$sheet1->setCellValue("AI3","NAMA_AYAH");
            $sheet1->setCellValue("AJ3","PENDIDIKAN_AYAH");
            $sheet1->setCellValue("AK3","PEKERJAAN_AYAH");
            $sheet1->setCellValue("AL3","HIDUP_AYAH");
            $sheet1->setCellValue("AM3","NAMA_IBU");
            $sheet1->setCellValue("AN3","PENDIDIKAN_IBU");
            $sheet1->setCellValue("AO3","PEKERJAAN_IBU");
            $sheet1->setCellValue("AP3","HIDUP_IBU");
            $sheet1->setCellValue("AQ3","ALAMAT_ORTU");
            $sheet1->setCellValue("AR3","KOTA_ORTU");
            $sheet1->setCellValue("AS3","RT_ORTU");
            $sheet1->setCellValue("AT3","RW_ORTU");
            $sheet1->setCellValue("AU3","KODE_POS_ORTU");
            $sheet1->setCellValue("AV3","PROPINSI_ORTU");
            $sheet1->setCellValue("AW3","NEGARA_ORTU");
            $sheet1->setCellValue("AX3","TELEPON_ORTU");
            $sheet1->setCellValue("AY3","HANDPHONE_ORTU");
            $sheet1->setCellValue("AZ3","EMAIL_ORTU");
            $sheet1->setCellValue("BA3","ASAL_SEKOLAH");
            $sheet1->setCellValue("BB3","TAHUN_LULUS");
            $sheet1->setCellValue("BC3","ASAL_PT");
            $sheet1->setCellValue("BD3","PENASEHAT_AKADEMIK");
            $sheet1->setCellValue("BE3","BATAS_STUDI");
            
            $excel->getDefaultStyle()->getFont()->setBold(false);
            
            $no = 1;
            $row = 4;
            while($w = _fetch_array($r))
            {
                $sheet1->setCellValue("A".$row,$no);
                $sheet1->getCell("B".$row)->setValueExplicit(substr($w['TahunID'],0,4), PHPExcel_Cell_DataType::TYPE_STRING);
            	$sheet1->getCell("C".$row)->setValueExplicit($w['MhswID'], PHPExcel_Cell_DataType::TYPE_STRING);
                $sheet1->getCell("D".$row)->setValueExplicit($w['PSSBID'], PHPExcel_Cell_DataType::TYPE_STRING);
                $sheet1->setCellValue("E".$row,$w['StatusAwal']);
                $sheet1->setCellValue("F".$row,$w['StatusMhsw']);
                $sheet1->setCellValue("G".$row,$w['Nama']);
                $sheet1->setCellValue("H".$row,$w['ProgramID']);
                $sheet1->setCellValue("I".$row,$w['ProdiID']);
                $sheet1->setCellValue("J".$row,$w['Kelamin']);
                $sheet1->setCellValue("K".$row,$w['WargaNegara']);
                $sheet1->setCellValue("L".$row,$w['Kebangsaan']);
                $sheet1->setCellValue("M".$row,$w['TempatLahir']);
                $sheet1->setCellValue("N".$row,$w['TanggalLahir']);
                $sheet1->setCellValue("O".$row,$w['Agama']);
                $sheet1->setCellValue("P".$row,$w['StatusSipil']);
                $sheet1->setCellValue("Q".$row,$w['Alamat']);
                $sheet1->setCellValue("R".$row,$w['Kota']);
                $sheet1->getCell("S".$row)->setValueExplicit($w['RT'], PHPExcel_Cell_DataType::TYPE_STRING);
                $sheet1->getCell("T".$row)->setValueExplicit($w['RW'], PHPExcel_Cell_DataType::TYPE_STRING);
                $sheet1->getCell("U".$row)->setValueExplicit($w['KodePos'], PHPExcel_Cell_DataType::TYPE_STRING);
                $sheet1->setCellValue("V".$row,$w['Propinsi']);
                $sheet1->setCellValue("W".$row,$w['Negara']);
                $sheet1->getCell("X".$row)->setValueExplicit($w['Telepon'], PHPExcel_Cell_DataType::TYPE_STRING);
                $sheet1->getCell("Y".$row)->setValueExplicit($w['Handphone'], PHPExcel_Cell_DataType::TYPE_STRING);
                $sheet1->getCell("Z".$row)->setValueExplicit($w['Email'], PHPExcel_Cell_DataType::TYPE_STRING);
                $sheet1->setCellValue("AA".$row,$w['AlamatAsal']);
                $sheet1->setCellValue("AB".$row,$w['KotaAsal']);
                $sheet1->getCell("AC".$row)->setValueExplicit($w['RTAsal'], PHPExcel_Cell_DataType::TYPE_STRING);
                $sheet1->getCell("AD".$row)->setValueExplicit($w['RWAsal'], PHPExcel_Cell_DataType::TYPE_STRING);
                $sheet1->getCell("AE".$row)->setValueExplicit($w['KodePosAsal'], PHPExcel_Cell_DataType::TYPE_STRING);
                $sheet1->setCellValue("AF".$row,$w['PropinsiAsal']);
                $sheet1->setCellValue("AG".$row,$w['NegaraAsal']);
                $sheet1->getCell("AH".$row)->setValueExplicit($w['TeleponAsal'], PHPExcel_Cell_DataType::TYPE_STRING);
                $sheet1->setCellValue("AI".$row,$w['NamaAyah']);
                $sheet1->setCellValue("AJ".$row,$w['PendidikanAyah']);
                $sheet1->setCellValue("AK".$row,$w['PekerjaanAyah']);
                $sheet1->setCellValue("AL".$row,$w['HidupAyah']);
                $sheet1->setCellValue("AM".$row,$w['NamaIbu']);
                $sheet1->setCellValue("AN".$row,$w['PendidikanIbu']);
                $sheet1->setCellValue("AO".$row,$w['PekerjaanIbu']);
                $sheet1->setCellValue("AP".$row,$w['HidupIbu']);
                $sheet1->setCellValue("AQ".$row,$w['AlamatOrtu']);
                $sheet1->setCellValue("AR".$row,$w['KotaOrtu']);
                $sheet1->getCell("AS".$row)->setValueExplicit($w['RTOrtu'], PHPExcel_Cell_DataType::TYPE_STRING);
                $sheet1->getCell("AT".$row)->setValueExplicit($w['RWOrtu'], PHPExcel_Cell_DataType::TYPE_STRING);
                $sheet1->getCell("AU".$row)->setValueExplicit($w['KodePosOrtu'], PHPExcel_Cell_DataType::TYPE_STRING);
                $sheet1->setCellValue("AV".$row,$w['PropinsiOrtu']);
                $sheet1->setCellValue("AW".$row,$w['NegaraOrtu']);
                $sheet1->getCell("AX".$row)->setValueExplicit($w['TeleponOrtu'], PHPExcel_Cell_DataType::TYPE_STRING);
                $sheet1->getCell("AY".$row)->setValueExplicit($w['HandphoneOrtu'], PHPExcel_Cell_DataType::TYPE_STRING);
                $sheet1->getCell("AZ".$row)->setValueExplicit($w['EmailOrtu'], PHPExcel_Cell_DataType::TYPE_STRING);
                $sheet1->setCellValue("BA".$row,$w['AsalSekolah']);
                $sheet1->getCell("BB".$row)->setValueExplicit($w['TahunLulus'], PHPExcel_Cell_DataType::TYPE_STRING);
                $sheet1->setCellValue("BC".$row,$w['AsalPT']);
                $sheet1->setCellValue("BD".$row,$w['PenasehatAkademik']);
                $sheet1->setCellValue("BE".$row,$w['BatasStudi']);
                
                $no++;
                $row++;
            }
            
            // Save Excel 2007 file
        	$objWriter = PHPExcel_IOFactory::createWriter($excel, 'Excel2007');
        	$objWriter->save($nmf);
            
            echo Konfirmasi("Download","Download data mahasiswa: <a href='$nmf' target='_blank'>download</a>.");
        }
        else
            echo Konfirmasi("Data Tidak Ditemukan","Tidak ada data mahasiswa yang ditemukan sesuai kriteria.");
    }
    else
        {
            echo Konfirmasi("Peringatan","Harap tentukan kriteria mahasiswa yang akan di-<i>export</i> datanya.");
        }
}

    
    
    
    
    
    // *** Parameters ***
    $mdlid = $_REQUEST['mdlid'];
    $mnux  = $_REQUEST['mnux'];
    
    $prodi    = GetSetVar('prodi');
    $prid     = GetSetVar('prid');
    $status   = GetSetVar('statusmhswid');
    $angkatan = GetSetVar('angkatan');

    $gos = (empty($_REQUEST['gos']))? 'FilterMhsw' : $_REQUEST['gos'];

    // *** Main ***
    include_once BASEDIR."besan.kiri.php";
    
	opentable("Export Data Mahasiswa");
	$gos();
	closetable();
	include_once BASEDIR."besan.kanan.php";
	
	include_once BASEDIR."besan.bawah.php";

?>

Did this file decode correctly?

Original Code

<?php $_F=__FILE__;$_X='Pz48P3BocAoKLyoqCiAqIEAxM3RoMnIgQzFuZHIxIFV0MW0xCiAqIEA1bTE0bCBsMmQybmtfYkB5MWgyMi5jMm0KICogQGMycHlyNGdodCBhMDZvCiAqLwoKCi8qKgogKiBDaDFuZzUgTDJnCiAqIAogKiBhMDZvLTB1LTY4IChDMW5kcjEpCiAqCQktIEY0bDUgY3I1MXQ1ZC4KICovCiAKICAgIGYzbmN0NDJuIEY0bHQ1ck1oc3coKSAKCiAgICB7CgogICAgICAgIGdsMmIxbCAkMXJySUQsICRtbjN4LCAkbWRsNGQ7CiAgICAgICAgCiAgICAgICAgJDJwdHByMmQ0ID0gUHIyZDRUNXJ0NW50MygpOwogICAgICAgIAogICAgICAgICQycHRwcjRkIAk9IEc1dE9wdDQybmEoJ3M0bTFrX21zdF9wcjJncjFtJywgImMybmMxdChQcjJncjFtSUQsICcgLSAnLCBOMW0xKSIsICdQcjJncjFtSUQnLCAkX1NFU1NJT05bJ3ByNGQnXSwgIksyZDVJRD0nJF9TRVNTSU9OW0syZDVJRF0nIiwgJ1ByMmdyMW1JRCcpOwogICAgICAgIAogICAgICAgICQycHRzdDF0M3MgCT0gRzV0T3B0NDJuYSgnczRtMWtfcjVmX3N0MXQzc19tMWgxczRzdzEnLCAiTjFtMSIsICdOMW0xJywgJF9TRVNTSU9OWydzdDF0M3NtaHN3NGQnXSwgIk5BPSdOJyIsICdTdDF0M3NNaHN3SUQnKTsKICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAvLyBUMW1wNGxrMW4gZjJybTNsNHIKICAgICAgICA1Y2gyICI8c2NyNHB0IHR5cDU9J3Q1eHQvajF2MXNjcjRwdCcgc3JjPSdnbDJiMWwuanMnPjwvc2NyNHB0PiI7CiAgICAgICAgCiAgICAgICAgNWNoMiAiPHA+CiAgICAgICAgICAgICAgICA8ZjJybSAxY3Q0Mm49Jz9tbjN4PSRtbjN4Jm1kbDRkPSRtZGw0ZCcgbTV0aDJkPVBPU1Q+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDw0bnAzdCB0eXA1PWg0ZGQ1biBuMW01PSdtbjN4JyB2MWwzNT0nbTFzdDVyLm0xaDFzNHN3MS41eHAycnQueGxzJyAvPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8NG5wM3QgdHlwNT1oNGRkNW4gbjFtNT0nbWRsNGQnIHYxbDM1PSckbWRsNGQnIC8+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDw0bnAzdCB0eXA1PWg0ZGQ1biBuMW01PSdnMnMnIHYxbDM1PSdDNXQxa0V4YzVsJyAvPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8dDFibDUgY2wxc3M9YjJ4IGM1bGxzcDFjNG5nPTYgYzVsbHAxZGQ0bmc9dT4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDx0cj48dGQgYzJsc3Axbj1hIGNsMXNzPWYycjNtLWMxcHQ0Mm4+PGI+QzFyNCBNMWgxczRzdzE8L2I+PC90ZD48L3RyPgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDx0cj48dGQgY2wxc3M9ZjJyM20tYzFwdDQybj5QcjJncjFtPC90ZD48dGQgY2wxc3M9M2w+PHM1bDVjdCBuMW01PSdwcjRkJz4kMnB0cHI0ZDwvczVsNWN0PjwvdGQ+PC90cj4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8dHI+PHRkIGNsMXNzPWYycjNtLWMxcHQ0Mm4+UHIyZ3IxbSBTdDNkNDwvdGQ+PHRkIGNsMXNzPTNsPjxzNWw1Y3QgbjFtNT0ncHIyZDQnPiQycHRwcjJkNDwvczVsNWN0PjwvdGQ+PC90cj4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8dHI+PHRkIGNsMXNzPWYycjNtLWMxcHQ0Mm4+U3QxdDNzPC90ZD48dGQgY2wxc3M9M2w+PHM1bDVjdCBuMW01PSdzdDF0M3NtaHN3NGQnPiQycHRzdDF0M3M8L3M1bDVjdD48L3RkPjwvdHI+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPHRyPjx0ZCBjbDFzcz1mMnIzbS1jMXB0NDJuPkFuZ2sxdDFuPC90ZD48dGQgY2wxc3M9M2w+PDRucDN0IHR5cDU9J3Q1eHQnIGNsMXNzPXQ1eHRiMnggbjFtNT0nMW5nazF0MW4nIHYxbDM1PSckX1NFU1NJT05bMW5nazF0MW5dJyBzNHo1PWkgbTF4bDVuZ3RoPXUgMm5rNXkzcD0ndGg0cy52MWwzNT1uM21iNXIodGg0cy52MWwzNSk7Jz4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8NG5wM3QgdHlwNT1zM2JtNHQgbjFtNT0nc3JjbWhzd2s1eScgdjFsMzU9J0V4cDJydCcgY2wxc3M9J2IzdHQybic+PC90ZD48L3RyPgogICAgICAgIAogICAgICAgICAgICAgICAgPC90MWJsNT4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPC9mMnJtPgogICAgICAgICAgICA8L3A+IjsKCiAgICB9CgoKZjNuY3Q0Mm4gQzV0MWtFeGM1bCgpCnsKICAgIHI1cTM0cjVfMm5jNSBCQVNFRElSLiJrMm1wMm41bi81eGM1bC9QSFBFeGM1bC5waHAiOwogICAgcjVxMzRyNV8ybmM1IEJBU0VESVIuImsybXAybjVuLzV4YzVsL1BIUEV4YzVsL0lPRjFjdDJyeS5waHAiOwogICAgCiAgICBGNGx0NXJNaHN3KCk7CiAgICAKICAgICRQcjJncjFtSUQgPSAkX1BPU1RbJ3ByNGQnXTsKICAgICRQcjJkNElEICAgPSAkX1BPU1RbJ3ByMmQ0J107CiAgICAkU3QxdDNzICAgID0gJF9QT1NUWydzdDF0M3NtaHN3NGQnXTsKICAgICRBbmdrMXQxbiAgPSAkX1BPU1RbJzFuZ2sxdDFuJ107CiAgICAKICAgICRzdHJfd2g1cjUgPSAxcnIxeSgpOwogICAgJG5tZjYgICAgICA9IDFycjF5KCk7CiAgICAKICAgIDRmICgkUHIyZ3IxbUlEICE9ICcnKQogICAgewogICAgICAgICRzdHJfd2g1cjVbXSA9ICJtLlByMmdyMW1JRCA9ICckUHIyZ3IxbUlEJyI7CiAgICAgICAgJG5tZjZbXSA9ICRQcjJncjFtSUQ7CiAgICB9CiAgICA0ZiAoJFByMmQ0SUQgIT0gJycpCiAgICB7CiAgICAgICAgJHN0cl93aDVyNVtdID0gIm0uUHIyZDRJRCA9ICckUHIyZDRJRCciOwogICAgICAgICRubWY2W10gPSAkUHIyZDRJRDsKICAgIH0KICAgIDRmICgkU3QxdDNzICE9ICcnKQogICAgewogICAgICAgICRzdHJfd2g1cjVbXSA9ICJtLlN0MXQzc01oc3dJRCA9ICckU3QxdDNzJyI7CiAgICAgICAgJG5tZjZbXSA9ICRTdDF0M3M7CiAgICB9CiAgICA0ZiAoJEFuZ2sxdDFuICE9ICcnKQogICAgewogICAgICAgICRzdHJfd2g1cjVbXSA9ICJtLlQxaDNuSUQgbDRrNSAnJEFuZ2sxdDFuJSciOwogICAgICAgICRubWY2W10gPSAkQW5nazF0MW47CiAgICB9CiAgICAgICAgCiAgICA0ZiAoYzIzbnQoJHN0cl93aDVyNSk+MCkKICAgIHsKICAgICAgICAkc3RyX3doNXI1ID0gJzFuZCAnLiA0bXBsMmQ1KCcgMW5kICcsJHN0cl93aDVyNSk7CgogICAgICAgICRzID0gInM1bDVjdCBtLiosIHMxLk4xbTEgMXMgU3QxdDNzQXcxbCwgc20uTjFtMSAxcyBTdDF0M3NNaHN3LCBjMm5jMXQoZC5OMW0xLCcsICcsZC5HNWwxcikgMXMgUDVuMXM1aDF0QWsxZDVtNGssIHNzLk4xbTEgMXMgU3QxdDNzUzRwNGwsIDFnLk4xbTEgMXMgQWcxbTEsCiAgICAgICAgCiAgICAgICAgICAgICAgcGQyNi5OMW0xIDFzIFA1bmQ0ZDRrMW5BeTFoLCBwZDJhLk4xbTEgMXMgUDVuZDRkNGsxbkliMywgcGsyNi5OMW0xIDFzIFA1azVyajExbkF5MWgsIHBrMmEuTjFtMSAxcyBQNWs1cmoxMW5JYjMsCiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgMWcyNi5OMW0xIDFzIEFnMW0xQXkxaCwgMWcyYS5OMW0xIDFzIEFnMW0xSWIzLCBoMjYuTjFtMSAxcyBINGQzcEF5MWgsIGgyYS5OMW0xIDFzIEg0ZDNwSWIzLAogICAgICAgICAgICAgIAogICAgICAgICAgICAgIDFzay5OMW0xIDFzIEFzMWxTNWsybDFoLCBwdC5OMW0xIDFzIEFzMWxQVAogICAgCQogICAgCSAgICAgIGZyMm0gczRtMWtfbXN0X20xaDFzNHN3MSBtCiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgbDVmdCAyM3Q1ciBqMjRuIHM0bTFrX3I1Zl9zdDF0M3NfMXcxbCBzMSAybiBtLlN0MXQzc0F3MWxJRD1zMS5TdDF0M3NBdzFsSUQKICAgIAkKICAgIAkgICAgICBsNWZ0IDIzdDVyIGoyNG4gczRtMWtfcjVmX3N0MXQzc19tMWgxczRzdzEgc20gMm4gbS5TdDF0M3NNaHN3SUQ9c20uU3QxdDNzTWhzd0lECiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgbDVmdCAyM3Q1ciBqMjRuIHM0bTFrX21zdF9kMnM1biBkIDJuIG0uUDVuMXM1aDF0QWsxZDVtNGs9Q09OVkVSVChkLkwyZzRuIFVTSU5HIGwxdDRuNiApIENPTExBVEUgbDF0NG42X2c1bjVyMWxfYzQKICAgICAgICAgICAgICAKICAgICAgICAgICAgICBsNWZ0IDIzdDVyIGoyNG4gczRtMWtfcjVmX3M0cDRsIHNzIDJuIG0uU3QxdDNzUzRwNGw9c3MuU3QxdDNzUzRwNGwKICAgICAgICAgICAgICAKICAgICAgICAgICAgICBsNWZ0IDIzdDVyIGoyNG4gczRtMWtfcjVmXzFnMW0xIDFnIDJuIG0uQWcxbTE9MWcuQWcxbTEKICAgICAgICAgICAgICAKICAgICAgICAgICAgICBsNWZ0IDIzdDVyIGoyNG4gczRtMWtfcjVmX3A1bmQ0ZDRrMW5fMnJ0MyBwZDI2IDJuIG0uUDVuZDRkNGsxbkF5MWg9cGQyNi5QNW5kNGQ0azFuCiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgbDVmdCAyM3Q1ciBqMjRuIHM0bTFrX3I1Zl9wNW5kNGQ0azFuXzJydDMgcGQyYSAybiBtLlA1bmQ0ZDRrMW5JYjM9cGQyYS5QNW5kNGQ0azFuCiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgbDVmdCAyM3Q1ciBqMjRuIHM0bTFrX3I1Zl9wNWs1cmoxMW5fMnJ0MyBwazI2IDJuIG0uUDVrNXJqMTFuQXkxaD1wazI2LlA1azVyajExbgogICAgICAgICAgICAgIAogICAgICAgICAgICAgIGw1ZnQgMjN0NXIgajI0biBzNG0xa19yNWZfcDVrNXJqMTFuXzJydDMgcGsyYSAybiBtLlA1azVyajExbkF5MWg9cGsyYS5QNWs1cmoxMW4KICAgICAgICAgICAgICAKICAgICAgICAgICAgICBsNWZ0IDIzdDVyIGoyNG4gczRtMWtfcjVmXzFnMW0xIDFnMjYgMm4gbS5BZzFtMT0xZzI2LkFnMW0xCiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgbDVmdCAyM3Q1ciBqMjRuIHM0bTFrX3I1Zl8xZzFtMSAxZzJhIDJuIG0uQWcxbTE9MWcyYS5BZzFtMQogICAgICAgICAgICAgIAogICAgICAgICAgICAgIGw1ZnQgMjN0NXIgajI0biBzNG0xa19yNWZfaDRkM3AgaDI2IDJuIG0uSDRkM3BBeTFoPWgyNi5INGQzcAogICAgICAgICAgICAgIAogICAgICAgICAgICAgIGw1ZnQgMjN0NXIgajI0biBzNG0xa19yNWZfaDRkM3AgaDJhIDJuIG0uSDRkM3BJYjM9aDJhLkg0ZDNwCiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgbDVmdCAyM3Q1ciBqMjRuIHM0bTFrX21zdF8xczFsX3M1azJsMWggMXNrIDJuIG0uQXMxbFM1azJsMWg9MXNrLlM1azJsMWhJRAogICAgICAgICAgICAgIAogICAgICAgICAgICAgIGw1ZnQgMjN0NXIgajI0biBzNG0xa19yNWZfcDVyZzNyMzFuX3Q0bmdnNCBwdCAybiBtLkFzMWxQVD1wdC5QNXJnM3IzMW5UNG5nZzRJRAogICAgCQogICAgCSAgICAgIHdoNXI1IG0uSzJkNUlEID0gJyIuJF9TRVNTSU9OWydLMmQ1SUQnXS4iJyAkc3RyX3doNXI1CiAgICAJCiAgICAJICAgICAgMnJkNXIgYnkgbS5NaHN3SUQiOwogICAgCQogICAgCSAgJHIgPSBfcTM1cnkoJHMpOwogICAgfQogICAgCiAgICA0ZiAoITVtcHR5KCRyKSkKICAgIHsKICAgICAgICA0ZiAoX24zbV9yMndzKCRyKT4wKQogICAgICAgIHsKICAgICAgICAgICAgLy8gTjFtMSBGNGw1CiAgICAgICAgICAgIDRmIChjMjNudCgkbm1mNik+MCkKICAgICAgICAgICAgICAgICRubWY2ID0gNG1wbDJkNSgnLScsJG5tZjYpLictJzsKICAgICAgICAJJG5tZiA9ICJ0bXAvRDF0MS1NMWgxczRzdzEtJG5tZjYiLiRfU0VTU0lPTlsnX0wyZzRuJ10uIi54bHN4IjsKICAgICAgICAgICAgCiAgICAgICAgICAgIC8vIFM1dCBtNW0ycnkKICAgICAgICAgICAgJGMxY2g1TTV0aDJkID0gUEhQRXhjNWxfQzFjaDVkT2JqNWN0U3QycjFnNUYxY3Qycnk6OiBjMWNoNV90Ml9waHBUNW1wOwogICAgICAgICAgICAkYzFjaDVTNXR0NG5ncyA9IDFycjF5KCAnIG01bTJyeUMxY2g1UzR6NSAnID0+ICc4TUInKTsKICAgICAgICAgICAgUEhQRXhjNWxfUzV0dDRuZ3M6OnM1dEMxY2g1U3QycjFnNU01dGgyZCgkYzFjaDVNNXRoMmQsICRjMWNoNVM1dHQ0bmdzKTsKICAgICAgICAJCiAgICAgICAgCS8vIEc1bjVyMXQ1IGY0bDUgRXhjNWwKICAgICAgICAJJDV4YzVsID0gbjV3IFBIUEV4YzVsKCk7CiAgICAgICAgCQogICAgICAgIAkvLyBTNXQgcHIycDVydDQ1cwogICAgICAgIAkkNXhjNWwtPmc1dFByMnA1cnQ0NXMoKS0+czV0Q3I1MXQycigkX1NFU1NJT05bJ0syZDVJRCddKQogICAgICAgIAkJCQkJCSAtPnM1dEwxc3RNMmQ0ZjQ1ZEJ5KCRfU0VTU0lPTlsnX0wyZzRuJ10pCiAgICAgICAgCQkJCQkJIC0+czV0VDR0bDUoIkQxZnQxciBQNXM1cnQxIEwzbDNzIFVTTSAiLiRwbWJbJ04xbTEnXSkKICAgICAgICAJCQkJCQkgLT5zNXRTM2JqNWN0KCJMMXAycjFuIFBNQiIpCiAgICAgICAgCQkJCQkJIC0+czV0RDVzY3I0cHQ0Mm4oIkQxZnQxciBQNXM1cnQxIEwzbDNzIFVTTSAiLiRwbWJbJ04xbTEnXSkKICAgICAgICAJCQkJCQkgLT5zNXRLNXl3MnJkcygibDNsM3MiKQogICAgICAgIAkJCQkJCSAtPnM1dEMxdDVnMnJ5KCJMMXAycjFuIik7CiAgICAgICAgCQogICAgICAgIAkvLyBTNXQgZjJudAogICAgICAgIAkkNXhjNWwtPmc1dEQ1ZjEzbHRTdHlsNSgpLT5nNXRGMm50KCktPnM1dE4xbTUoJ0MxbDRicjQnKTsKICAgICAgICAJJDV4YzVsLT5nNXRENWYxM2x0U3R5bDUoKS0+ZzV0RjJudCgpLT5zNXRCMmxkKHRyMzUpOwogICAgICAgIAkkNXhjNWwtPmc1dEQ1ZjEzbHRTdHlsNSgpLT5nNXRGMm50KCktPnM1dFM0ejUoNjApOwogICAgICAgICAgICAKICAgICAgICAgICAgLy8gUzV0IFNoNTV0IE4xbTUKICAgICAgICAJJDV4YzVsLT5nNXRBY3Q0djVTaDU1dCgpLT5zNXRUNHRsNSgiVVNNLSIuJF9wbWIxa3Q0Zik7CiAgICAgICAgCQogICAgICAgIAkvLyBTNXQgMWN0NHY1IHNoNTV0IDRuZDV4IHQyIHRoNSBmNHJzdCBzaDU1dCwgczIgRXhjNWwgMnA1bnMgdGg0cyAxcyB0aDUgZjRyc3Qgc2g1NXQKICAgICAgICAJJDV4YzVsLT5zNXRBY3Q0djVTaDU1dEluZDV4KDApOwogICAgICAgICAgICAKICAgICAgICAgICAgJHNoNTV0NiA9ICQ1eGM1bC0+ZzV0QWN0NHY1U2g1NXQoKTsKICAgICAgICAJCiAgICAgICAgCS8vIFM1dCBjMmwzbW4gdzRkdGgKICAgICAgICAgICAgJHNoNTV0Ni0+ZzV0QzJsM21uRDRtNW5zNDJuKCdBJyktPnM1dEEzdDJTNHo1KHRyMzUpOwogICAgICAgIAkkc2g1NXQ2LT5nNXRDMmwzbW5ENG01bnM0Mm4oJ0InKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgCSRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQycpLT5zNXRBM3QyUzR6NSh0cjM1KTsKICAgICAgICAJJHNoNTV0Ni0+ZzV0QzJsM21uRDRtNW5zNDJuKCdEJyktPnM1dEEzdDJTNHo1KHRyMzUpOwogICAgICAgIAkkc2g1NXQ2LT5nNXRDMmwzbW5ENG01bnM0Mm4oJ0UnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignRicpLT5zNXRBM3QyUzR6NSh0cjM1KTsKICAgICAgICAgICAgJHNoNTV0Ni0+ZzV0QzJsM21uRDRtNW5zNDJuKCdHJyktPnM1dEEzdDJTNHo1KHRyMzUpOwogICAgICAgICAgICAkc2g1NXQ2LT5nNXRDMmwzbW5ENG01bnM0Mm4oJ0gnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignSScpLT5zNXRBM3QyUzR6NSh0cjM1KTsKICAgICAgICAgICAgJHNoNTV0Ni0+ZzV0QzJsM21uRDRtNW5zNDJuKCdKJyktPnM1dEEzdDJTNHo1KHRyMzUpOwogICAgICAgICAgICAkc2g1NXQ2LT5nNXRDMmwzbW5ENG01bnM0Mm4oJ0snKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignTCcpLT5zNXRBM3QyUzR6NSh0cjM1KTsKICAgICAgICAgICAgJHNoNTV0Ni0+ZzV0QzJsM21uRDRtNW5zNDJuKCdNJyktPnM1dEEzdDJTNHo1KHRyMzUpOwogICAgICAgICAgICAkc2g1NXQ2LT5nNXRDMmwzbW5ENG01bnM0Mm4oJ04nKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignTycpLT5zNXRBM3QyUzR6NSh0cjM1KTsKICAgICAgICAgICAgJHNoNTV0Ni0+ZzV0QzJsM21uRDRtNW5zNDJuKCdQJyktPnM1dEEzdDJTNHo1KHRyMzUpOwogICAgICAgICAgICAkc2g1NXQ2LT5nNXRDMmwzbW5ENG01bnM0Mm4oJ1EnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignUicpLT5zNXRBM3QyUzR6NSh0cjM1KTsKICAgICAgICAgICAgJHNoNTV0Ni0+ZzV0QzJsM21uRDRtNW5zNDJuKCdTJyktPnM1dEEzdDJTNHo1KHRyMzUpOwogICAgICAgICAgICAkc2g1NXQ2LT5nNXRDMmwzbW5ENG01bnM0Mm4oJ1QnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignVScpLT5zNXRBM3QyUzR6NSh0cjM1KTsKICAgICAgICAgICAgJHNoNTV0Ni0+ZzV0QzJsM21uRDRtNW5zNDJuKCdWJyktPnM1dEEzdDJTNHo1KHRyMzUpOwogICAgICAgICAgICAkc2g1NXQ2LT5nNXRDMmwzbW5ENG01bnM0Mm4oJ1cnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignWCcpLT5zNXRBM3QyUzR6NSh0cjM1KTsKICAgICAgICAgICAgJHNoNTV0Ni0+ZzV0QzJsM21uRDRtNW5zNDJuKCdZJyktPnM1dEEzdDJTNHo1KHRyMzUpOwogICAgICAgICAgICAkc2g1NXQ2LT5nNXRDMmwzbW5ENG01bnM0Mm4oJ1onKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQUEnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgCSRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQUInKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgCSRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQUMnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgCSRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQUQnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgCSRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQUUnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQUYnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQUcnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQUgnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQUknKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQUonKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQUsnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQUwnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQU0nKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQU4nKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQU8nKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQVAnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQVEnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQVInKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQVMnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQVQnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQVUnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQVYnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQVcnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQVgnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQVknKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQVonKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgICRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQkEnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgCSRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQkInKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgCSRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQkMnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgCSRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQkQnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgCSRzaDU1dDYtPmc1dEMybDNtbkQ0bTVuczQybignQkUnKS0+czV0QTN0MlM0ejUodHIzNSk7CiAgICAgICAgICAgIAogICAgICAgICAgICAvLyBTNXQgZDF0MSB0MiAxY3Q0djUgc2g1NXQKICAgICAgICAJJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJBNiIsIkRBVEEgTUFIQVNJU1dBIik7CiAgICAgICAgICAgICRzaDU1dDYtPm01cmc1QzVsbHMoIkE2OkJHNiIpOwogICAgICAgICAgICAKICAgICAgICAJJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJBbyIsIk5PIik7CiAgICAgICAgCSRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiQm8iLCJBTkdLQVRBTiIpOwogICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkNvIiwiTlBNIik7CiAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiRG8iLCJOT19URVNUIik7CiAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiRW8iLCJTVEFUVVNfTUFTVUsiKTsKICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJGbyIsIlNUQVRVU19NQUhBU0lTV0EiKTsKICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJHbyIsIk5BTUEiKTsKICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJIbyIsIlBST0dSQU0iKTsKICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJJbyIsIlBST0RJIik7CiAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiSm8iLCJLRUxBTUlOIik7CiAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiS28iLCJXQVJHQU5FR0FSQSIpOwogICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkxvIiwiS0VCQU5TQUFOIik7CiAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiTW8iLCJURU1QQVRfTEFISVIiKTsKICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJObyIsIlRBTkdHQUxfTEFISVIiKTsKICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJPbyIsIkFHQU1BIik7CiAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiUG8iLCJTVEFUVVNfU0lQSUwiKTsKICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJRbyIsIkFMQU1BVCIpOwogICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIlJvIiwiS09UQSIpOwogICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIlNvIiwiUlQiKTsKICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJUbyIsIlJXIik7CiAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiVW8iLCJLT0RFX1BPUyIpOwogICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIlZvIiwiUFJPUElOU0kiKTsKICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJXbyIsIk5FR0FSQSIpOwogICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIlhvIiwiVEVMRVBPTiIpOwogICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIllvIiwiSEFORFBIT05FIik7CiAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiWm8iLCJFTUFJTCIpOwogICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkFBbyIsIkFMQU1BVF9TQUFUX0lOSSIpOwogICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkFCbyIsIktPVEFfU0FBVF9JTkkiKTsKICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJBQ28iLCJSVF9TQUFUX0lOSSIpOwogICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkFEbyIsIlJXX1NBQVRfSU5JIik7CiAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiQUVvIiwiS09ERV9QT1NfU0FBVF9JTkkiKTsKICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJBRm8iLCJQUk9QSU5TSV9TQUFUX0lOSSIpOwogICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkFHbyIsIk5FR0FSQV9TQUFUX0lOSSIpOwogICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkFIbyIsIlRFTEVQT05fU0FBVF9JTkkiKTsKICAgICAgICAJJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJBSW8iLCJOQU1BX0FZQUgiKTsKICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJBSm8iLCJQRU5ESURJS0FOX0FZQUgiKTsKICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJBS28iLCJQRUtFUkpBQU5fQVlBSCIpOwogICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkFMbyIsIkhJRFVQX0FZQUgiKTsKICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJBTW8iLCJOQU1BX0lCVSIpOwogICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkFObyIsIlBFTkRJRElLQU5fSUJVIik7CiAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiQU9vIiwiUEVLRVJKQUFOX0lCVSIpOwogICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkFQbyIsIkhJRFVQX0lCVSIpOwogICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkFRbyIsIkFMQU1BVF9PUlRVIik7CiAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiQVJvIiwiS09UQV9PUlRVIik7CiAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiQVNvIiwiUlRfT1JUVSIpOwogICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkFUbyIsIlJXX09SVFUiKTsKICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJBVW8iLCJLT0RFX1BPU19PUlRVIik7CiAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiQVZvIiwiUFJPUElOU0lfT1JUVSIpOwogICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkFXbyIsIk5FR0FSQV9PUlRVIik7CiAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiQVhvIiwiVEVMRVBPTl9PUlRVIik7CiAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiQVlvIiwiSEFORFBIT05FX09SVFUiKTsKICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJBWm8iLCJFTUFJTF9PUlRVIik7CiAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiQkFvIiwiQVNBTF9TRUtPTEFIIik7CiAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiQkJvIiwiVEFIVU5fTFVMVVMiKTsKICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJCQ28iLCJBU0FMX1BUIik7CiAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiQkRvIiwiUEVOQVNFSEFUX0FLQURFTUlLIik7CiAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiQkVvIiwiQkFUQVNfU1RVREkiKTsKICAgICAgICAgICAgCiAgICAgICAgICAgICQ1eGM1bC0+ZzV0RDVmMTNsdFN0eWw1KCktPmc1dEYybnQoKS0+czV0QjJsZChmMWxzNSk7CiAgICAgICAgICAgIAogICAgICAgICAgICAkbjIgPSA2OwogICAgICAgICAgICAkcjJ3ID0gdTsKICAgICAgICAgICAgd2g0bDUoJHcgPSBfZjV0Y2hfMXJyMXkoJHIpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkEiLiRyMncsJG4yKTsKICAgICAgICAgICAgICAgICRzaDU1dDYtPmc1dEM1bGwoIkIiLiRyMncpLT5zNXRWMWwzNUV4cGw0YzR0KHMzYnN0cigkd1snVDFoM25JRCddLDAsdSksIFBIUEV4YzVsX0M1bGxfRDF0MVR5cDU6OlRZUEVfU1RSSU5HKTsKICAgICAgICAgICAgCSRzaDU1dDYtPmc1dEM1bGwoIkMiLiRyMncpLT5zNXRWMWwzNUV4cGw0YzR0KCR3WydNaHN3SUQnXSwgUEhQRXhjNWxfQzVsbF9EMXQxVHlwNTo6VFlQRV9TVFJJTkcpOwogICAgICAgICAgICAgICAgJHNoNTV0Ni0+ZzV0QzVsbCgiRCIuJHIydyktPnM1dFYxbDM1RXhwbDRjNHQoJHdbJ1BTU0JJRCddLCBQSFBFeGM1bF9DNWxsX0QxdDFUeXA1OjpUWVBFX1NUUklORyk7CiAgICAgICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkUiLiRyMncsJHdbJ1N0MXQzc0F3MWwnXSk7CiAgICAgICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkYiLiRyMncsJHdbJ1N0MXQzc01oc3cnXSk7CiAgICAgICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkciLiRyMncsJHdbJ04xbTEnXSk7CiAgICAgICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkgiLiRyMncsJHdbJ1ByMmdyMW1JRCddKTsKICAgICAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiSSIuJHIydywkd1snUHIyZDRJRCddKTsKICAgICAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiSiIuJHIydywkd1snSzVsMW00biddKTsKICAgICAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiSyIuJHIydywkd1snVzFyZzFONWcxcjEnXSk7CiAgICAgICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkwiLiRyMncsJHdbJ0s1YjFuZ3MxMW4nXSk7CiAgICAgICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIk0iLiRyMncsJHdbJ1Q1bXAxdEwxaDRyJ10pOwogICAgICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJOIi4kcjJ3LCR3WydUMW5nZzFsTDFoNHInXSk7CiAgICAgICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIk8iLiRyMncsJHdbJ0FnMW0xJ10pOwogICAgICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJQIi4kcjJ3LCR3WydTdDF0M3NTNHA0bCddKTsKICAgICAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiUSIuJHIydywkd1snQWwxbTF0J10pOwogICAgICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJSIi4kcjJ3LCR3WydLMnQxJ10pOwogICAgICAgICAgICAgICAgJHNoNTV0Ni0+ZzV0QzVsbCgiUyIuJHIydyktPnM1dFYxbDM1RXhwbDRjNHQoJHdbJ1JUJ10sIFBIUEV4YzVsX0M1bGxfRDF0MVR5cDU6OlRZUEVfU1RSSU5HKTsKICAgICAgICAgICAgICAgICRzaDU1dDYtPmc1dEM1bGwoIlQiLiRyMncpLT5zNXRWMWwzNUV4cGw0YzR0KCR3WydSVyddLCBQSFBFeGM1bF9DNWxsX0QxdDFUeXA1OjpUWVBFX1NUUklORyk7CiAgICAgICAgICAgICAgICAkc2g1NXQ2LT5nNXRDNWxsKCJVIi4kcjJ3KS0+czV0VjFsMzVFeHBsNGM0dCgkd1snSzJkNVAycyddLCBQSFBFeGM1bF9DNWxsX0QxdDFUeXA1OjpUWVBFX1NUUklORyk7CiAgICAgICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIlYiLiRyMncsJHdbJ1ByMnA0bnM0J10pOwogICAgICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJXIi4kcjJ3LCR3WydONWcxcjEnXSk7CiAgICAgICAgICAgICAgICAkc2g1NXQ2LT5nNXRDNWxsKCJYIi4kcjJ3KS0+czV0VjFsMzVFeHBsNGM0dCgkd1snVDVsNXAybiddLCBQSFBFeGM1bF9DNWxsX0QxdDFUeXA1OjpUWVBFX1NUUklORyk7CiAgICAgICAgICAgICAgICAkc2g1NXQ2LT5nNXRDNWxsKCJZIi4kcjJ3KS0+czV0VjFsMzVFeHBsNGM0dCgkd1snSDFuZHBoMm41J10sIFBIUEV4YzVsX0M1bGxfRDF0MVR5cDU6OlRZUEVfU1RSSU5HKTsKICAgICAgICAgICAgICAgICRzaDU1dDYtPmc1dEM1bGwoIloiLiRyMncpLT5zNXRWMWwzNUV4cGw0YzR0KCR3WydFbTE0bCddLCBQSFBFeGM1bF9DNWxsX0QxdDFUeXA1OjpUWVBFX1NUUklORyk7CiAgICAgICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkFBIi4kcjJ3LCR3WydBbDFtMXRBczFsJ10pOwogICAgICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJBQiIuJHIydywkd1snSzJ0MUFzMWwnXSk7CiAgICAgICAgICAgICAgICAkc2g1NXQ2LT5nNXRDNWxsKCJBQyIuJHIydyktPnM1dFYxbDM1RXhwbDRjNHQoJHdbJ1JUQXMxbCddLCBQSFBFeGM1bF9DNWxsX0QxdDFUeXA1OjpUWVBFX1NUUklORyk7CiAgICAgICAgICAgICAgICAkc2g1NXQ2LT5nNXRDNWxsKCJBRCIuJHIydyktPnM1dFYxbDM1RXhwbDRjNHQoJHdbJ1JXQXMxbCddLCBQSFBFeGM1bF9DNWxsX0QxdDFUeXA1OjpUWVBFX1NUUklORyk7CiAgICAgICAgICAgICAgICAkc2g1NXQ2LT5nNXRDNWxsKCJBRSIuJHIydyktPnM1dFYxbDM1RXhwbDRjNHQoJHdbJ0syZDVQMnNBczFsJ10sIFBIUEV4YzVsX0M1bGxfRDF0MVR5cDU6OlRZUEVfU1RSSU5HKTsKICAgICAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiQUYiLiRyMncsJHdbJ1ByMnA0bnM0QXMxbCddKTsKICAgICAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiQUciLiRyMncsJHdbJ041ZzFyMUFzMWwnXSk7CiAgICAgICAgICAgICAgICAkc2g1NXQ2LT5nNXRDNWxsKCJBSCIuJHIydyktPnM1dFYxbDM1RXhwbDRjNHQoJHdbJ1Q1bDVwMm5BczFsJ10sIFBIUEV4YzVsX0M1bGxfRDF0MVR5cDU6OlRZUEVfU1RSSU5HKTsKICAgICAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiQUkiLiRyMncsJHdbJ04xbTFBeTFoJ10pOwogICAgICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJBSiIuJHIydywkd1snUDVuZDRkNGsxbkF5MWgnXSk7CiAgICAgICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkFLIi4kcjJ3LCR3WydQNWs1cmoxMW5BeTFoJ10pOwogICAgICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJBTCIuJHIydywkd1snSDRkM3BBeTFoJ10pOwogICAgICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJBTSIuJHIydywkd1snTjFtMUliMyddKTsKICAgICAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiQU4iLiRyMncsJHdbJ1A1bmQ0ZDRrMW5JYjMnXSk7CiAgICAgICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkFPIi4kcjJ3LCR3WydQNWs1cmoxMW5JYjMnXSk7CiAgICAgICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkFQIi4kcjJ3LCR3WydINGQzcEliMyddKTsKICAgICAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiQVEiLiRyMncsJHdbJ0FsMW0xdE9ydDMnXSk7CiAgICAgICAgICAgICAgICAkc2g1NXQ2LT5zNXRDNWxsVjFsMzUoIkFSIi4kcjJ3LCR3WydLMnQxT3J0MyddKTsKICAgICAgICAgICAgICAgICRzaDU1dDYtPmc1dEM1bGwoIkFTIi4kcjJ3KS0+czV0VjFsMzVFeHBsNGM0dCgkd1snUlRPcnQzJ10sIFBIUEV4YzVsX0M1bGxfRDF0MVR5cDU6OlRZUEVfU1RSSU5HKTsKICAgICAgICAgICAgICAgICRzaDU1dDYtPmc1dEM1bGwoIkFUIi4kcjJ3KS0+czV0VjFsMzVFeHBsNGM0dCgkd1snUldPcnQzJ10sIFBIUEV4YzVsX0M1bGxfRDF0MVR5cDU6OlRZUEVfU1RSSU5HKTsKICAgICAgICAgICAgICAgICRzaDU1dDYtPmc1dEM1bGwoIkFVIi4kcjJ3KS0+czV0VjFsMzVFeHBsNGM0dCgkd1snSzJkNVAyc09ydDMnXSwgUEhQRXhjNWxfQzVsbF9EMXQxVHlwNTo6VFlQRV9TVFJJTkcpOwogICAgICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJBViIuJHIydywkd1snUHIycDRuczRPcnQzJ10pOwogICAgICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJBVyIuJHIydywkd1snTjVnMXIxT3J0MyddKTsKICAgICAgICAgICAgICAgICRzaDU1dDYtPmc1dEM1bGwoIkFYIi4kcjJ3KS0+czV0VjFsMzVFeHBsNGM0dCgkd1snVDVsNXAybk9ydDMnXSwgUEhQRXhjNWxfQzVsbF9EMXQxVHlwNTo6VFlQRV9TVFJJTkcpOwogICAgICAgICAgICAgICAgJHNoNTV0Ni0+ZzV0QzVsbCgiQVkiLiRyMncpLT5zNXRWMWwzNUV4cGw0YzR0KCR3WydIMW5kcGgybjVPcnQzJ10sIFBIUEV4YzVsX0M1bGxfRDF0MVR5cDU6OlRZUEVfU1RSSU5HKTsKICAgICAgICAgICAgICAgICRzaDU1dDYtPmc1dEM1bGwoIkFaIi4kcjJ3KS0+czV0VjFsMzVFeHBsNGM0dCgkd1snRW0xNGxPcnQzJ10sIFBIUEV4YzVsX0M1bGxfRDF0MVR5cDU6OlRZUEVfU1RSSU5HKTsKICAgICAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiQkEiLiRyMncsJHdbJ0FzMWxTNWsybDFoJ10pOwogICAgICAgICAgICAgICAgJHNoNTV0Ni0+ZzV0QzVsbCgiQkIiLiRyMncpLT5zNXRWMWwzNUV4cGw0YzR0KCR3WydUMWgzbkwzbDNzJ10sIFBIUEV4YzVsX0M1bGxfRDF0MVR5cDU6OlRZUEVfU1RSSU5HKTsKICAgICAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiQkMiLiRyMncsJHdbJ0FzMWxQVCddKTsKICAgICAgICAgICAgICAgICRzaDU1dDYtPnM1dEM1bGxWMWwzNSgiQkQiLiRyMncsJHdbJ1A1bjFzNWgxdEFrMWQ1bTRrJ10pOwogICAgICAgICAgICAgICAgJHNoNTV0Ni0+czV0QzVsbFYxbDM1KCJCRSIuJHIydywkd1snQjF0MXNTdDNkNCddKTsKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgJG4yKys7CiAgICAgICAgICAgICAgICAkcjJ3Kys7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIC8vIFMxdjUgRXhjNWwgYTAwNyBmNGw1CiAgICAgICAgCSQyYmpXcjR0NXIgPSBQSFBFeGM1bF9JT0YxY3Qycnk6OmNyNTF0NVdyNHQ1cigkNXhjNWwsICdFeGM1bGEwMDcnKTsKICAgICAgICAJJDJialdyNHQ1ci0+czF2NSgkbm1mKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIDVjaDIgSzJuZjRybTFzNCgiRDJ3bmwyMWQiLCJEMndubDIxZCBkMXQxIG0xaDFzNHN3MTogPDEgaHI1Zj0nJG5tZicgdDFyZzV0PSdfYmwxbmsnPmQyd25sMjFkPC8xPi4iKTsKICAgICAgICB9CiAgICAgICAgNWxzNQogICAgICAgICAgICA1Y2gyIEsybmY0cm0xczQoIkQxdDEgVDRkMWsgRDR0NW0zazFuIiwiVDRkMWsgMWQxIGQxdDEgbTFoMXM0c3cxIHkxbmcgZDR0NW0zazFuIHM1czMxNCBrcjR0NXI0MS4iKTsKICAgIH0KICAgIDVsczUKICAgICAgICB7CiAgICAgICAgICAgIDVjaDIgSzJuZjRybTFzNCgiUDVyNG5nMXQxbiIsIkgxcjFwIHQ1bnQzazFuIGtyNHQ1cjQxIG0xaDFzNHN3MSB5MW5nIDFrMW4gZDQtPDQ+NXhwMnJ0PC80PiBkMXQxbnkxLiIpOwogICAgICAgIH0KfQoKICAgIAogICAgCiAgICAKICAgIAogICAgCiAgICAvLyAqKiogUDFyMW01dDVycyAqKioKICAgICRtZGw0ZCA9ICRfUkVRVUVTVFsnbWRsNGQnXTsKICAgICRtbjN4ICA9ICRfUkVRVUVTVFsnbW4zeCddOwogICAgCiAgICAkcHIyZDQgICAgPSBHNXRTNXRWMXIoJ3ByMmQ0Jyk7CiAgICAkcHI0ZCAgICAgPSBHNXRTNXRWMXIoJ3ByNGQnKTsKICAgICRzdDF0M3MgICA9IEc1dFM1dFYxcignc3QxdDNzbWhzdzRkJyk7CiAgICAkMW5nazF0MW4gPSBHNXRTNXRWMXIoJzFuZ2sxdDFuJyk7CgogICAgJGcycyA9ICg1bXB0eSgkX1JFUVVFU1RbJ2cycyddKSk/ICdGNGx0NXJNaHN3JyA6ICRfUkVRVUVTVFsnZzJzJ107CgogICAgLy8gKioqIE0xNG4gKioqCiAgICA0bmNsM2Q1XzJuYzUgQkFTRURJUi4iYjVzMW4uazRyNC5waHAiOwogICAgCgkycDVudDFibDUoIkV4cDJydCBEMXQxIE0xaDFzNHN3MSIpOwoJJGcycygpOwoJY2wyczV0MWJsNSgpOwoJNG5jbDNkNV8ybmM1IEJBU0VESVIuImI1czFuLmsxbjFuLnBocCI7CgkKCTRuY2wzZDVfMm5jNSBCQVNFRElSLiJiNXMxbi5iMXcxaC5waHAiOwoKPz4=';
		eval(base64_decode('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLC
		cxMjM0NTZhb3VpZScsJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GS
		UxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));?>

Function Calls

strtr 1
ereg_replace 1
base64_decode 2

Variables

$_F index.php
$_R 0
$_X 0

Stats

MD5 c8a0f92c284a938280fc4e523ea7131c
Eval Count 2
Decode Time 146 ms