xiaomianao666

小程序:91短视频

Apr 22nd, 2025
1,097
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@91短视频@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoiOTHnn63op4bpopEiLCJhdXRob3IiOiLmtYHoi48iLCJ1cmwiOiJoaWtlcjovL2VtcHR5IyNmeXBhZ2UiLCJ2ZXJzaW9uIjo1LCJjb2xfdHlwZSI6Im1vdmllXzIiLCJjbGFzc19uYW1lIjoiIiwidHlwZSI6InZpZGVvIiwiY2xhc3NfdXJsIjoiIiwiYXJlYV9uYW1lIjoiIiwiYXJlYV91cmwiOiIiLCJzb3J0X25hbWUiOiIiLCJ5ZWFyX25hbWUiOiIiLCJzb3J0X3VybCI6IiIsInllYXJfdXJsIjoiIiwiZmluZF9ydWxlIjoianM6IFxudmFyIGQgPSBbXTtcbmV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvaG9tZScpKS5ydWxlKTtcbnNldFJlc3VsdChkKSIsInNlYXJjaF91cmwiOiJoaWtlcjovL2VtcHR5P3BhZ2U9ZnlwYWdlJmt3PSoqIiwiZ3JvdXAiOiIxOCsiLCJzZWFyY2hGaW5kIjoianM6XG4kLnJlcXVpcmUoXCJzZWFjaFwiKSIsImRldGFpbF9jb2xfdHlwZSI6Im1vdmllXzMiLCJkZXRhaWxfZmluZF9ydWxlIjoiIiwic2RldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJzZGV0YWlsX2ZpbmRfcnVsZSI6IioiLCJ1YSI6Im1vYmlsZSIsInByZVJ1bGUiOiJpZihnZXRNeVZhcignaG9zdCcpPT0nJyl7XG4gICB2YXIgaG9zdD0naHR0cHM6Ly9hcGkzLmRzcGFwaTMuY29tL2FwaS5waHAnO1xuICAgcHV0TXlWYXIoJ2hvc3QnLGhvc3QpO1xufSIsInBhZ2VzIjoiW3tcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCJhZXNcIixcInBhdGhcIjpcImFlc1wiLFwicnVsZVwiOlwiLy/liqDovb1DcnlwdG9KU+W6k1xcbmV2YWwoZ2V0Q3J5cHRvSlMoKSlcXG52YXIgdCA9IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApOyAvL2xvZyh0KVxcbi8v55Sf5oiQ6ZqP5py6dXVpZFxcbmZ1bmN0aW9uIGdlbmVyYXRlVVVJRCgpIHtcXG4gICAgcmV0dXJuICd4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgnLnJlcGxhY2UoL1t4eV0vZywgZnVuY3Rpb24oYykge1xcbiAgICAgICAgdmFyIHIgPSBNYXRoLnJhbmRvbSgpICogMTYgfCAwO1xcbiAgICAgICAgdmFyIHYgPSBjID09PSAneCcgPyByIDogKHIgJiAweDMgfCAweDgpO1xcbiAgICAgICAgcmV0dXJuIHYudG9TdHJpbmcoMTYpO1xcbiAgICB9KTtcXG59XFxuLy/nlJ/miJDml7bpl7TmiLNcXG5mdW5jdGlvbiBnZXRDdXJyZW50VGltZXN0YW1wKCkge1xcbiAgICByZXR1cm4gbmV3IERhdGUoKS5nZXRUaW1lKCk7XFxufVxcbi8vbWQ15Yqg5a+GXFxuZnVuY3Rpb24gbWQ1KHN0cikge1xcbiAgICByZXR1cm4gQ3J5cHRvSlMuTUQ1KHN0cikudG9TdHJpbmcoKTtcXG59XFxuLy9zaGEyNTbliqDlr4ZcXG5mdW5jdGlvbiBzaGEyNTYoc3RyKSB7XFxuICAgIHJldHVybiBDcnlwdG9KUy5TSEEyNTYoc3RyKS50b1N0cmluZygpO1xcbn1cXG5mdW5jdGlvbiBjb2xvcih0eHQpIHtcXG4gICAgcmV0dXJuICAnPGI+PGZvbnQgY29sb3I9JyArICcjRkY2Njk5JyArICc+JyArIHR4dCArICc8L2ZvbnQ+PC9iPidcXG59XFxuXFxuLy8g6ZqP5py65a2X56ym5Liy5pa55rOVXFxuZnVuY3Rpb24gZ2VuZXJhdGVSYW5kb21IZXgobGVuZ3RoKSB7XFxuICAgIHZhciByZXN1bHQgPSAnJztcXG4gICAgdmFyIGNoYXJhY3RlcnMgPSAnMDEyMzQ1Njc4OWFiY2RlZic7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHJlc3VsdCArPSBjaGFyYWN0ZXJzLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyYWN0ZXJzLmxlbmd0aCkpO1xcbiAgICB9XFxuICAgIHJldHVybiByZXN1bHQ7XFxufVxcblxcbi8vIOiwg+eUqOaWueazleeUn+aIkOmaj+acuuWtl+espuS4slxcbnZhciBpdjAgPSBnZW5lcmF0ZVJhbmRvbUhleCgzMikudG9VcHBlckNhc2UoKTtcXG5cXG4vLyDop6Plr4blh73mlbBcXG5mdW5jdGlvbiBEZWNyeXB0KHdvcmQpIHtcXG4gICAgY29uc3Qga2V5ID0gQ3J5cHRvSlMuZW5jLkhleC5wYXJzZShcXFwiYzJmYzJjNjRlZThjNDhhNDMyNDAzNGJlZGNkNzY4NzkyNDMyMjU3ODM3ZGQ3Zjk1ODc2YTZlYzIwYTE4MjhlMFxcXCIpO1xcbiAgICBjb25zdCBpdiA9IENyeXB0b0pTLmVuYy5IZXgucGFyc2Uod29yZC5zdWJzdHIoMCwgMzIpKTsgIC8vIOiOt+WPluWJjTMy5L2N5L2c5Li6aXZcXG4gIGNvbnN0IGVuY3J5cHRlZEhleFN0ciA9IENyeXB0b0pTLmVuYy5IZXgucGFyc2Uod29yZC5zdWJzdHIoMzIpLnRvVXBwZXJDYXNlKCkpO1xcbiAgICBsZXQgZGVjcnlwdCA9IENyeXB0b0pTLkFFUy5kZWNyeXB0KHtcXG4gICAgICAgIGNpcGhlcnRleHQ6IGVuY3J5cHRlZEhleFN0clxcbiAgICB9LCBrZXksIHtcXG4gICAgICAgIGl2OiBpdixcXG4gICAgICAgIG1vZGU6IENyeXB0b0pTLm1vZGUuQ0ZCLFxcbiAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLk5vUGFkZGluZyAvLyDms6jmhI/ov5nph4zlupTor6XmmK9DcnlwdG9KUy5wYWQuTm9QYWRkaW5nXFxuICAgIH0pO1xcbiAgICBpZiAoZGVjcnlwdCkge1xcbiAgICAgICAgbGV0IGRlY3J5cHRlZFN0ciA9IGRlY3J5cHQudG9TdHJpbmcoQ3J5cHRvSlMuZW5jLlV0ZjgpO1xcbiAgICAgICAgcmV0dXJuIGRlY3J5cHRlZFN0cjtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIC8vIOino+WvhuWksei0pe+8jOi/lOWbnm51bGzmiJbplJnor6/kv6Hmga9cXG4gICAgICAgIHJldHVybiBudWxsO1xcbiAgICB9XFxufVxcblxcbi8vIOWKoOWvhuWHveaVsFxcbmZ1bmN0aW9uIEVuY3J5cHQocGxhaW50ZXh0KSB7XFxuICAgIGNvbnN0IGtleSA9IENyeXB0b0pTLmVuYy5IZXgucGFyc2UoXFxcImMyZmMyYzY0ZWU4YzQ4YTQzMjQwMzRiZWRjZDc2ODc5MjQzMjI1NzgzN2RkN2Y5NTg3NmE2ZWMyMGExODI4ZTBcXFwiKTtcXG4gICAgY29uc3QgaXYgPSBDcnlwdG9KUy5lbmMuSGV4LnBhcnNlKGl2MCk7XFxuICAgIHZhciBlbmNyeXB0ZWQgPSBDcnlwdG9KUy5BRVMuZW5jcnlwdChwbGFpbnRleHQsIGtleSwge1xcbiAgICAgICAgaXY6IGl2LFxcbiAgICAgICAgbW9kZTogQ3J5cHRvSlMubW9kZS5DRkIsXFxuICAgICAgICBwYWRkaW5nOiBDcnlwdG9KUy5wYWQuTm9QYWRkaW5nIC8vIOazqOaEj+i/memHjOW6lOivpeaYr0NyeXB0b0pTLnBhZC5Ob1BhZGRpbmdcXG4gICAgfSk7XFxuICAgIHZhciBjaXBoZXJ0ZXh0ID0gZW5jcnlwdGVkLmNpcGhlcnRleHQudG9TdHJpbmcoQ3J5cHRvSlMuZW5jLkhleCk7XFxuICAgIHJldHVybiBjaXBoZXJ0ZXh0LnRvVXBwZXJDYXNlKCk7XFxufVxcblxcbnZhciBsYXp5ID0gJCgnJykuaW1hZ2UoKCkgPT4ge1xcbmNvbnN0IENyeXB0b1V0aWwgPSAkLnJlcXVpcmUoXFxcImhpa2VyOi8vYXNzZXRzL2NyeXB0by1qYXZhLmpzXFxcIik7XFxuXFx0bGV0IGtleSA9IENyeXB0b1V0aWwuRGF0YS5wYXJzZVVURjgoXFxcImY1ZDk2NWRmNzUzMzYyNzBcXFwiKTtcXG5cXHRsZXQgaXYgPSBDcnlwdG9VdGlsLkRhdGEucGFyc2VVVEY4KFxcXCI5N2I2MDM5NGFiYzJmYmUxXFxcIik7XFxuXFx0bGV0IHRleHREYXRhID0gQ3J5cHRvVXRpbC5EYXRhLnBhcnNlSW5wdXRTdHJlYW0oaW5wdXQpO1xcblxcdGxldCBlbmNyeXB0ZWQgPSBDcnlwdG9VdGlsLkFFUy5kZWNyeXB0KHRleHREYXRhLCBrZXksIHtcXG4gIFxcdG1vZGU6IFxcXCJBRVMvQ0JDL1BLQ1M3UGFkZGluZ1xcXCIsXFxuXFx0XFx0aXY6IGl2XFxuXFx0fSk7XFxuXFx0cmV0dXJuIGVuY3J5cHRlZC50b0lucHV0U3RyZWFtKCk7XFxufSlcXG5cXG5cXG5mdW5jdGlvbiBwb3N0KHVybCxkYXRhMCl7XFxudmFyIGRhdGEgPSBFbmNyeXB0KGRhdGEwKTsgXFxuLy9sb2coZGF0YSlcXG52YXIgc2lnbiA9IG1kNShzaGEyNTYoJ2NyeXB0PVYyJmRhdGE9JytpdjArZGF0YSsnJnRpbWVzdGFtcD0nK3QrJ2RzYWY3NmNmYmIzOWNqZHVzaWhjdWVrZDNiMDY2YTZlJykpOyAvL2xvZyhzaWduKVxcbnZhciBib2R5ID0gJ3RpbWVzdGFtcD0nK3QrJyZkYXRhPScraXYwK2RhdGErJyZjcnlwdD1WMiZzaWduPScrc2lnbjsgXFxudmFyIGh0bWwgPSBmZXRjaCh1cmwsIHtcXG4gICAgaGVhZGVyczoge1xcbiAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCdcXG4gICAgfSxcXG4gICAgYm9keTogYm9keSxcXG4gICAgbWV0aG9kOiAnUE9TVCdcXG59KTsgXFxuLy9sb2coaHRtbClcXG5cXG5sZXQgaHRtbDEgPSBKU09OLnBhcnNlKGh0bWwpLmRhdGE7IFxcbi8vbG9nKGh0bWwxKVxcbmxldCBodG1sMiA9IERlY3J5cHQoaHRtbDEpOyBcXG5yZXR1cm4gaHRtbDI7XFxufVxcblxcbnZhciB2b2QgPSAkKCcnKS5sYXp5UnVsZSgoKSA9PiB7XFxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9hZXMnKSkucnVsZSk7XFxubGV0IGRhdGEwPSd7XFxcImFwcF90eXBlXFxcIjpcXFwibG9jYWxcXFwiLFxcXCJtb2RcXFwiOlxcXCJhbmltZVxcXCIsXFxcImNvZGVcXFwiOlxcXCJkZXRhaWxcXFwiLFxcXCJhcHBfc3RhdHVzXFxcIjpcXFwiRUQwQUUyQjcyMEEyMDYwOEU0OTdEM0UzNkU4ODAyOTMzN0MxQzg2MzoxXFxcIixcXFwib2F1dGhfdHlwZVxcXCI6XFxcImFuZHJvaWRcXFwiLFxcXCJvYXV0aF9pZFxcXCI6XFxcImM4YTNkZTYxZTQ1ZWRkNDBjZGQxZTFlMjgyMGU5NDJlXFxcIixcXFwiaWRcXFwiOlxcXCInK2lucHV0KydcXFwiLFxcXCJ2ZXJzaW9uXFxcIjpcXFwiNi41LjBcXFwiLFxcXCJhcGlWMlxcXCI6XFxcInYyXFxcIixcXFwiYXBwX2Zyb21cXFwiOlxcXCI5MWxpdGVcXFwiLFxcXCJ0b2tlblxcXCI6XFxcIlxcXCJ9J1xcbnZhciB1cmwxID0gcG9zdChnZXRNeVZhcignaG9zdCcpLGRhdGEwKTtcXG5sZXQgdXJsMj1KU09OLnBhcnNlKHVybDEpLmRhdGEuY2hhcHRlclswXS5wbGF5X3VybC5yZXBsYWNlKC9cXFxcL1xcXFwvLipwbGF5XFxcXC4vLCcvL2xvbmcuJyk7XFxucmV0dXJuIHVybDJcXG59KVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5pe26Ze05oiz6L2s5o2iXCIsXCJwYXRoXCI6XCLml7bpl7TmiLPovazmjaJcIixcInJ1bGVcIjpcImZ1bmN0aW9uIHRpbWVzdGFtcFRvVGltZSh0bSwgdHMpIHtcXG5cXHRcXHR1bmRlZmluZWRcXG5cXHRcXHR2YXIgZGF0ZSA9IG5ldyBEYXRlKHRtICogMTAwMCk7IC8v5pe26Ze05oiz5Li6MTDkvY3pnIAqMTAwMO+8jOaXtumXtOaIs+S4ujEz5L2N55qE6K+d5LiN6ZyA5LmYMTAwMFxcblxcdFxcdHZhciBZID0gZGF0ZS5nZXRGdWxsWWVhcigpICsgJy0nO1xcblxcdFxcdHZhciBNID0gKGRhdGUuZ2V0TW9udGgoKSArIDEgPCAxMCA/ICcwJyArIChkYXRlLmdldE1vbnRoKCkgKyAxKSA6IGRhdGUuZ2V0TW9udGgoKSArIDEpICsgJy0nO1xcblxcdFxcdHZhciBEID0gZGF0ZS5nZXREYXRlKCk7XFxuXFx0XFx0dmFyIGggPSAnIHwgJyArIGRhdGUuZ2V0SG91cnMoKSArICc6JztcXG5cXHRcXHR2YXIgbSA9IGRhdGUuZ2V0TWludXRlcygpO1xcblxcdFxcdGlmKG08MTApIG0gPSAnMCcrbTtcXG5cXHRcXHRtID0gbSArICc6J1xcblxcdFxcdHZhciBzID0gZGF0ZS5nZXRTZWNvbmRzKCk7XFxuXFx0XFx0aWYoczwxMCkgcyA9ICcwJytzO1xcblxcdFxcdGlmICh0cyA9PSAwKSByZXR1cm4gWSArIE0gKyBEO1xcblxcdFxcdGlmICh0cyA9PSAxKSByZXR1cm4gWSArIE0gKyBEICsgaCArIG0gKyBzO1xcblxcdH1cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuWIhuexu1wiLFwicGF0aFwiOlwiQ2F0ZWdvcnlcIixcInJ1bGVcIjpcImZ1bmN0aW9uIHN0cm9uZyhkLCBjKSB7XFxuICAgIHJldHVybiAn4oCY4oCY4oCZ4oCZPHN0cm9uZz48Zm9udCBjb2xvcj0jJyArIChjIHx8ICcwMDAwMDAnKSArICc+JyArIGQgKyAnPC9mb250Pjwvc3Ryb25nPic7XFxufVxcbmZ1bmN0aW9uIENhdGVnb3J5KGxpc3Qsbixjb2wsZCkge1xcbiAgICAgdmFyIHRpdGxlID0gbGlzdFswXS50aXRsZS5zcGxpdCgnJicpO1xcbiAgICAgdmFyIGtleSA9IGxpc3RbMF0ua2V5LnNwbGl0KCcmJyk7XFxuICAgICAgaWYobGlzdFswXS5pbWchPW51bGwpe1xcbiAgICAgdmFyIGltZz1saXN0WzBdLmltZy5zcGxpdCgnJicpO1xcbiAgICB9ZWxzZXtcXG4gICAgdmFyIGltZz1bXTtcXG4gICAgfVxcbmZvciAodmFyIGkgaW4gdGl0bGUpIHtcXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6ICAgKGdldE15VmFyKCdjb2xvcicrbiwgJzAnKSA9PSBpKSA/IHN0cm9uZyh0aXRsZVtpXSwgJ0ZGNjY5OScpIDogdGl0bGVbaV0sXFxuICAgICAgICAgICAgaW1nOmltZ1tpXSxcXG4gICAgICAgICAgICB1cmw6ICQoa2V5W2ldKS5sYXp5UnVsZSgoaSxuLHRpdGxlLGtleSkgPT4ge1xcbiAgICAgICAgICAgICAgIHB1dE15VmFyKG4sIGlucHV0KTtcXG4gICAgICAgICAgICAgICBwdXRNeVZhcignY29sb3InK24sIGkpO1xcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknO1xcbiAgICAgICAgICAgIH0sIGksIG4sdGl0bGVbaV0sa2V5W2ldKSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogY29sXFxuICAgICAgICB9KTtcXG4gICAgfVxcbiAgICBkLnB1c2goe1xcbiAgICAgICAgY29sX3R5cGU6ICdibGFua19ibG9jaycsXFxuICAgIH0pO1xcbiAgICByZXR1cm4gZDtcXG59XFxuJC5leHBvcnRzLkNhdGVnb3J5ID0gQ2F0ZWdvcnk7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8yXCIsXCJuYW1lXCI6XCLmkJzntKJcIixcInBhdGhcIjpcInNlYWNoXCIsXCJydWxlXCI6XCJqczogXFxudmFyIGQgPSBbXTtcXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2FlcycpKS5ydWxlKTtcXG52YXIgYzY9IFt7dGl0bGU6ICfnn63op4bpopEm6ZW/6KeG6aKRJuW4luWtkCbliqjmvKsnLGtleTogJzEmNyYzJjEzJ31dO1xcbmlmIChNWV9QQUdFID09IDEpIHtcXG4gICAgJC5yZXF1aXJlKFxcXCJDYXRlZ29yeVxcXCIpLkNhdGVnb3J5KGM2LCdjNicsJ3Njcm9sbF9idXR0b24nLGQpO1xcbn1cXG5sZXQga3k9TVlfVVJMLnNwbGl0KCc9JylbMl07XFxubGV0IHBnPU1ZX1VSTC5zcGxpdCgnPScpWzFdLnJlcGxhY2UoJyZrdycsJycpO1xcbnZhciB0ID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7IC8vbG9nKHQpXFxuaWYoZ2V0TXlWYXIoJ2M2JywgJzEnKT09Myl7XFxudmFyIGRhdGEwPSd7XFxcImFwcF90eXBlXFxcIjpcXFwibG9jYWxcXFwiLFxcXCJhcHBfc3RhdHVzXFxcIjpcXFwiRUQwQUUyQjcyMEEyMDYwOEU0OTdEM0UzNkU4ODAyOTMzN0MxQzg2MzoxXFxcIixcXFwib2F1dGhfdHlwZVxcXCI6XFxcImFuZHJvaWRcXFwiLFxcXCJvYXV0aF9pZFxcXCI6XFxcImM4YTNkZTYxZTQ1ZWRkNDBjZGQxZTFlMjgyMGU5NDJlXFxcIixcXFwidmVyc2lvblxcXCI6XFxcIjYuNS4wXFxcIixcXFwiYXBpVjJcXFwiOlxcXCJ2MlxcXCIsXFxcImFwcF9mcm9tXFxcIjpcXFwiOTFsaXRlXFxcIixcXFwidG9rZW5cXFwiOlxcXCJcXFwiLFxcXCJjb2RlXFxcIjpcXFwic2VhcmNoXFxcIixcXFwidHlwZVxcXCI6XFxcIjNcXFwiLFxcXCJrZXlcXFwiOlxcXCInK2t5KydcXFwiLFxcXCJtb2RcXFwiOlxcXCJpbmRleFxcXCIsXFxcInBhZ2VcXFwiOlxcXCInK3BnKydcXFwifSc7XFxuLy92YXIgdXJsID0gJ2h0dHBzOi8vYXBpMS5kc3BhcGkyLmNvbS9hcGkucGhwJztcXG4vL2xvZyh1cmwpXFxubGV0IGh0bWwyID0gcG9zdChnZXRNeVZhcignaG9zdCcpLGRhdGEwKTsgXFxudHJ5e1xcbmxldCBkYXRhPSBKU09OLnBhcnNlKGh0bWwyKS5kYXRhO1xcbmRhdGEuZm9yRWFjaChkYXRhID0+IHtcXG4gICAgIGlmKCFkYXRhLm5pY2tuYW1lLmluY2x1ZGVzKCc5MeWumOaWuScpKXtcXG4gICAgIC8v6KeG6aKR5ZKM5Zu+54mHXFxuICAgICAgdmFyIG1lZGlhcz1kYXRhLm1lZGlhcztcXG4gICAgICBkLnB1c2goe1xcclxcbiAgICAgICAgICAgICAgICB0aXRsZTogZGF0YS5uaWNrbmFtZSxcXG4gICAgICAgICAgICAgICAgaW1nOiBkYXRhLnRodW1iK2xhenksXFxuICAgICAgICAgICAgICAgIGRlc2M6ZGF0YS5jcmVhdGVkX2F0LFxcclxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcImF2YXRhclxcXCIsXFxuICAgICAgICAgICAgICAgIHVybCA6ICdoaWtlcjovL2VtcHR5IyNmeXBhZ2UjIycrZGF0YS51dWlkKydAcnVsZT1qczokLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9kZXRhaWwzXFxcIiknLFxcbiAgICAgICB9LHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6IGRhdGEudGl0bGUsXFxuICAgICAgICAgICAgICAgIGRlc2M6ZGF0YS5jb250ZW50LFxcbiAgICAgICAgICAgICAgICB1cmw6ICAgICdoaWtlcjovL2VtcHR5IyMnK2RhdGEuaWQrJ0BydWxlPWpzOiQucmVxdWlyZShcXFwiaGlrZXI6Ly9wYWdlL2RldGFpbDRcXFwiKScsXFxyXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8xJyxcXG4gICAgICAgICAgICAgICAgZXh0cmE6IHtsaW5lVmlzaWJsZTogZmFsc2V9XFxuICAgICAgIH0pO1xcbiAgICAgICBtZWRpYXMuZm9yRWFjaChkYXRhID0+IHtcXG4gICAgICAgaWYoZGF0YS50aHVtYiE9bnVsbCl7XFxuICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6ICfop4bpopHilrbvuI8nLFxcbiAgICAgICAgICAgIGltZzpkYXRhLnRodW1iK2xhenksXFxuICAgICAgICAgICAgdXJsOiBkYXRhLm1lZGlhX3VybC5yZXBsYWNlKC9cXFxcL1xcXFwvLipwbGF5XFxcXC4vLCcvL2xvbmcuJyksXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdtb3ZpZV8zJyxcXG4gICAgICAgIH0pO1xcbiAgICAgICB9ZWxzZXtcXG4gICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgaW1nOiBkYXRhLm1lZGlhX3VybCtsYXp5LFxcclxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcInBpY18zX2NhcmRcXFwiLFxcbiAgICAgICAgICAgICAgICB1cmwgOiBkYXRhLm1lZGlhX3VybCxcXG4gICAgICAgfSlcXG4gICAgICAgfVxcbiAgICAgIH0pXFxuICAgICAgfVxcbn0pXFxuXFxufWNhdGNoe31cXG59ZWxzZSBpZihnZXRNeVZhcignYzYnLCAnMScpPT0xMyl7XFxudmFyIGRhdGEwPSd7XFxcImFwcF90eXBlXFxcIjpcXFwibG9jYWxcXFwiLFxcXCJtb2RcXFwiOlxcXCJpbmRleFxcXCIsXFxcImNvZGVcXFwiOlxcXCJzZWFyY2hfdjFcXFwiLFxcXCJvYXV0aF90eXBlXFxcIjpcXFwiYW5kcm9pZFxcXCIsXFxcInR5cGVcXFwiOlxcXCIxM1xcXCIsXFxcInZlcnNpb25cXFwiOlxcXCI2LjUuMFxcXCIsXFxcInRva2VuXFxcIjpcXFwiXFxcIixcXFwiYXBwX3N0YXR1c1xcXCI6XFxcIkVEMEFFMkI3MjBBMjA2MDhFNDk3RDNFMzZFODgwMjkzMzdDMUM4NjM6MVxcXCIsXFxcIm9hdXRoX2lkXFxcIjpcXFwiYzhhM2RlNjFlNDVlZGQ0MGNkZDFlMWUyODIwZTk0MmVcXFwiLFxcXCJwYWdlXFxcIjpcXFwiJytwZysnXFxcIixcXFwiYXBpVjJcXFwiOlxcXCJ2MlxcXCIsXFxcImFwcF9mcm9tXFxcIjpcXFwiOTFsaXRlXFxcIixcXFwia2V5XFxcIjpcXFwiJytreSsnXFxcIn0nO1xcbmxldCBodG1sMiA9IHBvc3QoZ2V0TXlWYXIoJ2hvc3QnKSxkYXRhMCk7XFxudHJ5e1xcbmxldCBsaXN0PSBKU09OLnBhcnNlKGh0bWwyKS5kYXRhO1xcbmxpc3QuZm9yRWFjaChkYXRhID0+IHtcXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IGRhdGEudGl0bGUsXFxuICAgICAgICAgICAgZGVzYzogJ/CflKUnK2RhdGEudmlld19jdCsnICAgICAnKyBwYXJzZUludChkYXRhLmR1cmF0aW9uLzYwKSsnOicrcGFyc2VJbnQoZGF0YS5kdXJhdGlvbiU2MCkrJyAgICcrZGF0YS50YWcsXFxuICAgICAgICAgICAgaW1nOiBkYXRhLmNvdmVyK2xhenksXFxuICAgICAgICAgICAgdXJsOiBkYXRhLmlkK3ZvZCxcXG4gICAgICAgIH0pXFxuIH0pXFxufWNhdGNoe31cXG5cXG59ZWxzZXtcXG5pZihnZXRNeVZhcignYzYnLCAnMScpPT0xKXtcXG52YXIgZGF0YTA9J3tcXFwiYXBwX3R5cGVcXFwiOlxcXCJsb2NhbFxcXCIsXFxcImFwcF9zdGF0dXNcXFwiOlxcXCJFRDBBRTJCNzIwQTIwNjA4RTQ5N0QzRTM2RTg4MDI5MzM3QzFDODYzOjFcXFwiLFxcXCJvYXV0aF90eXBlXFxcIjpcXFwiYW5kcm9pZFxcXCIsXFxcIm9hdXRoX2lkXFxcIjpcXFwiYzhhM2RlNjFlNDVlZGQ0MGNkZDFlMWUyODIwZTk0MmVcXFwiLFxcXCJ2ZXJzaW9uXFxcIjpcXFwiNi41LjBcXFwiLFxcXCJhcGlWMlxcXCI6XFxcInYyXFxcIixcXFwiYXBwX2Zyb21cXFwiOlxcXCI5MWxpdGVcXFwiLFxcXCJ0b2tlblxcXCI6XFxcIlxcXCIsXFxcImNvZGVcXFwiOlxcXCJzZWFyY2hcXFwiLFxcXCJ0eXBlXFxcIjpcXFwiMVxcXCIsXFxcImtleVxcXCI6XFxcIicra3krJ1xcXCIsXFxcIm1vZFxcXCI6XFxcImluZGV4XFxcIixcXFwicGFnZVxcXCI6XFxcIicrcGcrJ1xcXCJ9JztcXG59ZWxzZXtcXG52YXIgZGF0YTA9J3tcXFwiYXBwX3R5cGVcXFwiOlxcXCJsb2NhbFxcXCIsXFxcImFwcF9zdGF0dXNcXFwiOlxcXCJFRDBBRTJCNzIwQTIwNjA4RTQ5N0QzRTM2RTg4MDI5MzM3QzFDODYzOjFcXFwiLFxcXCJvYXV0aF90eXBlXFxcIjpcXFwiYW5kcm9pZFxcXCIsXFxcIm9hdXRoX2lkXFxcIjpcXFwiYzhhM2RlNjFlNDVlZGQ0MGNkZDFlMWUyODIwZTk0MmVcXFwiLFxcXCJ2ZXJzaW9uXFxcIjpcXFwiNi41LjBcXFwiLFxcXCJhcGlWMlxcXCI6XFxcInYyXFxcIixcXFwiYXBwX2Zyb21cXFwiOlxcXCI5MWxpdGVcXFwiLFxcXCJ0b2tlblxcXCI6XFxcIlxcXCIsXFxcImNvZGVcXFwiOlxcXCJzZWFyY2hfdjFcXFwiLFxcXCJ0eXBlXFxcIjpcXFwiJytnZXRNeVZhcignYzYnLCAnMScpKydcXFwiLFxcXCJrZXlcXFwiOlxcXCInK2t5KydcXFwiLFxcXCJtb2RcXFwiOlxcXCJpbmRleFxcXCIsXFxcInBhZ2VcXFwiOlxcXCInK3BnKydcXFwifSc7XFxufVxcbi8vdmFyIHVybCA9ICdodHRwczovL2FwaTEuZHNwYXBpMi5jb20vYXBpLnBocCc7XFxuLy9sb2codXJsKVxcbmxldCBodG1sMiA9IHBvc3QoZ2V0TXlWYXIoJ2hvc3QnKSxkYXRhMCk7IFxcbnRyeXtcXG5sZXQgbGlzdD0gSlNPTi5wYXJzZShodG1sMikuZGF0YTtcXG5saXN0LmZvckVhY2goZGF0YSA9PiB7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBkYXRhLnRpdGxlLFxcbiAgICAgICAgICAgIGRlc2M6IGRhdGEuY3JlYXRlZF9hdCsnXFxcXHRcXFxcdFxcXFx0XFxcXHQnK2RhdGEuZHVyYXRpb25TdHIrJyAgJytkYXRhLnRhZ3MsXFxuICAgICAgICAgICAgaW1nOiBkYXRhLnRodW1iSW1nK2xhenksXFxuICAgICAgICAgICAgdXJsOiBkYXRhLnBsYXlVcmwucmVwbGFjZSgvXFxcXC9cXFxcLy4qcGxheVxcXFwuLywnLy9sb25nLicpLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwibW92aWVfMlxcXCIsXFxuICAgICAgICB9KVxcbiB9KVxcbn1jYXRjaHt9XFxufVxcbnNldFJlc3VsdChkKVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfMlwiLFwibmFtZVwiOlwi6aaW6aG16KeG6aKR5LqM57qnXCIsXCJwYXRoXCI6XCJlcmppXCIsXCJydWxlXCI6XCJqczpcXG52YXIgZD1bXTtcXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2FlcycpKS5ydWxlKTtcXG52YXIgdCA9IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApOyAvL2xvZyh0KVxcbnZhciB0MD1NYXRoLmZsb29yKERhdGUubm93KCkpO1xcbnZhciBpZD1NWV9VUkwuc3BsaXQoJyMjJylbMl07XFxudmFyIHBnPU1ZX1VSTC5zcGxpdCgnIyMnKVsxXTtcXG52YXIgYzM9IFt7dGl0bGU6ICfmnIDmlrAm5pyA54OtJyxrZXk6ICduZXcmaG90J31dO1xcbmlmIChNWV9QQUdFID09IDEpIHtcXG4gICAgJC5yZXF1aXJlKFxcXCJDYXRlZ29yeVxcXCIpLkNhdGVnb3J5KGMzLCdjMycsJ3Njcm9sbF9idXR0b24nLGQpO1xcbn1cXG52YXIgZGF0YTA9J3tcXFwiYXBwX3R5cGVcXFwiOlxcXCJsb2NhbFxcXCIsXFxcImFwcF9zdGF0dXNcXFwiOlxcXCJFRDBBRTJCNzIwQTIwNjA4RTQ5N0QzRTM2RTg4MDI5MzM3QzFDODYzOjFcXFwiLFxcXCJvYXV0aF90eXBlXFxcIjpcXFwiYW5kcm9pZFxcXCIsXFxcIm9hdXRoX2lkXFxcIjpcXFwiYzhhM2RlNjFlNDVlZGQ0MGNkZDFlMWUyODIwZTk0MmVcXFwiLFxcXCJ2ZXJzaW9uXFxcIjpcXFwiNi41LjBcXFwiLFxcXCJhcGlWMlxcXCI6XFxcInYyXFxcIixcXFwiYXBwX2Zyb21cXFwiOlxcXCI5MWxpdGVcXFwiLFxcXCJ0b2tlblxcXCI6XFxcIlxcXCIsXFxcImNvZGVcXFwiOlxcXCJnZXRFbGVtZW50SXRlbWJ5SWRcXFwiLFxcXCJpZFxcXCI6XFxcIicraWQrJ1xcXCIsXFxcIm1vZFxcXCI6XFxcImVsZW1lbnRcXFwiLFxcXCJwYWdlXFxcIjpcXFwiJytwZysnXFxcIixcXFwidHlwZVxcXCI6XFxcIicrZ2V0TXlWYXIoJ2MzJywgJ25ldycpKydcXFwifSc7XFxuLy92YXIgdXJsID0gJ2h0dHBzOi8vYXBpMS5kc3BhcGkyLmNvbS9hcGkucGhwJztcXG4vL2xvZyh1cmwpXFxubGV0IGh0bWwyID0gcG9zdChnZXRNeVZhcignaG9zdCcpLGRhdGEwKTsgXFxudHJ5e1xcbmxldCBsaXN0PSBKU09OLnBhcnNlKGh0bWwyKS5kYXRhLmxpc3Q7XFxubGlzdC5mb3JFYWNoKGRhdGEgPT4ge1xcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogZGF0YS50aXRsZSxcXG4gICAgICAgICAgICBkZXNjOiBkYXRhLmNyZWF0ZWRfYXQrJ1xcXFx0XFxcXHRcXFxcdFxcXFx0JytkYXRhLmR1cmF0aW9uU3RyKycgICcrZGF0YS50YWdzLFxcbiAgICAgICAgICAgIGltZzogZGF0YS50aHVtYkltZytsYXp5LFxcbiAgICAgICAgICAgIHVybDogZGF0YS5wbGF5VXJsLnJlcGxhY2UoL1xcXFwvXFxcXC8uKnBsYXlcXFxcLi8sJy8vbG9uZy4nKVxcbiAgICAgICAgfSlcXG4gfSlcXG59Y2F0Y2h7fVxcbnNldFJlc3VsdChkKVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi6aaW6aG16KeG6aKRXCIsXCJwYXRoXCI6XCJ2aWRlb1wiLFwicnVsZVwiOlwianM6XFxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9hZXMnKSkucnVsZSk7XFxudmFyIGMyPSBbe3RpdGxlOiAn5o6o6I2QJuWOn+WImybnn63op4bpopEm54Ot54K5JuacgOaWsCbkubEg5LymJum7keaWmSboh6rliLYm572R6buEJuS8oOWqkiblgbcg5ouNJuS4u+mimCbliqjmvKsm5pel5pysJuWQjOWfjibmrKfnvo4m5Li75pKtJue7vOiJuibmmpfnvZEnLGtleTogJzEmMiY2NiY2JjQmMTMmNyYxMCYxMSYzJjE1JjE2JjIyJjkmNSYyMSYyNyYyMyYyNSd9XTtcXG5pZiAoTVlfUEFHRSA9PSAxKSB7XFxuICAgICQucmVxdWlyZShcXFwiQ2F0ZWdvcnlcXFwiKS5DYXRlZ29yeShjMiwnYzInLCdzY3JvbGxfYnV0dG9uJyxkKTtcXG59XFxuaWYoZ2V0TXlWYXIoJ2MyJywgJzEnKT09NjYpe1xcbiQucmVxdWlyZShcXFwibWluaVxcXCIpXFxufWVsc2V7XFxudmFyIGRhdGEwID0gJ3tcXFwiYXBwX3R5cGVcXFwiOlxcXCJsb2NhbFxcXCIsXFxcImFwcF9zdGF0dXNcXFwiOlxcXCJFRDBBRTJCNzIwQTIwNjA4RTQ5N0QzRTM2RTg4MDI5MzM3QzFDODYzOjFcXFwiLFxcXCJvYXV0aF90eXBlXFxcIjpcXFwiYW5kcm9pZFxcXCIsXFxcIm9hdXRoX2lkXFxcIjpcXFwiYzhhM2RlNjFlNDVlZGQ0MGNkZDFlMWUyODIwZTk0MmVcXFwiLFxcXCJ2ZXJzaW9uXFxcIjpcXFwiNi41LjBcXFwiLFxcXCJhcGlWMlxcXCI6XFxcInYyXFxcIixcXFwiYXBwX2Zyb21cXFwiOlxcXCI5MWxpdGVcXFwiLFxcXCJ0b2tlblxcXCI6XFxcIlxcXCIsXFxcImNvZGVcXFwiOlxcXCJnZXRDb25zdHJ1Y3RCeUlkXFxcIixcXFwiaWRcXFwiOlxcXCInK2dldE15VmFyKCdjMicsICcxJykrJ1xcXCIsXFxcIm1vZFxcXCI6XFxcImVsZW1lbnRcXFwiLFxcXCJwYWdlXFxcIjpcXFwiJytwZysnXFxcIn0nO1xcbi8vdmFyIHVybCA9ICdodHRwczovL2FwaTEuZHNwYXBpMi5jb20vYXBpLnBocCc7XFxuLy9sb2codXJsKVxcbmxldCBodG1sMiA9IHBvc3QoZ2V0TXlWYXIoJ2hvc3QnKSxkYXRhMCk7XFxuaWYoZ2V0TXlWYXIoJ2MyJywgJzEnKT09NCl7XFxudHJ5e1xcbmxldCBkYXRhPSBKU09OLnBhcnNlKGh0bWwyKS5kYXRhO1xcbmRhdGEuZm9yRWFjaChkYXRhID0+IHtcXG5pZigoZGF0YS5jb250ZW50X3R5cGUhPTExKSYoZGF0YS5jb250ZW50X3R5cGUhPTE4KSYoZGF0YS5jb250ZW50X3R5cGUhPTIxKSYoZGF0YS5jb250ZW50X3R5cGUhPTIwKSYoIWRhdGEudGl0bGUuaW5jbHVkZXMoJ2Jhbm5lcicpKSl7XFxudmFyIGxpc3Q9ZGF0YS5saXN0O1xcbi8vbG9nKGxpc3QpO1xcbmxpc3QuZm9yRWFjaChkYXRhID0+IHtcXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IGRhdGEudGl0bGUsXFxuICAgICAgICAgICAgZGVzYzogZGF0YS5jcmVhdGVkX2F0KydcXFxcdFxcXFx0XFxcXHRcXFxcdCcrZGF0YS5kdXJhdGlvblN0cisnICAnK2RhdGEudGFncyxcXG4gICAgICAgICAgICBpbWc6IGRhdGEudGh1bWJJbWcrbGF6eSxcXG4gICAgICAgICAgICB1cmw6IGRhdGEucGxheVVybC5yZXBsYWNlKC9cXFxcL1xcXFwvLipwbGF5XFxcXC4vLCcvL2xvbmcuJylcXG4gICAgICAgIH0pXFxuIH0pXFxufVxcbn0pXFxufWNhdGNoe31cXG59ZWxzZXtcXG50cnl7XFxubGV0IGRhdGE9IEpTT04ucGFyc2UoaHRtbDIpLmRhdGE7XFxuZGF0YS5mb3JFYWNoKGRhdGEgPT4ge1xcbmlmKChkYXRhLmNvbnRlbnRfdHlwZSE9MTEpJihkYXRhLmNvbnRlbnRfdHlwZSE9MTgpJihkYXRhLmNvbnRlbnRfdHlwZSE9MjEpJihkYXRhLmNvbnRlbnRfdHlwZSE9MjApJihkYXRhLmNvbnRlbnRfdHlwZSE9OCkmKCFkYXRhLnRpdGxlLmluY2x1ZGVzKCdiYW5uZXInKSkpe1xcbiAgICAgICBkLnB1c2goe1xcclxcbiAgICAgICAgICAgICAgICB0aXRsZTogY29sb3IoZGF0YS50aXRsZSksXFxyXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFwidGV4dF9pY29uXFxcIixcXG4gICAgICAgICAgICAgICAgaW1nOidoaWtlcjovL2ltYWdlcy9pY29uX3JpZ2h0NScsXFxuICAgICAgICAgICAgICAgIHVybCA6ICAnaGlrZXI6Ly9lbXB0eSMjZnlwYWdlIyMnK2RhdGEuaWQrJ0BydWxlPWpzOiQucmVxdWlyZShcXFwiaGlrZXI6Ly9wYWdlL2VyamlcXFwiKScsXFxufSlcXG52YXIgbGlzdD1kYXRhLmxpc3Q7XFxubGlzdC5mb3JFYWNoKGRhdGEgPT4ge1xcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogZGF0YS50aXRsZSxcXG4gICAgICAgICAgICBkZXNjOiBkYXRhLmNyZWF0ZWRfYXQrJ1xcXFx0XFxcXHRcXFxcdFxcXFx0JytkYXRhLmR1cmF0aW9uU3RyKycgICcrZGF0YS50YWdzLFxcbiAgICAgICAgICAgIGltZzogZGF0YS50aHVtYkltZytsYXp5LFxcbiAgICAgICAgICAgIHVybDogZGF0YS5wbGF5VXJsLnJlcGxhY2UoL1xcXFwvXFxcXC8uKnBsYXlcXFxcLi8sJy8vbG9uZy4nKSxcXG4gICAgICAgIH0pXFxuIH0pXFxufVxcbn0pXFxufWNhdGNoe31cXG59XFxufVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi6aaW6aG1XCIsXCJwYXRoXCI6XCJob21lXCIsXCJydWxlXCI6XCJqczpcXG5pZiAoTVlfUEFHRSA9PSAxKSB7XFxuICAgIGQucHVzaCh7wqDCoMKgXFxuICAgICAgICB0aXRsZTogXFxcIuaQnOe0olxcXCIsXFxuICAgICAgICB1cmw6ICQudG9TdHJpbmcoKCkgPT4ge1xcbiAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL3BhZ2Uvc2VhY2g/cGFnZT1meXBhZ2Uma3c9XFxcIiArIGlucHV0XFxuICAgIH0pLFxcbiAgICAgICAgwqDCoMKgZGVzYzogXFxcIuivt+i+k+WFpeaQnOe0ouWFs+mUruivjVxcXCIsXFxuICAgICAgICDCoMKgwqBjb2xfdHlwZTogXFxcImlucHV0XFxcIixcXG4gICAgfSlcXG59O1xcblxcbnZhciBwZz0gTVlfVVJMLnJlcGxhY2UoJ2hpa2VyOi8vZW1wdHkjIycsICcnKTtcXG52YXIgdCA9IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApOyAvL2xvZyh0KVxcbnZhciB0MD1NYXRoLmZsb29yKERhdGUubm93KCkpO1xcbnZhciBjMT0gW3t0aXRsZTogJ+WPkeeOsCbljp/liJsm56S+5Yy6JueDreeCuSbliqjmvKsnLGtleTogJzEmMiYzJjQmNScsaW1nOidodHRwczovL2docHJveHkubmV0L2h0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9sczEyNTc4MTAwMy90dWJpYW8vbWFpbi9tb3ZpZS8xMTEuc3ZnJmh0dHBzOi8vZ2hwcm94eS5uZXQvaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2xzMTI1NzgxMDAzL3R1Ymlhby9tYWluL21vdmllLzExMi5zdmcmaHR0cHM6Ly9naHByb3h5Lm5ldC9odHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbHMxMjU3ODEwMDMvdHViaWFvL21haW4vbW92aWUvMTEzLnN2ZyZodHRwczovL2docHJveHkubmV0L2h0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9sczEyNTc4MTAwMy90dWJpYW8vbWFpbi9tb3ZpZS8xMTQuc3ZnJmh0dHBzOi8vZ2hwcm94eS5uZXQvaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2xzMTI1NzgxMDAzL3R1Ymlhby9tYWluL21vdmllLzEyMi5zdmcnfV07XFxuaWYgKE1ZX1BBR0UgPT0gMSkge1xcbiAgICAkLnJlcXVpcmUoXFxcIkNhdGVnb3J5XFxcIikuQ2F0ZWdvcnkoYzEsJ2MxJywnaWNvbl81JyxkKTtcXG5kLnB1c2goe1xcbiAgICBjb2xfdHlwZTogJ2xpbmUnLFxcbn0se1xcbiAgICBjb2xfdHlwZTogJ2JpZ19ibGFua19ibG9jaycsXFxufVxcbix7XFxuICAgIGNvbF90eXBlOiAnYmlnX2JsYW5rX2Jsb2NrJyxcXG59KTtcXG59XFxudmFyIOWIhuexuz1nZXRNeVZhcignYzEnLCAnMScpO1xcbmlmKOWIhuexuz09MSl7XFxuJC5yZXF1aXJlKFxcXCJ2aWRlb1xcXCIpXFxufWVsc2UgaWYo5YiG57G7PT0yKXtcXG4kLnJlcXVpcmUoXFxcIm9yZ1xcXCIpXFxufWVsc2UgaWYo5YiG57G7PT0zKXtcXG4kLnJlcXVpcmUoXFxcIm5ld3NcXFwiKVxcbn1lbHNlIGlmKOWIhuexuz09NCl7XFxuJC5yZXF1aXJlKFxcXCJob3RcXFwiKVxcbn1lbHNlIGlmKOWIhuexuz09NSl7XFxuJC5yZXF1aXJlKFxcXCJjYXJ0b29uXFxcIilcXG59XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLng63ngrlcIixcInBhdGhcIjpcImhvdFwiLFwicnVsZVwiOlwianM6XFxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9hZXMnKSkucnVsZSk7XFxudmFyIOeDreeCuT0gW3t0aXRsZTogJ+eDreeCuSZ1cCcsa2V5OiAnMSYyJ31dO1xcbmlmIChNWV9QQUdFID09IDEpIHtcXG4gICAgJC5yZXF1aXJlKFxcXCJDYXRlZ29yeVxcXCIpLkNhdGVnb3J5KOeDreeCuSwn54Ot54K5Jywnc2Nyb2xsX2J1dHRvbicsZCk7XFxufVxcbmlmKGdldE15VmFyKCfng63ngrknLCcxJyk9PTEpe1xcbnZhciBkYXRhMCA9ICd7XFxcImFwcF90eXBlXFxcIjpcXFwibG9jYWxcXFwiLFxcXCJhcHBfc3RhdHVzXFxcIjpcXFwiRUQwQUUyQjcyMEEyMDYwOEU0OTdEM0UzNkU4ODAyOTMzN0MxQzg2MzoxXFxcIixcXFwib2F1dGhfdHlwZVxcXCI6XFxcImFuZHJvaWRcXFwiLFxcXCJvYXV0aF9pZFxcXCI6XFxcImM4YTNkZTYxZTQ1ZWRkNDBjZGQxZTFlMjgyMGU5NDJlXFxcIixcXFwidmVyc2lvblxcXCI6XFxcIjYuNS4wXFxcIixcXFwiYXBpVjJcXFwiOlxcXCJ2MlxcXCIsXFxcImFwcF9mcm9tXFxcIjpcXFwiOTFsaXRlXFxcIixcXFwidG9rZW5cXFwiOlxcXCJcXFwiLFxcXCJjb2RlXFxcIjpcXFwiaW5kZXhcXFwiLFxcXCJtb2RcXFwiOlxcXCJob3RcXFwiLFxcXCJ1dWlkXFxcIjpcXFwiNjU0NzExYTU3MDIwNjc2NjlhODNhNmNmMmIxZmRhZjlcXFwifSc7XFxuLy92YXIgdXJsID0gJ2h0dHBzOi8vYXBpMS5kc3BhcGkyLmNvbS9hcGkucGhwJztcXG4vL2xvZyh1cmwpXFxubGV0IGh0bWwyID0gcG9zdChnZXRNeVZhcignaG9zdCcpLGRhdGEwKTsgXFxudHJ5e1xcbmxldCBob3Q9IEpTT04ucGFyc2UoaHRtbDIpLmRhdGEuaG90O1xcbmxldCBsaXN0PSBKU09OLnBhcnNlKGh0bWwyKS5kYXRhLmZpbmQ7XFxuLy9sb2cobGlzdClcXG5ob3QuZm9yRWFjaChkYXRhID0+IHtcXG4gICAgICAgZC5wdXNoKHtcXHJcXG4gICAgICAgICAgICAgICAgdGl0bGU6IGRhdGEubmFtZSxcXG4gICAgICAgICAgICAgICAgaW1nOiBkYXRhLmltZ191cmwrbGF6eSxcXHJcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJtb3ZpZV8zXFxcIixcXG4gICAgICAgICAgICAgICAgdXJsIDogICdoaWtlcjovL2VtcHR5IyNmeXBhZ2UjIycrZGF0YS50eXBlKydAcnVsZT1qczokLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9lcmppMjJcXFwiKScsXFxufSlcXG59KVxcbmxpc3QuZm9yRWFjaChkYXRhID0+IHtcXG4gICAgICAgZC5wdXNoKHtcXHJcXG4gICAgICAgICAgICAgICAgdGl0bGU6IGRhdGEubmFtZSxcXG4gICAgICAgICAgICAgICAgaW1nOiBkYXRhLmltZ191cmwrbGF6eSxcXHJcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJtb3ZpZV8zXFxcIixcXG4gICAgICAgICAgICAgICAgdXJsIDogICdoaWtlcjovL2VtcHR5IyNmeXBhZ2UjIycrZGF0YS5uYW1lKydAcnVsZT1qczokLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9lcmppMlxcXCIpJyxcXG59KVxcbn0pXFxufWNhdGNoe31cXG59ZWxzZXtcXG4kLnJlcXVpcmUoXFxcInVwXFxcIilcXG59XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8yXCIsXCJuYW1lXCI6XCLor6bmg4VcIixcInBhdGhcIjpcImRldGFpbFwiLFwicnVsZVwiOlwianM6XFxudmFyIGQ9W107XFxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9hZXMnKSkucnVsZSk7XFxudmFyIHQgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTsgLy9sb2codClcXG52YXIgdDA9TWF0aC5mbG9vcihEYXRlLm5vdygpKTtcXG52YXIgaWQ9TVlfVVJMLnNwbGl0KCcjIycpWzJdO1xcbnZhciBwZz1NWV9VUkwuc3BsaXQoJyMjJylbMV07XFxudmFyIGRhdGEwPSd7XFxcImFwcF90eXBlXFxcIjpcXFwibG9jYWxcXFwiLFxcXCJhcHBfc3RhdHVzXFxcIjpcXFwiRUQwQUUyQjcyMEEyMDYwOEU0OTdEM0UzNkU4ODAyOTMzN0MxQzg2MzoxXFxcIixcXFwib2F1dGhfdHlwZVxcXCI6XFxcImFuZHJvaWRcXFwiLFxcXCJvYXV0aF9pZFxcXCI6XFxcImM4YTNkZTYxZTQ1ZWRkNDBjZGQxZTFlMjgyMGU5NDJlXFxcIixcXFwidmVyc2lvblxcXCI6XFxcIjYuNS4wXFxcIixcXFwiYXBpVjJcXFwiOlxcXCJ2MlxcXCIsXFxcImFwcF9mcm9tXFxcIjpcXFwiOTFsaXRlXFxcIixcXFwidG9rZW5cXFwiOlxcXCJcXFwiLFxcXCJjb2RlXFxcIjpcXFwiZGV0YWlsXFxcIixcXFwiaWRcXFwiOlxcXCInK2lkKydcXFwiLFxcXCJtb2RcXFwiOlxcXCJjb2xsZWN0aW9uXFxcIixcXFwicGFnZVxcXCI6XFxcIicrcGcrJ1xcXCJ9JztcXG4vL3ZhciB1cmwgPSAnaHR0cHM6Ly9hcGkxLmRzcGFwaTIuY29tL2FwaS5waHAnO1xcbi8vbG9nKHVybClcXG5sZXQgaHRtbDIgPSBwb3N0KGdldE15VmFyKCdob3N0JyksZGF0YTApOyBcXG50cnl7XFxubGV0IGxpc3Q9IEpTT04ucGFyc2UoaHRtbDIpLmRhdGEubGlzdDtcXG5saXN0LmZvckVhY2goZGF0YSA9PiB7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBkYXRhLnRpdGxlLFxcbiAgICAgICAgICAgIGRlc2M6IGRhdGEuY3JlYXRlZF9hdCsnXFxcXHRcXFxcdFxcXFx0XFxcXHQnK2RhdGEuZHVyYXRpb25TdHIrJyAgJytkYXRhLnRhZ3MsXFxuICAgICAgICAgICAgaW1nOiBkYXRhLnRodW1iSW1nK2xhenksXFxuICAgICAgICAgICAgdXJsOiBkYXRhLnBsYXlVcmwucmVwbGFjZSgvXFxcXC9cXFxcLy4qcGxheVxcXFwuLywnLy9sb25nLicpLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwibW92aWVfM1xcXCIsXFxuICAgICAgICB9KVxcbiB9KVxcbn1jYXRjaHt9XFxuc2V0UmVzdWx0KGQpXCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8yXCIsXCJuYW1lXCI6XCLnn63op4bpopFcIixcInBhdGhcIjpcIm1pbmlcIixcInJ1bGVcIjpcImpzOlxcbmV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvYWVzJykpLnJ1bGUpO1xcbnZhciBkYXRhMD0ne1xcXCJhcHBfdHlwZVxcXCI6XFxcImxvY2FsXFxcIixcXFwiYXBwX3N0YXR1c1xcXCI6XFxcIkVEMEFFMkI3MjBBMjA2MDhFNDk3RDNFMzZFODgwMjkzMzdDMUM4NjM6MVxcXCIsXFxcIm9hdXRoX3R5cGVcXFwiOlxcXCJhbmRyb2lkXFxcIixcXFwib2F1dGhfaWRcXFwiOlxcXCJjOGEzZGU2MWU0NWVkZDQwY2RkMWUxZTI4MjBlOTQyZVxcXCIsXFxcInZlcnNpb25cXFwiOlxcXCI2LjUuMFxcXCIsXFxcImFwaVYyXFxcIjpcXFwidjJcXFwiLFxcXCJhcHBfZnJvbVxcXCI6XFxcIjkxbGl0ZVxcXCIsXFxcInRva2VuXFxcIjpcXFwiXFxcIixcXFwiY29kZVxcXCI6XFxcImhvbWVcXFwiLFxcXCJtb2RcXFwiOlxcXCJpbmRleFxcXCIsXFxcInBhZ2VcXFwiOlxcXCInK3BnKydcXFwifSc7XFxuLy92YXIgdXJsID0gJ2h0dHBzOi8vYXBpMS5kc3BhcGkyLmNvbS9hcGkucGhwJztcXG4vL2xvZyh1cmwpXFxubGV0IGh0bWwyID0gcG9zdChnZXRNeVZhcignaG9zdCcpLGRhdGEwKTsgXFxudHJ5e1xcbmxldCBsaXN0PSBKU09OLnBhcnNlKGh0bWwyKS5kYXRhO1xcbmxpc3QuZm9yRWFjaChkYXRhID0+IHtcXG4gICAgIGlmKGRhdGFbJ2lzX2FkcyddPT1mYWxzZSl7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBkYXRhLnRpdGxlLFxcbiAgICAgICAgICAgIGRlc2M6IGRhdGEuY3JlYXRlZF9hdCsnXFxcXHRcXFxcdFxcXFx0XFxcXHQnK2RhdGEuZHVyYXRpb25TdHIrJyAgJytkYXRhLnRhZ3MsXFxuICAgICAgICAgICAgaW1nOiBkYXRhLnRodW1iSW1nK2xhenksXFxuICAgICAgICAgICAgdXJsOiBkYXRhLnBsYXlVcmwucmVwbGFjZSgvXFxcXC9cXFxcLy4qcGxheVxcXFwuLywnLy9sb25nLicpLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwibW92aWVfM1xcXCIsXFxuICAgICAgICB9KVxcbn1cXG4gfSlcXG59Y2F0Y2h7fVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5Y6f5YibXCIsXCJwYXRoXCI6XCJvcmdcIixcInJ1bGVcIjpcImpzOlxcbmV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvYWVzJykpLnJ1bGUpO1xcbnZhciBkYXRhMCA9ICd7XFxcImFwcF90eXBlXFxcIjpcXFwibG9jYWxcXFwiLFxcXCJhcHBfc3RhdHVzXFxcIjpcXFwiRUQwQUUyQjcyMEEyMDYwOEU0OTdEM0UzNkU4ODAyOTMzN0MxQzg2MzoxXFxcIixcXFwib2F1dGhfdHlwZVxcXCI6XFxcImFuZHJvaWRcXFwiLFxcXCJvYXV0aF9pZFxcXCI6XFxcImM4YTNkZTYxZTQ1ZWRkNDBjZGQxZTFlMjgyMGU5NDJlXFxcIixcXFwidmVyc2lvblxcXCI6XFxcIjYuNS4wXFxcIixcXFwiYXBpVjJcXFwiOlxcXCJ2MlxcXCIsXFxcImFwcF9mcm9tXFxcIjpcXFwiOTFsaXRlXFxcIixcXFwidG9rZW5cXFwiOlxcXCJcXFwiLFxcXCJjb2RlXFxcIjpcXFwiY29sbGVjdFJlY29tbWVkXFxcIixcXFwibW9kXFxcIjpcXFwiYXV0aG9yXFxcIixcXFwicGFnZVxcXCI6XFxcIicrcGcrJ1xcXCJ9JztcXG4vL3ZhciB1cmwgPSAnaHR0cHM6Ly9hcGkxLmRzcGFwaTIuY29tL2FwaS5waHAnO1xcbi8vbG9nKHVybClcXG5sZXQgaHRtbDIgPSBwb3N0KGdldE15VmFyKCdob3N0JyksZGF0YTApOyBcXG50cnl7XFxubGV0IGl0ZW09IEpTT04ucGFyc2UoaHRtbDIpLmRhdGEuaXRlbTtcXG4vL2xvZyhpdGVtKVxcbml0ZW0uZm9yRWFjaChkYXRhID0+IHtcXG4gICAgICAgdmFyIHVwPWRhdGEudXNlcjtcXG4gICAgICAgZC5wdXNoKHtcXHJcXG4gICAgICAgICAgICAgICAgdGl0bGU6IHVwLm5pY2tuYW1lLFxcbiAgICAgICAgICAgICAgICBpbWc6IHVwLnRodW1iK2xhenksXFxyXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiYXZhdGFyXFxcIixcXG4gICAgICAgICAgICAgICAgdXJsIDogICdoaWtlcjovL2VtcHR5IyNmeXBhZ2UjIycrZGF0YS5pZCsnQHJ1bGU9anM6JC5yZXF1aXJlKFxcXCJoaWtlcjovL3BhZ2UvZGV0YWlsXFxcIiknLFxcbn0pXFxudmFyIGxpc3Q9ZGF0YS52aWRlb19saXN0cztcXG4vL2xvZyhsaXN0KTtcXG5saXN0LmZvckVhY2goZGF0YSA9PiB7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBkYXRhLnRpdGxlLFxcbiAgICAgICAgICAgIGRlc2M6IGRhdGEuY3JlYXRlZF9hdCsnXFxcXHRcXFxcdFxcXFx0XFxcXHQnK2RhdGEuZHVyYXRpb25TdHIrJyAgJytkYXRhLnRhZ3MsXFxuICAgICAgICAgICAgaW1nOiBkYXRhLnRodW1iSW1nK2xhenksXFxuICAgICAgICAgICAgdXJsOiBkYXRhLnBsYXlVcmwucmVwbGFjZSgvXFxcXC9cXFxcLy4qcGxheVxcXFwuLywnLy9sb25nLicpLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwibW92aWVfM1xcXCIsXFxuICAgICAgICB9KVxcbiB9KVxcbn0pXFxufWNhdGNoe31cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzJcIixcIm5hbWVcIjpcIueDreeCueS6jOe6p1wiLFwicGF0aFwiOlwiZXJqaTJcIixcInJ1bGVcIjpcImpzOlxcbnZhciBkPVtdO1xcbmV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvYWVzJykpLnJ1bGUpO1xcbnZhciB0ID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7IC8vbG9nKHQpXFxudmFyIHQwPU1hdGguZmxvb3IoRGF0ZS5ub3coKSk7XFxudmFyIGlkPU1ZX1VSTC5zcGxpdCgnIyMnKVsyXTtcXG52YXIgcGc9TVlfVVJMLnNwbGl0KCcjIycpWzFdO1xcbnZhciBjND0gW3t0aXRsZTogJ+acgOaWsCbmnIDng60nLGtleTogJ25ldyZob3QnfV07XFxuaWYgKE1ZX1BBR0UgPT0gMSkge1xcbiAgICAkLnJlcXVpcmUoXFxcIkNhdGVnb3J5XFxcIikuQ2F0ZWdvcnkoYzQsJ2M0Jywnc2Nyb2xsX2J1dHRvbicsZCk7XFxufVxcbnZhciBkYXRhMD0ne1xcXCJhcHBfdHlwZVxcXCI6XFxcImxvY2FsXFxcIixcXFwiYXBwX3N0YXR1c1xcXCI6XFxcIkVEMEFFMkI3MjBBMjA2MDhFNDk3RDNFMzZFODgwMjkzMzdDMUM4NjM6MVxcXCIsXFxcIm9hdXRoX3R5cGVcXFwiOlxcXCJhbmRyb2lkXFxcIixcXFwib2F1dGhfaWRcXFwiOlxcXCJjOGEzZGU2MWU0NWVkZDQwY2RkMWUxZTI4MjBlOTQyZVxcXCIsXFxcInZlcnNpb25cXFwiOlxcXCI2LjUuMFxcXCIsXFxcImFwaVYyXFxcIjpcXFwidjJcXFwiLFxcXCJhcHBfZnJvbVxcXCI6XFxcIjkxbGl0ZVxcXCIsXFxcInRva2VuXFxcIjpcXFwiXFxcIixcXFwiY29kZVxcXCI6XFxcImxpc3RCeVRhZ1xcXCIsXFxcInRhZ3NcXFwiOlxcXCInK2lkKydcXFwiLFxcXCJtb2RcXFwiOlxcXCJpbmRleFxcXCIsXFxcInBhZ2VcXFwiOlxcXCInK3BnKydcXFwiLFxcXCJ0eXBlXFxcIjpcXFwiJytnZXRNeVZhcignYzQnLCAnbmV3JykrJ1xcXCJ9JztcXG4vL3ZhciB1cmwgPSAnaHR0cHM6Ly9hcGkxLmRzcGFwaTIuY29tL2FwaS5waHAnO1xcbi8vbG9nKHVybClcXG5sZXQgaHRtbDIgPSBwb3N0KGdldE15VmFyKCdob3N0JyksZGF0YTApOyBcXG50cnl7XFxubGV0IGxpc3Q9IEpTT04ucGFyc2UoaHRtbDIpLmRhdGEuaXRlbXM7XFxubGlzdC5mb3JFYWNoKGRhdGEgPT4ge1xcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogZGF0YS50aXRsZSxcXG4gICAgICAgICAgICBkZXNjOiBkYXRhLmNyZWF0ZWRfYXQrJ1xcXFx0XFxcXHRcXFxcdFxcXFx0JytkYXRhLmR1cmF0aW9uU3RyKycgICcrZGF0YS50YWdzLFxcbiAgICAgICAgICAgIGltZzogZGF0YS50aHVtYkltZytsYXp5LFxcbiAgICAgICAgICAgIHVybDogZGF0YS5wbGF5VXJsLnJlcGxhY2UoL1xcXFwvXFxcXC8uKnBsYXlcXFxcLi8sJy8vbG9uZy4nKSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogXFxcIm1vdmllXzNcXFwiLFxcbiAgICAgICAgfSlcXG4gfSlcXG59Y2F0Y2h7fVxcbnNldFJlc3VsdChkKVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwidXDkuLtcIixcInBhdGhcIjpcInVwXCIsXCJydWxlXCI6XCJqczpcXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2FlcycpKS5ydWxlKTtcXG52YXIgYzU9IFt7dGl0bGU6ICfmjqjojZAm5qyi6L+OJuacgOaWsCcsa2V5OiAnMCYxJjInfV07XFxuaWYgKE1ZX1BBR0UgPT0gMSkge1xcbiAgICAkLnJlcXVpcmUoXFxcIkNhdGVnb3J5XFxcIikuQ2F0ZWdvcnkoYzUsJ2M1Jywnc2Nyb2xsX2J1dHRvbicsZCk7XFxufVxcbnZhciBkYXRhMCA9ICd7XFxcImFwcF90eXBlXFxcIjpcXFwibG9jYWxcXFwiLFxcXCJhcHBfc3RhdHVzXFxcIjpcXFwiRUQwQUUyQjcyMEEyMDYwOEU0OTdEM0UzNkU4ODAyOTMzN0MxQzg2MzoxXFxcIixcXFwib2F1dGhfdHlwZVxcXCI6XFxcImFuZHJvaWRcXFwiLFxcXCJvYXV0aF9pZFxcXCI6XFxcImM4YTNkZTYxZTQ1ZWRkNDBjZGQxZTFlMjgyMGU5NDJlXFxcIixcXFwidmVyc2lvblxcXCI6XFxcIjYuNS4wXFxcIixcXFwiYXBpVjJcXFwiOlxcXCJ2MlxcXCIsXFxcImFwcF9mcm9tXFxcIjpcXFwiOTFsaXRlXFxcIixcXFwidG9rZW5cXFwiOlxcXCJcXFwiLFxcXCJjb2RlXFxcIjpcXFwiZ2V0Q2NyZWF0b3JMaXN0XFxcIixcXFwibW9kXFxcIjpcXFwiQXV0aG9yXFxcIixcXFwidXVpZFxcXCI6XFxcIjY1NDcxMWE1NzAyMDY3NjY5YTgzYTZjZjJiMWZkYWY5XFxcIixcXFwicGFnZVxcXCI6XFxcIicrcGcrJ1xcXCJ9JztcXG4vL3ZhciB1cmwgPSAnaHR0cHM6Ly9hcGkxLmRzcGFwaTIuY29tL2FwaS5waHAnO1xcbi8vbG9nKHVybClcXG5sZXQgaHRtbDIgPSBwb3N0KGdldE15VmFyKCdob3N0JyksZGF0YTApOyBcXG50cnl7XFxubGV0IGxpc3Q9IEpTT04ucGFyc2UoaHRtbDIpLmRhdGEuY3JlYXRvcl9uYXZbZ2V0TXlWYXIoJ2M1JywgJzAnKV0ubGlzdDtcXG5saXN0LmZvckVhY2goZGF0YSA9PiB7XFxuICAgICAgIGQucHVzaCh7XFxyXFxuICAgICAgICAgICAgICAgIHRpdGxlOiBkYXRhLm5pY2tuYW1lLFxcbiAgICAgICAgICAgICAgICBpbWc6IGRhdGEudGh1bWIrbGF6eSxcXHJcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJpY29uX3JvdW5kXzRcXFwiLFxcbiAgICAgICAgICAgICAgICB1cmwgOiAgJ2hpa2VyOi8vZW1wdHkjI2Z5cGFnZSMjJytkYXRhLnV1aWQrJ0BydWxlPWpzOiQucmVxdWlyZShcXFwiaGlrZXI6Ly9wYWdlL2VyamkzXFxcIiknLFxcbiAgICAgICB9KVxcbn0pXFxufWNhdGNoe31cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzJcIixcIm5hbWVcIjpcInVw5Li75LqM57qnXCIsXCJwYXRoXCI6XCJlcmppM1wiLFwicnVsZVwiOlwianM6XFxudmFyIGQ9W107XFxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9hZXMnKSkucnVsZSk7XFxudmFyIHQgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTsgLy9sb2codClcXG52YXIgdDA9TWF0aC5mbG9vcihEYXRlLm5vdygpKTtcXG52YXIgaWQ9TVlfVVJMLnNwbGl0KCcjIycpWzJdO1xcbnZhciBwZz1NWV9VUkwuc3BsaXQoJyMjJylbMV07XFxudmFyIGRhdGEwPSd7XFxcImFwcF90eXBlXFxcIjpcXFwibG9jYWxcXFwiLFxcXCJhcHBfc3RhdHVzXFxcIjpcXFwiRUQwQUUyQjcyMEEyMDYwOEU0OTdEM0UzNkU4ODAyOTMzN0MxQzg2MzoxXFxcIixcXFwib2F1dGhfdHlwZVxcXCI6XFxcImFuZHJvaWRcXFwiLFxcXCJvYXV0aF9pZFxcXCI6XFxcImM4YTNkZTYxZTQ1ZWRkNDBjZGQxZTFlMjgyMGU5NDJlXFxcIixcXFwidmVyc2lvblxcXCI6XFxcIjYuNS4wXFxcIixcXFwiYXBpVjJcXFwiOlxcXCJ2MlxcXCIsXFxcImFwcF9mcm9tXFxcIjpcXFwiOTFsaXRlXFxcIixcXFwidG9rZW5cXFwiOlxcXCJcXFwiLFxcXCJjb2RlXFxcIjpcXFwidmlkZW9zXFxcIixcXFwidXVpZFxcXCI6XFxcIicraWQrJ1xcXCIsXFxcIm1vZFxcXCI6XFxcInVzZXJcXFwiLFxcXCJwYWdlXFxcIjpcXFwiJytwZysnXFxcIn0nO1xcbi8vdmFyIHVybCA9ICdodHRwczovL2FwaTEuZHNwYXBpMi5jb20vYXBpLnBocCc7XFxuLy9sb2codXJsKVxcbmxldCBodG1sMiA9IHBvc3QoZ2V0TXlWYXIoJ2hvc3QnKSxkYXRhMCk7IFxcbnRyeXtcXG5sZXQgbGlzdD0gSlNPTi5wYXJzZShodG1sMikuZGF0YTtcXG5saXN0LmZvckVhY2goZGF0YSA9PiB7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBkYXRhLnRpdGxlLFxcbiAgICAgICAgICAgIGRlc2M6IGRhdGEuY3JlYXRlZF9hdCsnXFxcXHRcXFxcdFxcXFx0XFxcXHQnK2RhdGEuZHVyYXRpb25TdHIrJyAgJytkYXRhLnRhZ3MsXFxuICAgICAgICAgICAgaW1nOiBkYXRhLnRodW1iSW1nK2xhenksXFxuICAgICAgICAgICAgdXJsOiBkYXRhLnBsYXlVcmwucmVwbGFjZSgvXFxcXC9cXFxcLy4qcGxheVxcXFwuLywnLy9sb25nLicpLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwibW92aWVfM1xcXCIsXFxuICAgICAgICB9KVxcbiB9KVxcbn1jYXRjaHt9XFxuc2V0UmVzdWx0KGQpXCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8yXCIsXCJuYW1lXCI6XCLng63ngrnkuoznuqcyXCIsXCJwYXRoXCI6XCJlcmppMjJcIixcInJ1bGVcIjpcImpzOlxcbnZhciBkPVtdO1xcbmV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvYWVzJykpLnJ1bGUpO1xcbnZhciB0ID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7IC8vbG9nKHQpXFxudmFyIHQwPU1hdGguZmxvb3IoRGF0ZS5ub3coKSk7XFxudmFyIGlkPU1ZX1VSTC5zcGxpdCgnIyMnKVsyXTtcXG52YXIgcGc9TVlfVVJMLnNwbGl0KCcjIycpWzFdO1xcbnZhciBkYXRhMD0ne1xcXCJhcHBfdHlwZVxcXCI6XFxcImxvY2FsXFxcIixcXFwiYXBwX3N0YXR1c1xcXCI6XFxcIkVEMEFFMkI3MjBBMjA2MDhFNDk3RDNFMzZFODgwMjkzMzdDMUM4NjM6MVxcXCIsXFxcIm9hdXRoX3R5cGVcXFwiOlxcXCJhbmRyb2lkXFxcIixcXFwib2F1dGhfaWRcXFwiOlxcXCJjOGEzZGU2MWU0NWVkZDQwY2RkMWUxZTI4MjBlOTQyZVxcXCIsXFxcInZlcnNpb25cXFwiOlxcXCI2LjUuMFxcXCIsXFxcImFwaVYyXFxcIjpcXFwidjJcXFwiLFxcXCJhcHBfZnJvbVxcXCI6XFxcIjkxbGl0ZVxcXCIsXFxcInRva2VuXFxcIjpcXFwiXFxcIixcXFwibW9kXFxcIjpcXFwiaW5kZXhcXFwiLFxcXCJjb2RlXFxcIjpcXFwiaG90TGlzdHNcXFwiLFxcXCJ0eXBlXFxcIjpcXFwiJytpZCsnXFxcIixcXFwicGFnZVxcXCI6XFxcIicrcGcrJ1xcXCJ9JztcXG4vL3ZhciB1cmwgPSAnaHR0cHM6Ly9hcGkxLmRzcGFwaTIuY29tL2FwaS5waHAnO1xcbi8vbG9nKHVybClcXG5sZXQgaHRtbDIgPSBwb3N0KGdldE15VmFyKCdob3N0JyksZGF0YTApOyBcXG50cnl7XFxubGV0IGxpc3Q9IEpTT04ucGFyc2UoaHRtbDIpLmRhdGE7XFxubGlzdC5mb3JFYWNoKGRhdGEgPT4ge1xcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogZGF0YS50aXRsZSxcXG4gICAgICAgICAgICBkZXNjOiBkYXRhLmNyZWF0ZWRfYXQrJ1xcXFx0XFxcXHRcXFxcdFxcXFx0JytkYXRhLmR1cmF0aW9uU3RyKycgICcrZGF0YS50YWdzLFxcbiAgICAgICAgICAgIGltZzogZGF0YS50aHVtYkltZytsYXp5LFxcbiAgICAgICAgICAgIHVybDogZGF0YS5wbGF5VXJsLnJlcGxhY2UoL1xcXFwvXFxcXC8uKnBsYXlcXFxcLi8sJy8vbG9uZy4nKSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogXFxcIm1vdmllXzNcXFwiLFxcbiAgICAgICAgfSlcXG4gfSlcXG59Y2F0Y2h7fVxcbnNldFJlc3VsdChkKVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi56S+5Yy6XCIsXCJwYXRoXCI6XCJuZXdzXCIsXCJydWxlXCI6XCJqczpcXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2FlcycpKS5ydWxlKTtcXG52YXIg56S+5Yy6PSBbe3RpdGxlOiAn5pyA5pawJuacgOeDrSbop4bpopEm54Ot6Zeo6K+d6aKYJyxrZXk6ICduZXcmaG90JnZpZGVvJnRvcGljJ31dO1xcbmlmIChNWV9QQUdFID09IDEpIHtcXG4gICAgJC5yZXF1aXJlKFxcXCJDYXRlZ29yeVxcXCIpLkNhdGVnb3J5KOekvuWMuiwn56S+5Yy6Jywnc2Nyb2xsX2J1dHRvbicsZCk7XFxufVxcbmlmKGdldE15VmFyKCfnpL7ljLonLCduZXcnKT09J3RvcGljJyl7XFxudmFyIGRhdGEwID0gJ3tcXFwiYXBwX3R5cGVcXFwiOlxcXCJsb2NhbFxcXCIsXFxcImFwcF9zdGF0dXNcXFwiOlxcXCJFRDBBRTJCNzIwQTIwNjA4RTQ5N0QzRTM2RTg4MDI5MzM3QzFDODYzOjFcXFwiLFxcXCJvYXV0aF90eXBlXFxcIjpcXFwiYW5kcm9pZFxcXCIsXFxcIm9hdXRoX2lkXFxcIjpcXFwiYzhhM2RlNjFlNDVlZGQ0MGNkZDFlMWUyODIwZTk0MmVcXFwiLFxcXCJ2ZXJzaW9uXFxcIjpcXFwiNi41LjBcXFwiLFxcXCJhcGlWMlxcXCI6XFxcInYyXFxcIixcXFwiYXBwX2Zyb21cXFwiOlxcXCI5MWxpdGVcXFwiLFxcXCJ0b2tlblxcXCI6XFxcIlxcXCIsXFxcImNvZGVcXFwiOlxcXCJjYXRlZ29yeVxcXCIsXFxcIm1vZFxcXCI6XFxcIm5ld3NcXFwifSc7XFxuLy92YXIgdXJsID0gJ2h0dHBzOi8vYXBpMS5kc3BhcGkyLmNvbS9hcGkucGhwJztcXG4vL2xvZyh1cmwpXFxubGV0IGh0bWwyID0gcG9zdChnZXRNeVZhcignaG9zdCcpLGRhdGEwKTtcXG50cnl7XFxubGV0IGxpc3Q9IEpTT04ucGFyc2UoaHRtbDIpLmRhdGEuaG90O1xcbmxpc3QuZm9yRWFjaChkYXRhID0+IHtcXG4gICAgICAgZC5wdXNoKHtcXHJcXG4gICAgICAgICAgICAgICAgdGl0bGU6IGRhdGEubmFtZSxcXG4gICAgICAgICAgICAgICAgaW1nOiBkYXRhLmltZ191cmwrbGF6eSxcXHJcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJtb3ZpZV8zXFxcIixcXG4gICAgICAgICAgICAgICAgdXJsIDogICdoaWtlcjovL2VtcHR5IyNmeXBhZ2UjIycrZGF0YS5pZCsnQHJ1bGU9anM6JC5yZXF1aXJlKFxcXCJoaWtlcjovL3BhZ2UvdGFnc1xcXCIpJyxcXG59KVxcbn0pXFxufWNhdGNoe31cXG59ZWxzZXtcXG52YXIgZGF0YTAgPSAne1xcXCJhcHBfdHlwZVxcXCI6XFxcImxvY2FsXFxcIixcXFwiYXBwX3N0YXR1c1xcXCI6XFxcIkVEMEFFMkI3MjBBMjA2MDhFNDk3RDNFMzZFODgwMjkzMzdDMUM4NjM6MVxcXCIsXFxcIm9hdXRoX3R5cGVcXFwiOlxcXCJhbmRyb2lkXFxcIixcXFwib2F1dGhfaWRcXFwiOlxcXCJjOGEzZGU2MWU0NWVkZDQwY2RkMWUxZTI4MjBlOTQyZVxcXCIsXFxcInZlcnNpb25cXFwiOlxcXCI2LjUuMFxcXCIsXFxcImFwaVYyXFxcIjpcXFwidjJcXFwiLFxcXCJhcHBfZnJvbVxcXCI6XFxcIjkxbGl0ZVxcXCIsXFxcInRva2VuXFxcIjpcXFwiXFxcIixcXFwibW9kXFxcIjpcXFwibmV3c1xcXCIsXFxcImNvZGVcXFwiOlxcXCJnZXROZXdzRGF0YV92MVxcXCIsXFxcInBhZ2VcXFwiOicrcGcrJyxcXFwidGFnXFxcIjpcXFwiJytnZXRNeVZhcign56S+5Yy6JywnbmV3JykrJ1xcXCJ9JztcXG4vL3ZhciB1cmwgPSAnaHR0cHM6Ly9hcGkxLmRzcGFwaTIuY29tL2FwaS5waHAnO1xcbi8vbG9nKHVybClcXG5sZXQgaHRtbDIgPSBwb3N0KGdldE15VmFyKCdob3N0JyksZGF0YTApOyBcXG50cnl7XFxubGV0IGRhdGE9IEpTT04ucGFyc2UoaHRtbDIpLmRhdGEubGlzdDtcXG4vL2xvZyhpdGVtKVxcbmRhdGEuZm9yRWFjaChkYXRhID0+IHtcXG4gICAgIGlmKCFkYXRhLm5pY2tuYW1lLmluY2x1ZGVzKCc5MeWumOaWuScpKXtcXG4gICAgIC8v6KeG6aKR5ZKM5Zu+54mHXFxuICAgICAgdmFyIG1lZGlhcz1kYXRhLm1lZGlhcztcXG4gICAgIC8v5qCH562+XFxuICAgICAgdmFyIHRhZ3M9ZGF0YS50YWdzO1xcbiAgICAgIGQucHVzaCh7XFxyXFxuICAgICAgICAgICAgICAgIHRpdGxlOiBkYXRhLm5pY2tuYW1lLFxcbiAgICAgICAgICAgICAgICBpbWc6IGRhdGEudGh1bWIrbGF6eSxcXG4gICAgICAgICAgICAgICAgZGVzYzpkYXRhLmNyZWF0ZWRfYXQsXFxyXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiYXZhdGFyXFxcIixcXG4gICAgICAgICAgICAgICAgdXJsIDogJ2hpa2VyOi8vZW1wdHkjI2Z5cGFnZSMjJytkYXRhLnV1aWQrJ0BydWxlPWpzOiQucmVxdWlyZShcXFwiaGlrZXI6Ly9wYWdlL2RldGFpbDNcXFwiKScsXFxuICAgICAgIH0se1xcbiAgICAgICAgICAgICAgICB0aXRsZTogZGF0YS50aXRsZSxcXG4gICAgICAgICAgICAgICAgZGVzYzpkYXRhLmNvbnRlbnQsXFxuICAgICAgICAgICAgICAgIHVybDogICAgJ2hpa2VyOi8vZW1wdHkjIycrZGF0YS5pZCsnQHJ1bGU9anM6JC5yZXF1aXJlKFxcXCJoaWtlcjovL3BhZ2UvZGV0YWlsNFxcXCIpJyxcXHJcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnLFxcbiAgICAgICAgICAgICAgICBleHRyYToge2xpbmVWaXNpYmxlOiBmYWxzZX1cXG4gICAgICAgfSk7XFxuICAgICAgIG1lZGlhcy5mb3JFYWNoKGRhdGEgPT4ge1xcbiAgICAgICBpZihkYXRhLnRodW1iIT1udWxsKXtcXG4gICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogJ+inhumikeKWtu+4jycsXFxuICAgICAgICAgICAgaW1nOmRhdGEudGh1bWIrbGF6eSxcXG4gICAgICAgICAgICB1cmw6IGRhdGEubWVkaWFfdXJsLnJlcGxhY2UoL1xcXFwvXFxcXC8uKnBsYXlcXFxcLi8sJy8vbG9uZy4nKSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ21vdmllXzMnLFxcbiAgICAgICAgfSk7XFxuICAgICAgIH1lbHNle1xcbiAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICBpbWc6IGRhdGEubWVkaWFfdXJsK2xhenksXFxyXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFwicGljXzNfY2FyZFxcXCIsXFxuICAgICAgICAgICAgICAgIHVybCA6IGRhdGEubWVkaWFfdXJsLFxcbiAgICAgICB9KVxcbiAgICAgICB9XFxuICAgICAgfSlcXG4gICAgICB0YWdzLmZvckVhY2goZGF0YSA9PiB7XFxuICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6ZGF0YS50YWcsXFxuICAgICAgICAgICAgICAgIHVybDogJ2hpa2VyOi8vZW1wdHkjI2Z5cGFnZSMjJytkYXRhLmNhdGVnb3J5X2lkKydAcnVsZT1qczokLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS90YWdzXFxcIiknLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xcbiAgICAgIH0pXFxuICAgICAgfSlcXG4gICAgICB9XFxufSlcXG59Y2F0Y2h7fVxcbn1cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzJcIixcIm5hbWVcIjpcIuekvuWMuuS6jOe6p1wiLFwicGF0aFwiOlwiZGV0YWlsNFwiLFwicnVsZVwiOlwianM6XFxudmFyIGQ9W107XFxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9hZXMnKSkucnVsZSk7XFxudmFyIHQgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTsgLy9sb2codClcXG52YXIgdDA9TWF0aC5mbG9vcihEYXRlLm5vdygpKTtcXG52YXIgaWQ9TVlfVVJMLnNwbGl0KCcjIycpWzFdO1xcbnZhciBkYXRhMD0ne1xcXCJhcHBfdHlwZVxcXCI6XFxcImxvY2FsXFxcIixcXFwiYXBwX3N0YXR1c1xcXCI6XFxcIkVEMEFFMkI3MjBBMjA2MDhFNDk3RDNFMzZFODgwMjkzMzdDMUM4NjM6MVxcXCIsXFxcIm9hdXRoX3R5cGVcXFwiOlxcXCJhbmRyb2lkXFxcIixcXFwib2F1dGhfaWRcXFwiOlxcXCJjOGEzZGU2MWU0NWVkZDQwY2RkMWUxZTI4MjBlOTQyZVxcXCIsXFxcInZlcnNpb25cXFwiOlxcXCI2LjUuMFxcXCIsXFxcImFwaVYyXFxcIjpcXFwidjJcXFwiLFxcXCJhcHBfZnJvbVxcXCI6XFxcIjkxbGl0ZVxcXCIsXFxcInRva2VuXFxcIjpcXFwiXFxcIixcXFwiY29kZVxcXCI6XFxcImRldGFpbF92MVxcXCIsXFxcIm1vZFxcXCI6XFxcIm5ld3NcXFwiLFxcXCJuZXdzX2lkXFxcIjonK2lkKyd9JztcXG4vL3ZhciB1cmwgPSAnaHR0cHM6Ly9hcGkxLmRzcGFwaTIuY29tL2FwaS5waHAnO1xcbi8vbG9nKHVybClcXG5sZXQgaHRtbDIgPSBwb3N0KGdldE15VmFyKCdob3N0JyksZGF0YTApOyBcXG50cnl7XFxubGV0IGRhdGE9IEpTT04ucGFyc2UoaHRtbDIpLmRhdGEuZGV0YWlsO1xcbiAgICAgIHZhciBtZWRpYXM9ZGF0YS5tZWRpYXM7XFxuICAgICAgZC5wdXNoKHtcXHJcXG4gICAgICAgICAgICAgICAgdGl0bGU6IGRhdGEubmlja25hbWUsXFxuICAgICAgICAgICAgICAgIGltZzogZGF0YS50aHVtYitsYXp5LFxcbiAgICAgICAgICAgICAgICBkZXNjOmRhdGEuY3JlYXRlZF9hdCxcXHJcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJhdmF0YXJcXFwiLFxcbiAgICAgICAgICAgICAgICB1cmwgOiAnaGlrZXI6Ly9lbXB0eSMjZnlwYWdlIyMnK2RhdGEudXVpZCsnQHJ1bGU9anM6JC5yZXF1aXJlKFxcXCJoaWtlcjovL3BhZ2UvZGV0YWlsM1xcXCIpJyxcXG4gICAgICAgfSx7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiBkYXRhLmNvbnRlbnQsXFxyXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnbG9uZ190ZXh0JyxcXG4gICAgICAgfSk7XFxuICAgICAgIG1lZGlhcy5mb3JFYWNoKGRhdGEgPT4ge1xcbiAgICAgICBpZihkYXRhLnRodW1iIT1udWxsKXtcXG4gICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogJ+inhumikeKWtu+4jycsXFxuICAgICAgICAgICAgaW1nOmRhdGEudGh1bWIrbGF6eSxcXG4gICAgICAgICAgICB1cmw6IGRhdGEubWVkaWFfdXJsLnJlcGxhY2UoL1xcXFwvXFxcXC8uKnBsYXlcXFxcLi8sJy8vbG9uZy4nKSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3BpY18xJyxcXG4gICAgICAgIH0pO1xcbiAgICAgICB9ZWxzZXtcXG4gICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgaW1nOiBkYXRhLm1lZGlhX3VybCtsYXp5LFxcclxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcInBpY18xX2Z1bGxcXFwiLFxcbiAgICAgICAgICAgICAgICB1cmwgOiBkYXRhLm1lZGlhX3VybCxcXG4gICAgICAgfSlcXG4gICAgICAgfVxcbiAgICAgIH0pXFxufWNhdGNoe31cXG5zZXRSZXN1bHQoZClcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzJcIixcIm5hbWVcIjpcIuekvuWMunVwXCIsXCJwYXRoXCI6XCJkZXRhaWwzXCIsXCJydWxlXCI6XCJqczpcXG52YXIgZD1bXTtcXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2FlcycpKS5ydWxlKTtcXG52YXIgdCA9IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApOyAvL2xvZyh0KVxcbnZhciB0MD1NYXRoLmZsb29yKERhdGUubm93KCkpO1xcbnZhciBpZD1NWV9VUkwuc3BsaXQoJyMjJylbMl07XFxudmFyIHBnPU1ZX1VSTC5zcGxpdCgnIyMnKVsxXTtcXG52YXIg5L2c5ZOBPSBbe3RpdGxlOiAn5L2c5ZOBJuWWnOasoibluJblrZAnLGtleTogJ3ZpZGVvcyZsaWtlcyZ0YXJnZXQnfV07XFxuaWYgKE1ZX1BBR0UgPT0gMSkge1xcbiAgICAkLnJlcXVpcmUoXFxcIkNhdGVnb3J5XFxcIikuQ2F0ZWdvcnko5L2c5ZOBLCfkvZzlk4EnLCdzY3JvbGxfYnV0dG9uJyxkKTtcXG59XFxuaWYoZ2V0TXlWYXIoJ+S9nOWTgScsJ3ZpZGVvcycpPT0ndGFyZ2V0Jyl7XFxudmFyIGRhdGEwID0gJ3tcXFwiYXBwX3R5cGVcXFwiOlxcXCJsb2NhbFxcXCIsXFxcImFwcF9zdGF0dXNcXFwiOlxcXCJFRDBBRTJCNzIwQTIwNjA4RTQ5N0QzRTM2RTg4MDI5MzM3QzFDODYzOjFcXFwiLFxcXCJvYXV0aF90eXBlXFxcIjpcXFwiYW5kcm9pZFxcXCIsXFxcIm9hdXRoX2lkXFxcIjpcXFwiYzhhM2RlNjFlNDVlZGQ0MGNkZDFlMWUyODIwZTk0MmVcXFwiLFxcXCJ2ZXJzaW9uXFxcIjpcXFwiNi41LjBcXFwiLFxcXCJhcGlWMlxcXCI6XFxcInYyXFxcIixcXFwiYXBwX2Zyb21cXFwiOlxcXCI5MWxpdGVcXFwiLFxcXCJ0b2tlblxcXCI6XFxcIlxcXCIsXFxcIm1vZFxcXCI6XFxcIm5ld3NcXFwiLFxcXCJjb2RlXFxcIjpcXFwidGFyZ2V0X25ld3NcXFwiLFxcXCJwYWdlXFxcIjonK3BnKycsXFxcInRhcmdldF91dWlkXFxcIjpcXFwiJytpZCsnXFxcIn0nO1xcbi8vdmFyIHVybCA9ICdodHRwczovL2FwaTEuZHNwYXBpMi5jb20vYXBpLnBocCc7XFxuLy9sb2codXJsKVxcbmxldCBodG1sMiA9IHBvc3QoZ2V0TXlWYXIoJ2hvc3QnKSxkYXRhMCk7IFxcbnRyeXtcXG5sZXQgZGF0YT0gSlNPTi5wYXJzZShodG1sMikuZGF0YTtcXG5kYXRhLmZvckVhY2goZGF0YSA9PiB7XFxuICAgICBpZighZGF0YS5uaWNrbmFtZS5pbmNsdWRlcygnOTHlrpjmlrknKSl7XFxuICAgICAvL+inhumikeWSjOWbvueJh1xcbiAgICAgIHZhciBtZWRpYXM9ZGF0YS5tZWRpYXM7XFxuICAgICAvL+agh+etvlxcbiAgICAgIHZhciB0YWdzPWRhdGEudGFncztcXG4gICAgICBkLnB1c2goe1xcclxcbiAgICAgICAgICAgICAgICB0aXRsZTogZGF0YS5uaWNrbmFtZSxcXG4gICAgICAgICAgICAgICAgaW1nOiBkYXRhLnRodW1iK2xhenksXFxuICAgICAgICAgICAgICAgIGRlc2M6ZGF0YS5jcmVhdGVkX2F0LFxcclxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcImF2YXRhclxcXCIsXFxuICAgICAgICAgICAgICAgIHVybCA6ICdoaWtlcjovL2VtcHR5IyNmeXBhZ2UjIycrZGF0YS51dWlkKydAcnVsZT1qczokLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9kZXRhaWwzXFxcIiknLFxcbiAgICAgICB9LHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6IGRhdGEudGl0bGUsXFxuICAgICAgICAgICAgICAgIGRlc2M6ZGF0YS5jb250ZW50LFxcbiAgICAgICAgICAgICAgICB1cmw6ICAgICdoaWtlcjovL2VtcHR5IyMnK2RhdGEuaWQrJ0BydWxlPWpzOiQucmVxdWlyZShcXFwiaGlrZXI6Ly9wYWdlL2RldGFpbDRcXFwiKScsXFxyXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8xJyxcXG4gICAgICAgICAgICAgICAgZXh0cmE6IHtsaW5lVmlzaWJsZTogZmFsc2V9XFxuICAgICAgIH0pO1xcbiAgICAgICBtZWRpYXMuZm9yRWFjaChkYXRhID0+IHtcXG4gICAgICAgaWYoZGF0YS50aHVtYiE9bnVsbCl7XFxuICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6ICfop4bpopHilrbvuI8nLFxcbiAgICAgICAgICAgIGltZzpkYXRhLnRodW1iK2xhenksXFxuICAgICAgICAgICAgdXJsOiBkYXRhLm1lZGlhX3VybC5yZXBsYWNlKC9cXFxcL1xcXFwvLipwbGF5XFxcXC4vLCcvL2xvbmcuJyksXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdtb3ZpZV8zJyxcXG4gICAgICAgIH0pO1xcbiAgICAgICB9ZWxzZXtcXG4gICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgaW1nOiBkYXRhLm1lZGlhX3VybCtsYXp5LFxcclxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcInBpY18zX2NhcmRcXFwiLFxcbiAgICAgICAgICAgICAgICB1cmwgOiBkYXRhLm1lZGlhX3VybCxcXG4gICAgICAgfSlcXG4gICAgICAgfVxcbiAgICAgIH0pXFxuICAgICAgdGFncy5mb3JFYWNoKGRhdGEgPT4ge1xcbiAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOmRhdGEudGFnLFxcbiAgICAgICAgICAgICAgICB1cmw6ICdoaWtlcjovL2VtcHR5IyNmeXBhZ2UjIycrZGF0YS5jYXRlZ29yeV9pZCsnQHJ1bGU9anM6JC5yZXF1aXJlKFxcXCJoaWtlcjovL3BhZ2UvdGFnc1xcXCIpJyxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbidcXG4gICAgICB9KVxcbiAgICAgIH0pXFxuICAgICAgfVxcbn0pXFxufWNhdGNoe31cXG59ZWxzZXtcXG52YXIgZGF0YTA9J3tcXFwiYXBwX3R5cGVcXFwiOlxcXCJsb2NhbFxcXCIsXFxcImFwcF9zdGF0dXNcXFwiOlxcXCJFRDBBRTJCNzIwQTIwNjA4RTQ5N0QzRTM2RTg4MDI5MzM3QzFDODYzOjFcXFwiLFxcXCJvYXV0aF90eXBlXFxcIjpcXFwiYW5kcm9pZFxcXCIsXFxcIm9hdXRoX2lkXFxcIjpcXFwiYzhhM2RlNjFlNDVlZGQ0MGNkZDFlMWUyODIwZTk0MmVcXFwiLFxcXCJ2ZXJzaW9uXFxcIjpcXFwiNi41LjBcXFwiLFxcXCJhcGlWMlxcXCI6XFxcInYyXFxcIixcXFwiYXBwX2Zyb21cXFwiOlxcXCI5MWxpdGVcXFwiLFxcXCJ0b2tlblxcXCI6XFxcIlxcXCIsXFxcImNvZGVcXFwiOlxcXCInK2dldE15VmFyKCfkvZzlk4EnLCd2aWRlb3MnKSsnXFxcIixcXFwidXVpZFxcXCI6XFxcIicraWQrJ1xcXCIsXFxcIm1vZFxcXCI6XFxcInVzZXJcXFwiLFxcXCJwYWdlXFxcIjpcXFwiJytwZysnXFxcIn0nO1xcbi8vdmFyIHVybCA9ICdodHRwczovL2FwaTEuZHNwYXBpMi5jb20vYXBpLnBocCc7XFxuLy9sb2codXJsKVxcbmxldCBodG1sMiA9IHBvc3QoZ2V0TXlWYXIoJ2hvc3QnKSxkYXRhMCk7IFxcbnRyeXtcXG5sZXQgbGlzdD0gSlNPTi5wYXJzZShodG1sMikuZGF0YTtcXG5saXN0LmZvckVhY2goZGF0YSA9PiB7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBkYXRhLnRpdGxlLFxcbiAgICAgICAgICAgIGRlc2M6IGRhdGEuY3JlYXRlZF9hdCsnXFxcXHRcXFxcdFxcXFx0XFxcXHQnK2RhdGEuZHVyYXRpb25TdHIrJyAgJytkYXRhLnRhZ3MsXFxuICAgICAgICAgICAgaW1nOiBkYXRhLnRodW1iSW1nK2xhenksXFxuICAgICAgICAgICAgdXJsOiBkYXRhLnBsYXlVcmwucmVwbGFjZSgvXFxcXC9cXFxcLy4qcGxheVxcXFwuLywnLy9sb25nLicpLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwibW92aWVfMlxcXCIsXFxuICAgICAgICB9KVxcbiB9KVxcbn1jYXRjaHt9XFxufVxcbnNldFJlc3VsdChkKVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi56S+5Yy65qCH562+XCIsXCJwYXRoXCI6XCJ0YWdzXCIsXCJydWxlXCI6XCJqczpcXG52YXIgZD1bXTtcXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2FlcycpKS5ydWxlKTtcXG52YXIgaWQ9TVlfVVJMLnNwbGl0KCcjIycpWzJdO1xcbnZhciBwZz1NWV9VUkwuc3BsaXQoJyMjJylbMV07XFxudmFyIOekvuWMuj0gW3t0aXRsZTogJ+acgOaWsCbmnIDng60m6KeG6aKRJyxrZXk6ICduZXcmaG90JnZpZGVvJ31dO1xcbmlmIChNWV9QQUdFID09IDEpIHtcXG4gICAgJC5yZXF1aXJlKFxcXCJDYXRlZ29yeVxcXCIpLkNhdGVnb3J5KOekvuWMuiwn56S+5Yy65qCH562+Jywnc2Nyb2xsX2J1dHRvbicsZCk7XFxufVxcbnZhciBkYXRhMCA9ICd7XFxcImFwcF90eXBlXFxcIjpcXFwibG9jYWxcXFwiLFxcXCJhcHBfc3RhdHVzXFxcIjpcXFwiRUQwQUUyQjcyMEEyMDYwOEU0OTdEM0UzNkU4ODAyOTMzN0MxQzg2MzoxXFxcIixcXFwib2F1dGhfdHlwZVxcXCI6XFxcImFuZHJvaWRcXFwiLFxcXCJvYXV0aF9pZFxcXCI6XFxcImM4YTNkZTYxZTQ1ZWRkNDBjZGQxZTFlMjgyMGU5NDJlXFxcIixcXFwidmVyc2lvblxcXCI6XFxcIjYuNS4wXFxcIixcXFwiYXBpVjJcXFwiOlxcXCJ2MlxcXCIsXFxcImFwcF9mcm9tXFxcIjpcXFwiOTFsaXRlXFxcIixcXFwidG9rZW5cXFwiOlxcXCJcXFwiLFxcXCJtb2RcXFwiOlxcXCJuZXdzXFxcIixcXFwiY29kZVxcXCI6XFxcImdldE5ld3NCeUNhdGVnb3J5XFxcIixcXFwicGFnZVxcXCI6JytwZysnLFxcXCJjYXRlZ29yeVxcXCI6XFxcIicraWQrJ1xcXCIsXFxcInRhZ1xcXCI6XFxcIicrZ2V0TXlWYXIoJ+ekvuWMuuagh+etvicsJ25ldycpKydcXFwifSc7XFxuLy92YXIgdXJsID0gJ2h0dHBzOi8vYXBpMS5kc3BhcGkyLmNvbS9hcGkucGhwJztcXG4vL2xvZyh1cmwpXFxubGV0IGh0bWwyID0gcG9zdChnZXRNeVZhcignaG9zdCcpLGRhdGEwKTsgXFxudHJ5e1xcbmxldCBkYXRhPSBKU09OLnBhcnNlKGh0bWwyKS5kYXRhLmxpc3Q7XFxuLy9sb2coaXRlbSlcXG5kYXRhLmZvckVhY2goZGF0YSA9PiB7XFxuICAgICAgaWYoIWRhdGEubmlja25hbWUuaW5jbHVkZXMoJzkx5a6Y5pa5Jykpe1xcbiAgICAgLy/op4bpopHlkozlm77niYdcXG4gICAgICB2YXIgbWVkaWFzPWRhdGEubWVkaWFzO1xcbiAgICAgLy/moIfnrb5cXG4gICAgICB2YXIgdGFncz1kYXRhLnRhZ3M7XFxuICAgICAgZC5wdXNoKHtcXHJcXG4gICAgICAgICAgICAgICAgdGl0bGU6IGRhdGEubmlja25hbWUsXFxuICAgICAgICAgICAgICAgIGltZzogZGF0YS50aHVtYitsYXp5LFxcbiAgICAgICAgICAgICAgICBkZXNjOmRhdGEuY3JlYXRlZF9hdCxcXHJcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJhdmF0YXJcXFwiLFxcbiAgICAgICAgICAgICAgICB1cmwgOiAnaGlrZXI6Ly9lbXB0eSMjZnlwYWdlIyMnK2RhdGEudXVpZCsnQHJ1bGU9anM6JC5yZXF1aXJlKFxcXCJoaWtlcjovL3BhZ2UvZGV0YWlsM1xcXCIpJyxcXG4gICAgICAgfSx7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiBkYXRhLnRpdGxlLFxcbiAgICAgICAgICAgICAgICBkZXNjOmRhdGEuY29udGVudCxcXG4gICAgICAgICAgICAgICAgdXJsOiAgICAnaGlrZXI6Ly9lbXB0eSMjJytkYXRhLmlkKydAcnVsZT1qczokLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9kZXRhaWw0XFxcIiknLFxcclxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxuICAgICAgICAgICAgICAgIGV4dHJhOiB7bGluZVZpc2libGU6IGZhbHNlfVxcbiAgICAgICB9KTtcXG4gICAgICAgbWVkaWFzLmZvckVhY2goZGF0YSA9PiB7XFxuICAgICAgIGlmKGRhdGEudGh1bWIhPW51bGwpe1xcbiAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiAn6KeG6aKR4pa277iPJyxcXG4gICAgICAgICAgICBpbWc6ZGF0YS50aHVtYitsYXp5LFxcbiAgICAgICAgICAgIHVybDogZGF0YS5tZWRpYV91cmwucmVwbGFjZSgvXFxcXC9cXFxcLy4qcGxheVxcXFwuLywnLy9sb25nLicpLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnbW92aWVfMycsXFxuICAgICAgICB9KTtcXG4gICAgICAgfWVsc2V7XFxuICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIGltZzogZGF0YS5tZWRpYV91cmwrbGF6eSxcXHJcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJwaWNfM19jYXJkXFxcIixcXG4gICAgICAgICAgICAgICAgdXJsIDogZGF0YS5tZWRpYV91cmwsXFxuICAgICAgIH0pXFxuICAgICAgIH1cXG4gICAgICB9KVxcbiAgICAgIHRhZ3MuZm9yRWFjaChkYXRhID0+IHtcXG4gICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTpkYXRhLnRhZyxcXG4gICAgICAgICAgICAgICAgdXJsOiAnaGlrZXI6Ly9lbXB0eSMjZnlwYWdlIyMnK2RhdGEuY2F0ZWdvcnlfaWQrJ0BydWxlPWpzOiQucmVxdWlyZShcXFwiaGlrZXI6Ly9wYWdlL3RhZ3NcXFwiKScsXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nXFxuICAgICAgfSlcXG4gICAgICB9KVxcbiAgICAgIH1cXG59KVxcbn1jYXRjaHt9XFxuc2V0UmVzdWx0KGQpXCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLliqjmvKtcIixcInBhdGhcIjpcImNhcnRvb25cIixcInJ1bGVcIjpcImpzOlxcbmV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvYWVzJykpLnJ1bGUpO1xcbnZhciDliqjmvKs9IFt7dGl0bGU6ICfmjqjojZAm6YeM55WqJjNE5Yqo5ryrJkNvc3BsYXkm6IKJ55WqJkjmvKsm5Y6f5L2cJk1NRCZNb3Rpb24gQW5pbWUnLGtleTogJzMwJjU0JjU2JjU4JjU1JjU3JjYyJjYxJjYwJ31dO1xcbmlmIChNWV9QQUdFID09IDEpIHtcXG4gICAgJC5yZXF1aXJlKFxcXCJDYXRlZ29yeVxcXCIpLkNhdGVnb3J5KOWKqOa8qywn5Yqo5ryrJywnc2Nyb2xsX2J1dHRvbicsZCk7XFxufVxcbnZhciDliqjmvKvnsbs9IFt7dGl0bGU6ICfmnIDmlrAm5q2j5Zyo55yLJumaj+acuibmnIDng60nLGtleTogJ25ldyZ3YXRjaGluZyZyYW5kJmhvdCd9XTtcXG5pZiAoTVlfUEFHRSA9PSAxKSB7XFxuICAgICQucmVxdWlyZShcXFwiQ2F0ZWdvcnlcXFwiKS5DYXRlZ29yeSjliqjmvKvnsbssJ+WKqOa8q+exuycsJ3Njcm9sbF9idXR0b24nLGQpO1xcbn1cXG52YXIgZGF0YTAgPSAne1xcXCJhcHBfdHlwZVxcXCI6XFxcImxvY2FsXFxcIixcXFwiYXBwX3N0YXR1c1xcXCI6XFxcIkVEMEFFMkI3MjBBMjA2MDhFNDk3RDNFMzZFODgwMjkzMzdDMUM4NjM6MVxcXCIsXFxcIm9hdXRoX3R5cGVcXFwiOlxcXCJhbmRyb2lkXFxcIixcXFwib2F1dGhfaWRcXFwiOlxcXCJjOGEzZGU2MWU0NWVkZDQwY2RkMWUxZTI4MjBlOTQyZVxcXCIsXFxcInZlcnNpb25cXFwiOlxcXCI2LjUuMFxcXCIsXFxcImFwaVYyXFxcIjpcXFwidjJcXFwiLFxcXCJzb3J0XFxcIjpcXFwiJytnZXRNeVZhcign5Yqo5ryr57G7JywgJ25ldycpKydcXFwiLFxcXCJhcHBfZnJvbVxcXCI6XFxcIjkxbGl0ZVxcXCIsXFxcInRva2VuXFxcIjpcXFwiXFxcIixcXFwiY29kZVxcXCI6XFxcImdldENvbnN0cnVjdEJ5SWRcXFwiLFxcXCJpZFxcXCI6XFxcIicrZ2V0TXlWYXIoJ+WKqOa8qycsICczMCcpKydcXFwiLFxcXCJtb2RcXFwiOlxcXCJyZXNvdXJjZXNcXFwiLFxcXCJwYWdlXFxcIjpcXFwiJytwZysnXFxcIn0nO1xcbi8vdmFyIHVybCA9ICdodHRwczovL2FwaTEuZHNwYXBpMi5jb20vYXBpLnBocCc7XFxuLy9sb2codXJsKVxcbmxldCBodG1sMiA9IHBvc3QoZ2V0TXlWYXIoJ2hvc3QnKSxkYXRhMCk7XFxudHJ5e1xcbmxldCBkYXRhPSBKU09OLnBhcnNlKGh0bWwyKS5kYXRhO1xcbmRhdGEuZm9yRWFjaChkYXRhID0+IHtcXG5pZigoZGF0YS5jb250ZW50X3R5cGUhPTExKSYoZGF0YS5jb250ZW50X3R5cGUhPTE4KSYoZGF0YS5jb250ZW50X3R5cGUhPTIxKSYoZGF0YS5jb250ZW50X3R5cGUhPTIwKSYoZGF0YS5jb250ZW50X3R5cGUhPTgpJihkYXRhLmNvbnRlbnRfdHlwZSE9MikmKCFkYXRhLnRpdGxlLmluY2x1ZGVzKCdiYW5uZXInKSkpe1xcbiAgICAgICBkLnB1c2goe1xcclxcbiAgICAgICAgICAgICAgICB0aXRsZTogY29sb3IoZGF0YS50aXRsZSksXFxyXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFwidGV4dF9pY29uXFxcIixcXG4gICAgICAgICAgICAgICAgaW1nOidoaWtlcjovL2ltYWdlcy9pY29uX3JpZ2h0NScsXFxuICAgICAgICAgICAgICAgIHVybCA6ICAnaGlrZXI6Ly9lbXB0eSMjZnlwYWdlIyMnK2RhdGEuaWQrJ0BydWxlPWpzOiQucmVxdWlyZShcXFwiaGlrZXI6Ly9wYWdlL2NhcnRvb25lcmppXFxcIiknLFxcbn0pXFxudmFyIGxpc3Q9ZGF0YS5saXN0O1xcbmxpc3QuZm9yRWFjaChkYXRhID0+IHtcXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IGRhdGEudGl0bGUsXFxuICAgICAgICAgICAgZGVzYzogJ/CflKUnK2RhdGEudmlld19jdCsnICAgICAgICAgICcrIHBhcnNlSW50KGRhdGEuZHVyYXRpb24vNjApKyc6JytwYXJzZUludChkYXRhLmR1cmF0aW9uJTYwKSxcXG4gICAgICAgICAgICBpbWc6IGRhdGEuY292ZXIrbGF6eSxcXG4gICAgICAgICAgICB1cmw6IGRhdGEuaWQrdm9kLFxcbiAgICAgICAgfSlcXG4gfSlcXG59XFxufSlcXG59Y2F0Y2h7fVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfMlwiLFwibmFtZVwiOlwi5Yqo5ryr5LqM57qnXCIsXCJwYXRoXCI6XCJjYXJ0b29uZXJqaVwiLFwicnVsZVwiOlwianM6XFxudmFyIGQ9W107XFxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9hZXMnKSkucnVsZSk7XFxudmFyIHQgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTsgLy9sb2codClcXG52YXIgdDA9TWF0aC5mbG9vcihEYXRlLm5vdygpKTtcXG52YXIgaWQ9TVlfVVJMLnNwbGl0KCcjIycpWzJdO1xcbnZhciBwZz1NWV9VUkwuc3BsaXQoJyMjJylbMV07XFxudmFyIOWKqOa8q+WIhuexuz0gW3t0aXRsZTogJ+acgOaWsCbmraPlnKjnnIsm6ZqP5py6JuacgOeDrScsa2V5OiAnbmV3JndhdGNoaW5nJnJhbmQmaG90J31dO1xcbmlmIChNWV9QQUdFID09IDEpIHtcXG4gICAgJC5yZXF1aXJlKFxcXCJDYXRlZ29yeVxcXCIpLkNhdGVnb3J5KOWKqOa8q+WIhuexuywn5Yqo5ryr5YiG57G7Jywnc2Nyb2xsX2J1dHRvbicsZCk7XFxufVxcbnZhciBkYXRhMD0ne1xcXCJhcHBfdHlwZVxcXCI6XFxcImxvY2FsXFxcIixcXFwibW9kXFxcIjpcXFwicmVzb3VyY2VzXFxcIixcXFwiY29kZVxcXCI6XFxcImdldEVsZW1lbnRJdGVtYnlJZFxcXCIsXFxcIm9hdXRoX3R5cGVcXFwiOlxcXCJhbmRyb2lkXFxcIixcXFwic29ydFxcXCI6XFxcIicrZ2V0TXlWYXIoJ+WKqOa8q+WIhuexuycsICduZXcnKSsnXFxcIixcXFwidmVyc2lvblxcXCI6XFxcIjYuNS4wXFxcIixcXFwidG9rZW5cXFwiOlxcXCJcXFwiLFxcXCJhcHBfc3RhdHVzXFxcIjpcXFwiRUQwQUUyQjcyMEEyMDYwOEU0OTdEM0UzNkU4ODAyOTMzN0MxQzg2MzoxXFxcIixcXFwib2F1dGhfaWRcXFwiOlxcXCJjOGEzZGU2MWU0NWVkZDQwY2RkMWUxZTI4MjBlOTQyZVxcXCIsXFxcInBhZ2VcXFwiOlxcXCInK3BnKydcXFwiLFxcXCJpZFxcXCI6XFxcIicraWQrJ1xcXCIsXFxcImFwaVYyXFxcIjpcXFwidjJcXFwiLFxcXCJhcHBfZnJvbVxcXCI6XFxcIjkxbGl0ZVxcXCJ9JztcXG4vL3ZhciB1cmwgPSAnaHR0cHM6Ly9hcGkxLmRzcGFwaTIuY29tL2FwaS5waHAnO1xcbi8vbG9nKHVybClcXG5sZXQgaHRtbDIgPSBwb3N0KGdldE15VmFyKCdob3N0JyksZGF0YTApOyBcXG50cnl7XFxubGV0IGxpc3Q9IEpTT04ucGFyc2UoaHRtbDIpLmRhdGEubGlzdDtcXG5saXN0LmZvckVhY2goZGF0YSA9PiB7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBkYXRhLnRpdGxlLFxcbiAgICAgICAgICAgIGRlc2M6ICfwn5SlJytkYXRhLnZpZXdfY3QrJyAgICAgJysgcGFyc2VJbnQoZGF0YS5kdXJhdGlvbi82MCkrJzonK3BhcnNlSW50KGRhdGEuZHVyYXRpb24lNjApKycgICAnK2RhdGEudGFnLFxcbiAgICAgICAgICAgIGltZzogZGF0YS5jb3ZlcitsYXp5LFxcbiAgICAgICAgICAgIHVybDogZGF0YS5pZCt2b2QsXFxuICAgICAgICB9KVxcbiB9KVxcbn1jYXRjaHt9XFxuc2V0UmVzdWx0KGQpXCJ9XSIsImljb24iOiJodHRwczovL21vZ3VhLmNvL2Rvd25sb2FkL2NjOWM4OTVmNzk3MWMyM2IzMmY2NDI1MThiYjEwODM1LWljb24ucG5nIiwicHJveHkiOiIifQ==
Add Comment
Please, Sign In to add comment