Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:二级页面详情¥page_detail¥规则设置@@eyJkYXRhIjoie1wiYXNzb2NpYXRlZE1vZGVsc01hcEZvckpvaW5UYWJsZVwiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhGS1wiOnt9LFwiYXNzb2NpYXRlZE1vZGVsc01hcFdpdGhvdXRGS1wiOnt9LFwiZmllbGRzVG9TZXRUb0RlZmF1bHRcIjpbXSxcImdtdE1vZGlmaWVkXCI6MCxcImlkXCI6MCxcImxhc3RfY2hhcHRlcl9ydWxlXCI6XCJcIixcImxpc3RUb0NsZWFyQXNzb2NpYXRlZEZLXCI6W10sXCJsaXN0VG9DbGVhclNlbGZGS1wiOltdLFwicGFnZUxpc3RcIjpbe1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuebruW9lVwiLFwicGF0aFwiOlwiY2F0YWxvZ3VlXCIsXCJydWxlXCI6XCJqczpcXG5ldmFsKEpTT04ucGFyc2UoZmV0Y2goXFxcImhpa2VyOi8vcGFnZS9nZXRIZWFkZXJzXFxcIikpLnJ1bGUpO1xcbmxldCByZWFkVGhlbWUgPSBnZXRJdGVtKCdyZWFkVGhlbWUnLCAnZmFsc2UnKSA9PSAndHJ1ZScgPyAnI3JlYWRUaGVtZSMnIDogJycsXFxuICAgIGZ1bGxUaGVtZSA9IGdldEl0ZW0oJ2Z1bGxUaGVtZScsICd0cnVlJykgPT0gJ3RydWUnID8gJyNmdWxsVGhlbWUjJyA6ICcnLFxcbiAgICB1cmwgPSBNWV9QQVJBTVMuaHJlZixcXG4gICAgZGF0YV9saXN0ID0gSlNPTi5wYXJzZShyZXF1ZXN0KHVybCwge1xcbiAgICAgICAgaGVhZGVyczogaGVhZGVyc1xcbiAgICB9KSkuZGF0YV9saXN0O1xcblxcbmxldCBkID0gW107XFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IGRhdGFfbGlzdC50aXRsZSArIFxcXCJcXFxcblxcXCIgKyBkYXRhX2xpc3QucWlzaHUsXFxuICAgIGRlc2M6IFxcXCLigJzigJzigJ3igJ1cXFwiICsgXFxcIueCueaIkeafpeeci+W+gOacn+acn+WIilxcXCIuYm9sZCgpLmJpZygpLFxcbiAgICBpbWc6IGRhdGFfbGlzdC5pbWcsXFxuICAgIGNvbF90eXBlOiAnbW92aWVfMV92ZXJ0aWNhbF9waWNfYmx1cicsXFxuICAgIHVybDogXFxcImhpa2VyOi8vcGFnZS9oaXN0b3J5XFxcIixcXG4gICAgZXh0cmE6IHtcXG4gICAgICAgIGhyZWY6IFxcXCJodHRwczovL2FwaS5saWZ2ZXMuY29tL21hZ2F6aW5lL2hpc3Rvcnk/bWFnX2lkPVxcXCIgKyBkYXRhX2xpc3QubWFnX2lkLFxcbiAgICAgICAgdGl0bGU6IGRhdGFfbGlzdC50aXRsZSxcXG4gICAgICAgIGltZzogZGF0YV9saXN0LmltZ1xcbiAgICB9XFxufSlcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJ+ebruW9lScuYmlnKCkuYm9sZCgpLFxcbiAgICBjb2xfdHlwZTogJ3JpY2hfdGV4dCdcXG59KVxcblxcbmxldCBzdHJvZ2UgPSB7fTtcXG5mb3IgKGxldCBpIGluIGRhdGFfbGlzdC5tbCkge1xcbiAgICBsZXQgbGlzdCA9IGRhdGFfbGlzdC5tbFtpXS5saXN0O1xcbiAgICBmb3IgKGxldCBqIGluIGxpc3QpIHtcXG4gICAgICAgIHN0cm9nZVtsaXN0W2pdLnRpdGxlXSA9IFxcXCJodHRwczovL2FwaS5saWZ2ZXMuY29tL21hZ2F6aW5lL3JlYWQ/cmVhZF9pZD1cXFwiICsgbGlzdFtqXS5yZWFkX2lkO1xcbiAgICB9XFxufVxcbnNhdmVGaWxlKCdzdHJvZ2UnLCBKU09OLnN0cmluZ2lmeShzdHJvZ2UpKTtcXG5sZXQgc3RhciA9IE9iamVjdC5rZXlzKHN0cm9nZSk7XFxuXFxuZm9yIChsZXQgaSBpbiBkYXRhX2xpc3QubWwpIHtcXG4gICAgbGV0IGl0ZW0gPSBkYXRhX2xpc3QubWxbaV07XFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogJ+KAnOKAnOKAneKAnTxzdHJvbmc+4pa2JyArIGl0ZW0udGl0bGUgKyAnPC9zdHJvbmc+JyxcXG4gICAgICAgIGNvbF90eXBlOiAndGV4dF8xJyxcXG4gICAgICAgIHVybDogXFxcImhpa2VyOi8vZW1wdHlcXFwiLFxcbiAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2VcXG4gICAgICAgIH1cXG4gICAgfSlcXG5cXG4gICAgaXRlbS5saXN0LmZvckVhY2goZSA9PiB7XFxuICAgICAgICBsZXQgaW5kZXggPSBzdGFyLmluZGV4T2YoZS50aXRsZSk7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiAn4oCc4oCc4oCd4oCdJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A74oCiJyArIGUudGl0bGUsXFxuICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnLFxcbiAgICAgICAgICAgIHVybDogJ2hpa2VyOi8vcGFnZS90ZXh0JyArIGZ1bGxUaGVtZSArIHJlYWRUaGVtZSxcXG4gICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2UsXFxuICAgICAgICAgICAgICAgIGhyZWY6IFxcXCJodHRwczovL2FwaS5saWZ2ZXMuY29tL21hZ2F6aW5lL3JlYWQ/cmVhZF9pZD1cXFwiICsgZS5yZWFkX2lkLFxcbiAgICAgICAgICAgICAgICBpbmRleDogaW5kZXhcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9KVxcbiAgICB9KVxcbn1cXG5cXG5zZXRSZXN1bHQoZCk7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLojrflj5bor7fmsYLlpLRcIixcInBhdGhcIjpcImdldEhlYWRlcnNcIixcInJ1bGVcIjpcIiBmdW5jdGlvbiByYW5kb21fY2hhcih0KSB7XFxuICAgICBmb3IgKHZhciBuID0gWycwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5JywgJ2EnLCAnYicsICdjJywgJ2QnLCAnZScsICdmJywgJ2cnLCAnaCcsICdpJywgJ2onLCAnaycsICdsJywgJ20nLCAnbicsICdvJywgJ3AnLCAncScsICdyJywgJ3MnLCAndCcsICd1JywgJ3YnLCAndycsICd4JywgJ3knLCAneiddLCBpID0gJycsIGUgPSAwOyBlIDwgdDsgZSsrKSB7XFxuICAgICAgICAgdmFyIG8gPSBNYXRoLmNlaWwoMzUgKiBNYXRoLnJhbmRvbSgpKVxcbiAgICAgICAgIGkgKz0gbltvXVxcbiAgICAgfVxcbiAgICAgcmV0dXJuIGlcXG4gfVxcblxcbiBmdW5jdGlvbiBnZXRTZWNyZXRkYXRlKCkge1xcbiAgICAgdmFyIHQgPSBwYXJzZUludCgobmV3IERhdGUoKSkuZ2V0VGltZSgpIC8gMWUzKVxcbiAgICAgdmFyIG4gPSByYW5kb21fY2hhcigzMilcXG4gICAgIHZhciBpID0gJ3RpbWVzdGFtcD0nICsgdCArICcmbm9uY2U9JyArIG5cXG4gICAgIHJldHVybiBpXFxuIH1cXG5cXG5cXG4gdmFyIHNlY3JldGRhdGUgPSBnZXRTZWNyZXRkYXRlKClcXG4gdmFyIHNlY3JldGVkID0gbWQ1KHNlY3JldGRhdGUgKyAnYXBpbGlmdmVzNTIwMTMxNCcpXFxuXFxuIHZhciBoZWFkZXJzID0ge1xcbiAgICAgJ1NlY3JldC1EYXRlJzogc2VjcmV0ZGF0ZSxcXG4gICAgICdTZWNyZXRlZCc6IHNlY3JldGVkLFxcbiAgICAgXFxcIkNvbnRlbnQtVHlwZVxcXCI6IFxcXCJhcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLThcXFwiXFxuIH1cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuW+gOacn+acn+WIilwiLFwicGF0aFwiOlwiaGlzdG9yeVwiLFwicnVsZVwiOlwianM6XFxuYWRkTGlzdGVuZXIoJ29uQ2xvc2UnLCAnY2xlYXJWYXIoXFxcInllYXJcXFwiKScpO1xcbmV2YWwoSlNPTi5wYXJzZShmZXRjaChcXFwiaGlrZXI6Ly9wYWdlL2dldEhlYWRlcnNcXFwiKSkucnVsZSk7XFxubGV0IGQgPSBbXSxcXG4gICAge1xcbiAgICAgICAgaHJlZjogdXJsLFxcbiAgICAgICAgdGl0bGU6IG5hbWUsXFxuICAgICAgICBpbWdcXG4gICAgfSA9IE1ZX1BBUkFNUyxcXG4gICAgY29sbGVjdGlvbiA9IEpTT04ucGFyc2UocmVhZEZpbGUoJ2NvbGxlY3Rpb24nKSB8fCAne30nKSxcXG4gICAgaXNDb2xsZWN0ZWQgPSAhIShjb2xsZWN0aW9uW25hbWVdICYmIGNvbGxlY3Rpb25bbmFtZV0udXJsID09IHVybCksXFxuICAgIGRhdGFfbGlzdCA9IEpTT04ucGFyc2UocmVxdWVzdCh1cmwsIHtcXG4gICAgICAgIGhlYWRlcnM6IGhlYWRlcnNcXG4gICAgfSkpLmRhdGFfbGlzdDtcXG5zZXRQYWdlVGl0bGUobmFtZSk7XFxuc2V0TGFzdENoYXB0ZXJSdWxlKCdqczonICsgJC50b1N0cmluZygoKSA9PiB7XFxuICAgIGV2YWwoSlNPTi5wYXJzZShmZXRjaChcXFwiaGlrZXI6Ly9wYWdlL2dldEhlYWRlcnNcXFwiKSkucnVsZSk7XFxuICAgIGxldCB1cmwgPSBNWV9QQVJBTVMuaHJlZixcXG4gICAgICAgIGRhdGFfbGlzdCA9IEpTT04ucGFyc2UocmVxdWVzdCh1cmwsIHtcXG4gICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzXFxuICAgICAgICB9KSkuZGF0YV9saXN0LFxcbiAgICAgICAgZGF0YSA9IGRhdGFfbGlzdFswXS5kYXRhWzBdLnFpc2h1O1xcbiAgICBzZXRSZXN1bHQoJ+acgOaWsO+8micgKyBkYXRhKTtcXG59KSk7XFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IGlzQ29sbGVjdGVkID8gJ+KZpeW3suaUtuiXjycgOiAn4pmh5re75Yqg5pS26JePJyxcXG4gICAgdXJsOiAkKCkubGF6eVJ1bGUoKGlzLCB1cmwsIG5hbWUsIGltZykgPT4ge1xcbiAgICAgICAgbGV0IGNvbGxlY3Rpb24gPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdjb2xsZWN0aW9uJykgfHwgJ3t9Jyk7XFxuICAgICAgICBpZiAoaXMpIHtcXG4gICAgICAgICAgICBkZWxldGUgY29sbGVjdGlvbltuYW1lXTtcXG4gICAgICAgICAgICBzYXZlRmlsZSgnY29sbGVjdGlvbicsIEpTT04uc3RyaW5naWZ5KGNvbGxlY3Rpb24pKTtcXG4gICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/lt7Llj5bmtojmlLbol48nXFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIGNvbGxlY3Rpb25bbmFtZV0gPSB7XFxuICAgICAgICAgICAgICAgIHVybDogdXJsLFxcbiAgICAgICAgICAgICAgICBpbWc6IGltZ1xcbiAgICAgICAgICAgIH07XFxuICAgICAgICAgICAgc2F2ZUZpbGUoJ2NvbGxlY3Rpb24nLCBKU09OLnN0cmluZ2lmeShjb2xsZWN0aW9uKSk7XFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5bey5re75Yqg5pS26JePJ1xcbiAgICAgICAgfVxcbiAgICB9LCBpc0NvbGxlY3RlZCwgdXJsLCBuYW1lLCBpbWcpLFxcbiAgICBjb2xfdHlwZTogXFxcInNjcm9sbF9idXR0b25cXFwiLFxcbn0pO1xcblxcbmxldCBkYXRhID0ge30sXFxuICAgIG5vdyA9IGdldFZhcigneWVhcicsIFN0cmluZyhkYXRhX2xpc3RbMF0ueWVhcikpO1xcbmZvciAobGV0IGxpc3Qgb2YgZGF0YV9saXN0KSB7XFxuICAgIGlmIChub3cgPT0gbGlzdC55ZWFyKSBkYXRhID0gbGlzdC5kYXRhO1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6ICfigJzigJzigJ3igJ0nICsgKGxpc3QueWVhciA9PSBub3cgPyAnPGZvbnQgY29sb3I9cmVkPicgKyBsaXN0LnllYXIgKyAnPC9mb250PicgOiBsaXN0LnllYXIpLFxcbiAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXG4gICAgICAgIHVybDogJCgpLmxhenlSdWxlKCh5ZWFyKSA9PiB7XFxuICAgICAgICAgICAgcHV0VmFyKCd5ZWFyJywgU3RyaW5nKHllYXIpKTtcXG4gICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXG4gICAgICAgIH0sIGxpc3QueWVhcilcXG4gICAgfSk7XFxufVxcbmZvciAobGV0IGl0ZW0gb2YgZGF0YSkge1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IGl0ZW0ucWlzaHUsXFxuICAgICAgICB1cmw6ICdoaWtlcjovL3BhZ2UvY2F0YWxvZ3VlI2ltbWVyc2l2ZVRoZW1lIycsXFxuICAgICAgICBpbWc6IGl0ZW0uaW1nLFxcbiAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICBocmVmOiBcXFwiaHR0cHM6Ly9hcGkubGlmdmVzLmNvbS9tYWdhemluZS9ib29rP21hZ19pZD1cXFwiICsgaXRlbS5tYWdfaWQgKyBcXFwiJnFpc2h1PVxcXCIgKyBpdGVtLnFpc2h1XFxuICAgICAgICB9XFxuICAgIH0pO1xcbn1cXG5zZXRSZXN1bHQoZCk7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLmlofnq6BcIixcInBhdGhcIjpcInRleHRcIixcInJ1bGVcIjpcImpzOlxcbmFkZExpc3RlbmVyKCdvbkNsb3NlJywgJC50b1N0cmluZygoKSA9PiB7XFxuICAgIGNsZWFyVmFyKCd0ZXh0aHJlZicpO1xcbiAgICBjbGVhclZhcigndGV4dHRpdGxlJyk7XFxuICAgIGNsZWFyVmFyKCd0ZXh0aW5kZXgnKTtcXG59KSk7XFxubGV0IGNsaWNrID0gZ2V0SXRlbSgnY2xpY2snLCAndHJ1ZScpLFxcbiAgICBmb250c2l6ZSA9IHBhcnNlSW50KGdldEl0ZW0oJ2ZvbnRzaXplJywgU3RyaW5nKDE3KSkpLFxcbiAgICBpbmRlbnQgPSBwYXJzZUludChnZXRJdGVtKCdpbmRlbnQnLCBTdHJpbmcoNykpKSxcXG4gICAgaW5kZW50cyA9ICcnO1xcbmZvciAobGV0IGkgPSAwOyBpIDwgaW5kZW50OyBpKyspIHtcXG4gICAgaW5kZW50cyArPSAnJm5ic3A7JztcXG59XFxubGV0IHN0cm9nZSA9IEpTT04ucGFyc2UocmVhZEZpbGUoJ3N0cm9nZScpKSxcXG4gICAgc3RhciA9IE9iamVjdC5rZXlzKHN0cm9nZSk7XFxuXFxuZXZhbChKU09OLnBhcnNlKGZldGNoKFxcXCJoaWtlcjovL3BhZ2UvZ2V0SGVhZGVyc1xcXCIpKS5ydWxlKTtcXG5sZXQgaW5kZXggPSBwYXJzZUludChnZXRWYXIoJ3RleHRpbmRleCcpIHx8IE1ZX1BBUkFNUy5pbmRleCksXFxuICAgIGhyZWYgPSBnZXRWYXIoJ3RleHRocmVmJywgJycpIHx8IE1ZX1BBUkFNUy5ocmVmLFxcbiAgICBkYXRhX2xpc3QgPSBKU09OLnBhcnNlKHJlcXVlc3QoaHJlZiwge1xcbiAgICAgICAgaGVhZGVyczogaGVhZGVyc1xcbiAgICB9KSkuZGF0YV9saXN0O1xcblxcbmxldCBkID0gW107XFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICfigJzigJzigJ3igJ08aDI+JyArIGRhdGFfbGlzdC50aXRsZSArICc8L2gyPicsXFxuICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxuICAgIHVybDogXFxcImh0dHA6Ly9xay5kZW1vLmxpZnZlcy5jb20vYm9vay9yZWFkL1xcXCIgKyBkYXRhX2xpc3QubWFnX2lkICsgXFxcIi9cXFwiICsgZGF0YV9saXN0LnFpc2h1ICsgXFxcIi9cXFwiICsgZGF0YV9saXN0LnJlYWRfaWQsXFxuICAgIGV4dHJhOiB7XFxuICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2VcXG4gICAgfVxcbn0sIHtcXG4gICAgdGl0bGU6IGRhdGFfbGlzdC5jb250ZW50LnJlcGxhY2UoL1xcXFw+W2EtekEtWjAtOSs9XFxcXC1cXFxcL10qXFxcXDwvZywgJz48JykucmVwbGFjZSgvKFxcXFw8cFxcXFw+XFxcXHMqKStcXFxcPC9nLCc8JykucmVwbGFjZSgvXFxcXDxwXFxcXD4vZywgJzxwPicgKyBpbmRlbnRzKSxcXG4gICAgY29sX3R5cGU6ICdyaWNoX3RleHQnLFxcbiAgICBleHRyYToge1xcbiAgICAgICAgdGV4dFNpemU6IGZvbnRzaXplLFxcbiAgICAgICAgY2xpY2s6IGNsaWNrXFxuICAgIH1cXG59KVxcbmlmIChpbmRleCAhPSAwKSB7XFxuICAgIGxldCB0aXRsZSA9IHN0YXJbaW5kZXggLSAxXTtcXG4gICAgbGV0IGhyZWYgPSBzdHJvZ2VbdGl0bGVdO1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6ICfkuIrkuIDnr4c6JyArIHRpdGxlLFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXG4gICAgICAgIHVybDogJCgnaGlrZXI6Ly9lbXB0eSNub0xvYWRpbmcjJykubGF6eVJ1bGUoKGhyZWYsIHRpdGxlLCBpbmRleCkgPT4ge1xcbiAgICAgICAgICAgIHB1dFZhcigndGV4dGhyZWYnLCBocmVmKTtcXG4gICAgICAgICAgICBwdXRWYXIoJ3RleHR0aXRsZScsIHRpdGxlKTtcXG4gICAgICAgICAgICBwdXRWYXIoJ3RleHRpbmRleCcsIFN0cmluZyhpbmRleCAtIDEpKTtcXG4gICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXG4gICAgICAgIH0sIGhyZWYsIHRpdGxlLCBpbmRleCksXFxuICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgIGhyZWY6IGhyZWYsXFxuICAgICAgICAgICAgbGluZVZpc2libGU6IGZhbHNlXFxuICAgICAgICB9XFxuICAgIH0pXFxufVxcbmlmIChpbmRleCAhPSBzdGFyLmxlbmd0aCAtIDEpIHtcXG4gICAgbGV0IHRpdGxlID0gc3RhcltpbmRleCArIDFdO1xcbiAgICBsZXQgaHJlZiA9IHN0cm9nZVt0aXRsZV07XFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogJ+S4i+S4gOevhzonICsgdGl0bGUsXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcbiAgICAgICAgdXJsOiAkKCdoaWtlcjovL2VtcHR5I25vTG9hZGluZyMnKS5sYXp5UnVsZSgoaHJlZiwgdGl0bGUsIGluZGV4KSA9PiB7XFxuICAgICAgICAgICAgcHV0VmFyKCd0ZXh0aHJlZicsIGhyZWYpO1xcbiAgICAgICAgICAgIHB1dFZhcigndGV4dHRpdGxlJywgdGl0bGUpO1xcbiAgICAgICAgICAgIHB1dFZhcigndGV4dGluZGV4JywgU3RyaW5nKGluZGV4ICsgMSkpO1xcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKCk7XFxuICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcbiAgICAgICAgfSwgaHJlZiwgdGl0bGUsIGluZGV4KSxcXG4gICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgaHJlZjogaHJlZixcXG4gICAgICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2VcXG4gICAgICAgIH1cXG4gICAgfSlcXG59XFxuZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgaSsrKSB7XFxuICAgIGQucHVzaCh7XFxuICAgICAgICBjb2xfdHlwZTogJ2JsYW5rX2Jsb2NrJ1xcbiAgICB9KVxcbn1cXG5zZXRSZXN1bHQoZCk7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLorr7nva7pobVcIixcInBhdGhcIjpcInNldHRpbmdcIixcInJ1bGVcIjpcImpzOlxcbmxldCBkID0gW107XFxubGV0IGZvbnRzaXplID0gcGFyc2VJbnQoZ2V0SXRlbSgnZm9udHNpemUnLCBTdHJpbmcoMTcpKSk7XFxubGV0IGluZGVudCA9IHBhcnNlSW50KGdldEl0ZW0oJ2luZGVudCcsIFN0cmluZyg3KSkpO1xcbmxldCBpbmRlbnRzID0gJyc7XFxuZm9yIChsZXQgaSA9IDA7IGkgPCBpbmRlbnQ7IGkrKykge1xcbiAgICBpbmRlbnRzICs9ICcmbmJzcDsnO1xcbn1cXG5sZXQgcmVhZFRoZW1lID0gZ2V0SXRlbSgncmVhZFRoZW1lJywnZmFsc2UnKTtcXG5sZXQgZnVsbFRoZW1lID0gZ2V0SXRlbSgnZnVsbFRoZW1lJywgJ3RydWUnKTtcXG5sZXQgY2xpY2sgPSBnZXRJdGVtKCdjbGljaycsICd0cnVlJyk7XFxuXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICfpmIXor7vmqKHlvI8nICsgKHJlYWRUaGVtZSA9PSAndHJ1ZScgPyAn4pyUJyA6ICfinJgnKSxcXG4gICAgY29sX3R5cGU6ICd0ZXh0XzMnLFxcbiAgICB1cmw6IHJlYWRUaGVtZSA9PSAndHJ1ZScgPyAkKCdoaWtlcjovL2VtcHR5I25vTG9hZGluZyMnKS5sYXp5UnVsZSgoKSA9PiB7XFxuICAgICAgICBzZXRJdGVtKCdyZWFkVGhlbWUnLCAnZmFsc2UnKTtcXG4gICAgICAgIHJlZnJlc2hQYWdlKCk7XFxuICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknO1xcbiAgICB9KSA6JCgn5rOo5oSP77ya5byA5ZCv6ZiF6K+75qih5byP5ZCOLOWFqOWxj+aooeW8j+iuvue9ruWSjOWtl+WPt+iuvue9ruWwhuS4jei1t+S9nOeUqO+8gScpLmNvbmZpcm0oKCkgPT4ge1xcbiAgICAgICAgc2V0SXRlbSgncmVhZFRoZW1lJywgJ3RydWUnKTtcXG4gICAgICAgIHJlZnJlc2hQYWdlKCk7XFxuICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknO1xcbiAgICB9KVxcbn0pXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICflhajlsY/mqKHlvI8nICsgKGZ1bGxUaGVtZSA9PSAndHJ1ZScgPyAn4pyUJyA6ICfinJgnKSxcXG4gICAgY29sX3R5cGU6ICd0ZXh0XzMnLFxcbiAgICB1cmw6ICQoJ2hpa2VyOi8vZW1wdHkjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChpKSA9PiB7XFxuICAgICAgICBzZXRJdGVtKCdmdWxsVGhlbWUnLCBpID09ICd0cnVlJyA/ICdmYWxzZScgOiAndHJ1ZScpO1xcbiAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSc7XFxuICAgIH0sIGZ1bGxUaGVtZSlcXG59KVxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn54K55Ye757+76aG1JyArIChjbGljayA9PSAndHJ1ZScgPyAn4pyUJyA6ICfinJgnKSxcXG4gICAgY29sX3R5cGU6ICd0ZXh0XzMnLFxcbiAgICB1cmw6ICQoJ2hpa2VyOi8vZW1wdHkjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChpKSA9PiB7XFxuICAgICAgICBzZXRJdGVtKCdjbGljaycsIGkgPT0gJ3RydWUnID8gJ2ZhbHNlJyA6ICd0cnVlJyk7XFxuICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5JztcXG4gICAgfSwgY2xpY2spXFxufSlcXG5cXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJ+iwg+aVtOWtl+WPtycuYmlnKCkuYm9sZCgpLFxcbiAgICBjb2xfdHlwZTogJ3JpY2hfdGV4dCdcXG59KVxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn5a2X5Y+34p6VJyxcXG4gICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbicsXFxuICAgIHVybDogJChcXFwiaGlrZXI6Ly9lbXB0eSNub0xvYWRpbmcjXFxcIikubGF6eVJ1bGUoKHMpID0+IHtcXG4gICAgICAgIHNldEl0ZW0oJ2ZvbnRzaXplJywgU3RyaW5nKHMgKyAxKSk7XFxuICAgICAgICByZWZyZXNoUGFnZShmYWxzZSk7XFxuICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgIH0sIGZvbnRzaXplKVxcbn0sIHtcXG4gICAgdGl0bGU6ICflrZflj7finpYnLFxcbiAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJyxcXG4gICAgdXJsOiAkKFxcXCJoaWtlcjovL2VtcHR5I25vTG9hZGluZyNcXFwiKS5sYXp5UnVsZSgocykgPT4ge1xcbiAgICAgICAgc2V0SXRlbSgnZm9udHNpemUnLCBTdHJpbmcocyAtIDEpKTtcXG4gICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcXG4gICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgfSwgZm9udHNpemUpXFxufSlcXG5cXG5kLnB1c2goe1xcbiAgICBjb2xfdHlwZTogJ2xpbmUnXFxufSlcXG5cXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJ+iwg+aVtOe8qei/mycuYmlnKCkuYm9sZCgpLFxcbiAgICBjb2xfdHlwZTogJ3JpY2hfdGV4dCdcXG59KVxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn57yp6L+b4p6VJyxcXG4gICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbicsXFxuICAgIHVybDogJChcXFwiaGlrZXI6Ly9lbXB0eSNub0xvYWRpbmcjXFxcIikubGF6eVJ1bGUoKHMpID0+IHtcXG4gICAgICAgIHNldEl0ZW0oJ2luZGVudCcsIFN0cmluZyhzICsgMSkpO1xcbiAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcbiAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICB9LCBpbmRlbnQpXFxufSwge1xcbiAgICB0aXRsZTogJ+e8qei/m+KelicsXFxuICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nLFxcbiAgICB1cmw6ICQoXFxcImhpa2VyOi8vZW1wdHkjbm9Mb2FkaW5nI1xcXCIpLmxhenlSdWxlKChzKSA9PiB7XFxuICAgICAgICBzZXRJdGVtKCdpbmRlbnQnLCBTdHJpbmcocyAtIDEpKTtcXG4gICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcXG4gICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgfSwgaW5kZW50KVxcbn0pXFxuXFxuZC5wdXNoKHtcXG4gICAgY29sX3R5cGU6ICdsaW5lJ1xcbn0pXFxuXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICfpooTop4gnLmJpZygpICsgJyjlrZflj7c6JyArIGZvbnRzaXplICsgJyznvKnov5s6JyArIGluZGVudCArICcpJyxcXG4gICAgY29sX3R5cGU6ICdyaWNoX3RleHQnXFxufSwge1xcbiAgICB0aXRsZTogJzxwPuWwj+ajieiihOW4heWQlz88L3A+PHA+5bCP5qOJ6KKE5oCO5LmI6L+Z5LmI5biF77yfPC9wPjxwPuWwj+ajieiihOecn+aYr+i2hei2hei2hei2hei2hei2hei2hei2hee6p+W4hSEhISHluIXngrjkuoblpb3kuI3lpb3vvJ/kuL7kuJbpopzml6Dlj4whISEhPC9wPicucmVwbGFjZSgvXFxcXDxwXFxcXD4vZywgJzxwPicgKyBpbmRlbnRzKSxcXG4gICAgY29sX3R5cGU6ICdyaWNoX3RleHQnLFxcbiAgICBleHRyYToge1xcbiAgICAgICAgdGV4dFNpemU6IGZvbnRzaXplXFxuICAgIH1cXG59KVxcbnNldFJlc3VsdChkKTtcIn1dLFwic2F2ZWRcIjpmYWxzZSxcInRpdGxlXCI6XCLmnJ/liIrmnYLlv5dkZW1vXCIsXCJ2ZXJzaW9uXCI6MCxcInVybFwiOlwiaGlrZXI6Ly9wYWdlL3NldHRpbmdcIixcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJmaW5kX3J1bGVcIjpcImpzOlxcbmxldCBkID0gW107XFxubGV0IGZvbnRzaXplID0gcGFyc2VJbnQoZ2V0SXRlbSgnZm9udHNpemUnLCBTdHJpbmcoMTcpKSk7XFxubGV0IGluZGVudCA9IHBhcnNlSW50KGdldEl0ZW0oJ2luZGVudCcsIFN0cmluZyg3KSkpO1xcbmxldCBpbmRlbnRzID0gJyc7XFxuZm9yIChsZXQgaSA9IDA7IGkgPCBpbmRlbnQ7IGkrKykge1xcbiAgICBpbmRlbnRzICs9ICcmbmJzcDsnO1xcbn1cXG5sZXQgcmVhZFRoZW1lID0gZ2V0SXRlbSgncmVhZFRoZW1lJywnZmFsc2UnKTtcXG5sZXQgZnVsbFRoZW1lID0gZ2V0SXRlbSgnZnVsbFRoZW1lJywgJ3RydWUnKTtcXG5sZXQgY2xpY2sgPSBnZXRJdGVtKCdjbGljaycsICd0cnVlJyk7XFxuXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICfpmIXor7vmqKHlvI8nICsgKHJlYWRUaGVtZSA9PSAndHJ1ZScgPyAn4pyUJyA6ICfinJgnKSxcXG4gICAgY29sX3R5cGU6ICd0ZXh0XzMnLFxcbiAgICB1cmw6IHJlYWRUaGVtZSA9PSAndHJ1ZScgPyAkKCdoaWtlcjovL2VtcHR5I25vTG9hZGluZyMnKS5sYXp5UnVsZSgoKSA9PiB7XFxuICAgICAgICBzZXRJdGVtKCdyZWFkVGhlbWUnLCAnZmFsc2UnKTtcXG4gICAgICAgIHJlZnJlc2hQYWdlKCk7XFxuICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknO1xcbiAgICB9KSA6JCgn5rOo5oSP77ya5byA5ZCv6ZiF6K+75qih5byP5ZCOLOWFqOWxj+aooeW8j+iuvue9ruWSjOWtl+WPt+iuvue9ruWwhuS4jei1t+S9nOeUqO+8gScpLmNvbmZpcm0oKCkgPT4ge1xcbiAgICAgICAgc2V0SXRlbSgncmVhZFRoZW1lJywgJ3RydWUnKTtcXG4gICAgICAgIHJlZnJlc2hQYWdlKCk7XFxuICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknO1xcbiAgICB9KVxcbn0pXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICflhajlsY/mqKHlvI8nICsgKGZ1bGxUaGVtZSA9PSAndHJ1ZScgPyAn4pyUJyA6ICfinJgnKSxcXG4gICAgY29sX3R5cGU6ICd0ZXh0XzMnLFxcbiAgICB1cmw6ICQoJ2hpa2VyOi8vZW1wdHkjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChpKSA9PiB7XFxuICAgICAgICBzZXRJdGVtKCdmdWxsVGhlbWUnLCBpID09ICd0cnVlJyA/ICdmYWxzZScgOiAndHJ1ZScpO1xcbiAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSc7XFxuICAgIH0sIGZ1bGxUaGVtZSlcXG59KVxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn54K55Ye757+76aG1JyArIChjbGljayA9PSAndHJ1ZScgPyAn4pyUJyA6ICfinJgnKSxcXG4gICAgY29sX3R5cGU6ICd0ZXh0XzMnLFxcbiAgICB1cmw6ICQoJ2hpa2VyOi8vZW1wdHkjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChpKSA9PiB7XFxuICAgICAgICBzZXRJdGVtKCdjbGljaycsIGkgPT0gJ3RydWUnID8gJ2ZhbHNlJyA6ICd0cnVlJyk7XFxuICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5JztcXG4gICAgfSwgY2xpY2spXFxufSlcXG5cXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJ+iwg+aVtOWtl+WPtycuYmlnKCkuYm9sZCgpLFxcbiAgICBjb2xfdHlwZTogJ3JpY2hfdGV4dCdcXG59KVxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn5a2X5Y+34p6VJyxcXG4gICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbicsXFxuICAgIHVybDogJChcXFwiaGlrZXI6Ly9lbXB0eSNub0xvYWRpbmcjXFxcIikubGF6eVJ1bGUoKHMpID0+IHtcXG4gICAgICAgIHNldEl0ZW0oJ2ZvbnRzaXplJywgU3RyaW5nKHMgKyAxKSk7XFxuICAgICAgICByZWZyZXNoUGFnZShmYWxzZSk7XFxuICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgIH0sIGZvbnRzaXplKVxcbn0sIHtcXG4gICAgdGl0bGU6ICflrZflj7finpYnLFxcbiAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJyxcXG4gICAgdXJsOiAkKFxcXCJoaWtlcjovL2VtcHR5I25vTG9hZGluZyNcXFwiKS5sYXp5UnVsZSgocykgPT4ge1xcbiAgICAgICAgc2V0SXRlbSgnZm9udHNpemUnLCBTdHJpbmcocyAtIDEpKTtcXG4gICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcXG4gICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgfSwgZm9udHNpemUpXFxufSlcXG5cXG5kLnB1c2goe1xcbiAgICBjb2xfdHlwZTogJ2xpbmUnXFxufSlcXG5cXG5kLnB1c2goe1xcbiAgICB0aXRsZTogJ+iwg+aVtOe8qei/mycuYmlnKCkuYm9sZCgpLFxcbiAgICBjb2xfdHlwZTogJ3JpY2hfdGV4dCdcXG59KVxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn57yp6L+b4p6VJyxcXG4gICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbicsXFxuICAgIHVybDogJChcXFwiaGlrZXI6Ly9lbXB0eSNub0xvYWRpbmcjXFxcIikubGF6eVJ1bGUoKHMpID0+IHtcXG4gICAgICAgIHNldEl0ZW0oJ2luZGVudCcsIFN0cmluZyhzICsgMSkpO1xcbiAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcbiAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICB9LCBpbmRlbnQpXFxufSwge1xcbiAgICB0aXRsZTogJ+e8qei/m+KelicsXFxuICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nLFxcbiAgICB1cmw6ICQoXFxcImhpa2VyOi8vZW1wdHkjbm9Mb2FkaW5nI1xcXCIpLmxhenlSdWxlKChzKSA9PiB7XFxuICAgICAgICBzZXRJdGVtKCdpbmRlbnQnLCBTdHJpbmcocyAtIDEpKTtcXG4gICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcXG4gICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgfSwgaW5kZW50KVxcbn0pXFxuXFxuZC5wdXNoKHtcXG4gICAgY29sX3R5cGU6ICdsaW5lJ1xcbn0pXFxuXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICfpooTop4gnLmJpZygpICsgJyjlrZflj7c6JyArIGZvbnRzaXplICsgJyznvKnov5s6JyArIGluZGVudCArICcpJyxcXG4gICAgY29sX3R5cGU6ICdyaWNoX3RleHQnXFxufSwge1xcbiAgICB0aXRsZTogJzxwPuWwj+ajieiihOW4heWQlz88L3A+PHA+5bCP5qOJ6KKE5oCO5LmI6L+Z5LmI5biF77yfPC9wPjxwPuWwj+ajieiihOecn+aYr+i2hei2hei2hei2hei2hei2hei2hei2hee6p+W4hSEhISHluIXngrjkuoblpb3kuI3lpb3vvJ/kuL7kuJbpopzml6Dlj4whISEhPC9wPicucmVwbGFjZSgvXFxcXDxwXFxcXD4vZywgJzxwPicgKyBpbmRlbnRzKSxcXG4gICAgY29sX3R5cGU6ICdyaWNoX3RleHQnLFxcbiAgICBleHRyYToge1xcbiAgICAgICAgdGV4dFNpemU6IGZvbnRzaXplXFxuICAgIH1cXG59KVxcbnNldFJlc3VsdChkKTtcIixcImdyb3VwXCI6XCLpmIXor7tcIixcInVhXCI6XCJtb2JpbGVcIixcInByZVJ1bGVcIjpcIlwiLFwicGFnZXNcIjpcIlt7XFxcImNvbF90eXBlXFxcIjpcXFwibW92aWVfM1xcXCIsXFxcIm5hbWVcXFwiOlxcXCLnm67lvZVcXFwiLFxcXCJwYXRoXFxcIjpcXFwiY2F0YWxvZ3VlXFxcIixcXFwicnVsZVxcXCI6XFxcImpzOlxcXFxuZXZhbChKU09OLnBhcnNlKGZldGNoKFxcXFxcXFwiaGlrZXI6Ly9wYWdlL2dldEhlYWRlcnNcXFxcXFxcIikpLnJ1bGUpO1xcXFxubGV0IHJlYWRUaGVtZSA9IGdldEl0ZW0oJ3JlYWRUaGVtZScsICdmYWxzZScpID09ICd0cnVlJyA/ICcjcmVhZFRoZW1lIycgOiAnJyxcXFxcbiAgICBmdWxsVGhlbWUgPSBnZXRJdGVtKCdmdWxsVGhlbWUnLCAndHJ1ZScpID09ICd0cnVlJyA/ICcjZnVsbFRoZW1lIycgOiAnJyxcXFxcbiAgICB1cmwgPSBNWV9QQVJBTVMuaHJlZixcXFxcbiAgICBkYXRhX2xpc3QgPSBKU09OLnBhcnNlKHJlcXVlc3QodXJsLCB7XFxcXG4gICAgICAgIGhlYWRlcnM6IGhlYWRlcnNcXFxcbiAgICB9KSkuZGF0YV9saXN0O1xcXFxuXFxcXG5sZXQgZCA9IFtdO1xcXFxuZC5wdXNoKHtcXFxcbiAgICB0aXRsZTogZGF0YV9saXN0LnRpdGxlICsgXFxcXFxcXCJcXFxcXFxcXG5cXFxcXFxcIiArIGRhdGFfbGlzdC5xaXNodSxcXFxcbiAgICBkZXNjOiBcXFxcXFxcIuKAnOKAnOKAneKAnVxcXFxcXFwiICsgXFxcXFxcXCLngrnmiJHmn6XnnIvlvoDmnJ/mnJ/liIpcXFxcXFxcIi5ib2xkKCkuYmlnKCksXFxcXG4gICAgaW1nOiBkYXRhX2xpc3QuaW1nLFxcXFxuICAgIGNvbF90eXBlOiAnbW92aWVfMV92ZXJ0aWNhbF9waWNfYmx1cicsXFxcXG4gICAgdXJsOiBcXFxcXFxcImhpa2VyOi8vcGFnZS9oaXN0b3J5XFxcXFxcXCIsXFxcXG4gICAgZXh0cmE6IHtcXFxcbiAgICAgICAgaHJlZjogXFxcXFxcXCJodHRwczovL2FwaS5saWZ2ZXMuY29tL21hZ2F6aW5lL2hpc3Rvcnk/bWFnX2lkPVxcXFxcXFwiICsgZGF0YV9saXN0Lm1hZ19pZCxcXFxcbiAgICAgICAgdGl0bGU6IGRhdGFfbGlzdC50aXRsZSxcXFxcbiAgICAgICAgaW1nOiBkYXRhX2xpc3QuaW1nXFxcXG4gICAgfVxcXFxufSlcXFxcbmQucHVzaCh7XFxcXG4gICAgdGl0bGU6ICfnm67lvZUnLmJpZygpLmJvbGQoKSxcXFxcbiAgICBjb2xfdHlwZTogJ3JpY2hfdGV4dCdcXFxcbn0pXFxcXG5cXFxcbmxldCBzdHJvZ2UgPSB7fTtcXFxcbmZvciAobGV0IGkgaW4gZGF0YV9saXN0Lm1sKSB7XFxcXG4gICAgbGV0IGxpc3QgPSBkYXRhX2xpc3QubWxbaV0ubGlzdDtcXFxcbiAgICBmb3IgKGxldCBqIGluIGxpc3QpIHtcXFxcbiAgICAgICAgc3Ryb2dlW2xpc3Rbal0udGl0bGVdID0gXFxcXFxcXCJodHRwczovL2FwaS5saWZ2ZXMuY29tL21hZ2F6aW5lL3JlYWQ/cmVhZF9pZD1cXFxcXFxcIiArIGxpc3Rbal0ucmVhZF9pZDtcXFxcbiAgICB9XFxcXG59XFxcXG5zYXZlRmlsZSgnc3Ryb2dlJywgSlNPTi5zdHJpbmdpZnkoc3Ryb2dlKSk7XFxcXG5sZXQgc3RhciA9IE9iamVjdC5rZXlzKHN0cm9nZSk7XFxcXG5cXFxcbmZvciAobGV0IGkgaW4gZGF0YV9saXN0Lm1sKSB7XFxcXG4gICAgbGV0IGl0ZW0gPSBkYXRhX2xpc3QubWxbaV07XFxcXG4gICAgZC5wdXNoKHtcXFxcbiAgICAgICAgdGl0bGU6ICfigJzigJzigJ3igJ08c3Ryb25nPuKWticgKyBpdGVtLnRpdGxlICsgJzwvc3Ryb25nPicsXFxcXG4gICAgICAgIGNvbF90eXBlOiAndGV4dF8xJyxcXFxcbiAgICAgICAgdXJsOiBcXFxcXFxcImhpa2VyOi8vZW1wdHlcXFxcXFxcIixcXFxcbiAgICAgICAgZXh0cmE6IHtcXFxcbiAgICAgICAgICAgIGxpbmVWaXNpYmxlOiBmYWxzZVxcXFxuICAgICAgICB9XFxcXG4gICAgfSlcXFxcblxcXFxuICAgIGl0ZW0ubGlzdC5mb3JFYWNoKGUgPT4ge1xcXFxuICAgICAgICBsZXQgaW5kZXggPSBzdGFyLmluZGV4T2YoZS50aXRsZSk7XFxcXG4gICAgICAgIGQucHVzaCh7XFxcXG4gICAgICAgICAgICB0aXRsZTogJ+KAnOKAnOKAneKAnSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO+KAoicgKyBlLnRpdGxlLFxcXFxuICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnLFxcXFxuICAgICAgICAgICAgdXJsOiAnaGlrZXI6Ly9wYWdlL3RleHQnICsgZnVsbFRoZW1lICsgcmVhZFRoZW1lLFxcXFxuICAgICAgICAgICAgZXh0cmE6IHtcXFxcbiAgICAgICAgICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2UsXFxcXG4gICAgICAgICAgICAgICAgaHJlZjogXFxcXFxcXCJodHRwczovL2FwaS5saWZ2ZXMuY29tL21hZ2F6aW5lL3JlYWQ/cmVhZF9pZD1cXFxcXFxcIiArIGUucmVhZF9pZCxcXFxcbiAgICAgICAgICAgICAgICBpbmRleDogaW5kZXhcXFxcbiAgICAgICAgICAgIH1cXFxcbiAgICAgICAgfSlcXFxcbiAgICB9KVxcXFxufVxcXFxuXFxcXG5zZXRSZXN1bHQoZCk7XFxcIn0se1xcXCJjb2xfdHlwZVxcXCI6XFxcIm1vdmllXzNcXFwiLFxcXCJuYW1lXFxcIjpcXFwi6I635Y+W6K+35rGC5aS0XFxcIixcXFwicGF0aFxcXCI6XFxcImdldEhlYWRlcnNcXFwiLFxcXCJydWxlXFxcIjpcXFwiIGZ1bmN0aW9uIHJhbmRvbV9jaGFyKHQpIHtcXFxcbiAgICAgZm9yICh2YXIgbiA9IFsnMCcsICcxJywgJzInLCAnMycsICc0JywgJzUnLCAnNicsICc3JywgJzgnLCAnOScsICdhJywgJ2InLCAnYycsICdkJywgJ2UnLCAnZicsICdnJywgJ2gnLCAnaScsICdqJywgJ2snLCAnbCcsICdtJywgJ24nLCAnbycsICdwJywgJ3EnLCAncicsICdzJywgJ3QnLCAndScsICd2JywgJ3cnLCAneCcsICd5JywgJ3onXSwgaSA9ICcnLCBlID0gMDsgZSA8IHQ7IGUrKykge1xcXFxuICAgICAgICAgdmFyIG8gPSBNYXRoLmNlaWwoMzUgKiBNYXRoLnJhbmRvbSgpKVxcXFxuICAgICAgICAgaSArPSBuW29dXFxcXG4gICAgIH1cXFxcbiAgICAgcmV0dXJuIGlcXFxcbiB9XFxcXG5cXFxcbiBmdW5jdGlvbiBnZXRTZWNyZXRkYXRlKCkge1xcXFxuICAgICB2YXIgdCA9IHBhcnNlSW50KChuZXcgRGF0ZSgpKS5nZXRUaW1lKCkgLyAxZTMpXFxcXG4gICAgIHZhciBuID0gcmFuZG9tX2NoYXIoMzIpXFxcXG4gICAgIHZhciBpID0gJ3RpbWVzdGFtcD0nICsgdCArICcmbm9uY2U9JyArIG5cXFxcbiAgICAgcmV0dXJuIGlcXFxcbiB9XFxcXG5cXFxcblxcXFxuIHZhciBzZWNyZXRkYXRlID0gZ2V0U2VjcmV0ZGF0ZSgpXFxcXG4gdmFyIHNlY3JldGVkID0gbWQ1KHNlY3JldGRhdGUgKyAnYXBpbGlmdmVzNTIwMTMxNCcpXFxcXG5cXFxcbiB2YXIgaGVhZGVycyA9IHtcXFxcbiAgICAgJ1NlY3JldC1EYXRlJzogc2VjcmV0ZGF0ZSxcXFxcbiAgICAgJ1NlY3JldGVkJzogc2VjcmV0ZWQsXFxcXG4gICAgIFxcXFxcXFwiQ29udGVudC1UeXBlXFxcXFxcXCI6IFxcXFxcXFwiYXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04XFxcXFxcXCJcXFxcbiB9XFxcIn0se1xcXCJjb2xfdHlwZVxcXCI6XFxcIm1vdmllXzNcXFwiLFxcXCJuYW1lXFxcIjpcXFwi5b6A5pyf5pyf5YiKXFxcIixcXFwicGF0aFxcXCI6XFxcImhpc3RvcnlcXFwiLFxcXCJydWxlXFxcIjpcXFwianM6XFxcXG5hZGRMaXN0ZW5lcignb25DbG9zZScsICdjbGVhclZhcihcXFxcXFxcInllYXJcXFxcXFxcIiknKTtcXFxcbmV2YWwoSlNPTi5wYXJzZShmZXRjaChcXFxcXFxcImhpa2VyOi8vcGFnZS9nZXRIZWFkZXJzXFxcXFxcXCIpKS5ydWxlKTtcXFxcbmxldCBkID0gW10sXFxcXG4gICAge1xcXFxuICAgICAgICBocmVmOiB1cmwsXFxcXG4gICAgICAgIHRpdGxlOiBuYW1lLFxcXFxuICAgICAgICBpbWdcXFxcbiAgICB9ID0gTVlfUEFSQU1TLFxcXFxuICAgIGNvbGxlY3Rpb24gPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdjb2xsZWN0aW9uJykgfHwgJ3t9JyksXFxcXG4gICAgaXNDb2xsZWN0ZWQgPSAhIShjb2xsZWN0aW9uW25hbWVdICYmIGNvbGxlY3Rpb25bbmFtZV0udXJsID09IHVybCksXFxcXG4gICAgZGF0YV9saXN0ID0gSlNPTi5wYXJzZShyZXF1ZXN0KHVybCwge1xcXFxuICAgICAgICBoZWFkZXJzOiBoZWFkZXJzXFxcXG4gICAgfSkpLmRhdGFfbGlzdDtcXFxcbnNldFBhZ2VUaXRsZShuYW1lKTtcXFxcbnNldExhc3RDaGFwdGVyUnVsZSgnanM6JyArICQudG9TdHJpbmcoKCkgPT4ge1xcXFxuICAgIGV2YWwoSlNPTi5wYXJzZShmZXRjaChcXFxcXFxcImhpa2VyOi8vcGFnZS9nZXRIZWFkZXJzXFxcXFxcXCIpKS5ydWxlKTtcXFxcbiAgICBsZXQgdXJsID0gTVlfUEFSQU1TLmhyZWYsXFxcXG4gICAgICAgIGRhdGFfbGlzdCA9IEpTT04ucGFyc2UocmVxdWVzdCh1cmwsIHtcXFxcbiAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnNcXFxcbiAgICAgICAgfSkpLmRhdGFfbGlzdCxcXFxcbiAgICAgICAgZGF0YSA9IGRhdGFfbGlzdFswXS5kYXRhWzBdLnFpc2h1O1xcXFxuICAgIHNldFJlc3VsdCgn5pyA5paw77yaJyArIGRhdGEpO1xcXFxufSkpO1xcXFxuZC5wdXNoKHtcXFxcbiAgICB0aXRsZTogaXNDb2xsZWN0ZWQgPyAn4pml5bey5pS26JePJyA6ICfimaHmt7vliqDmlLbol48nLFxcXFxuICAgIHVybDogJCgpLmxhenlSdWxlKChpcywgdXJsLCBuYW1lLCBpbWcpID0+IHtcXFxcbiAgICAgICAgbGV0IGNvbGxlY3Rpb24gPSBKU09OLnBhcnNlKHJlYWRGaWxlKCdjb2xsZWN0aW9uJykgfHwgJ3t9Jyk7XFxcXG4gICAgICAgIGlmIChpcykge1xcXFxuICAgICAgICAgICAgZGVsZXRlIGNvbGxlY3Rpb25bbmFtZV07XFxcXG4gICAgICAgICAgICBzYXZlRmlsZSgnY29sbGVjdGlvbicsIEpTT04uc3RyaW5naWZ5KGNvbGxlY3Rpb24pKTtcXFxcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKCk7XFxcXG4gICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5bey5Y+W5raI5pS26JePJ1xcXFxuICAgICAgICB9IGVsc2Uge1xcXFxuICAgICAgICAgICAgY29sbGVjdGlvbltuYW1lXSA9IHtcXFxcbiAgICAgICAgICAgICAgICB1cmw6IHVybCxcXFxcbiAgICAgICAgICAgICAgICBpbWc6IGltZ1xcXFxuICAgICAgICAgICAgfTtcXFxcbiAgICAgICAgICAgIHNhdmVGaWxlKCdjb2xsZWN0aW9uJywgSlNPTi5zdHJpbmdpZnkoY29sbGVjdGlvbikpO1xcXFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXFxcbiAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/lt7Lmt7vliqDmlLbol48nXFxcXG4gICAgICAgIH1cXFxcbiAgICB9LCBpc0NvbGxlY3RlZCwgdXJsLCBuYW1lLCBpbWcpLFxcXFxuICAgIGNvbF90eXBlOiBcXFxcXFxcInNjcm9sbF9idXR0b25cXFxcXFxcIixcXFxcbn0pO1xcXFxuXFxcXG5sZXQgZGF0YSA9IHt9LFxcXFxuICAgIG5vdyA9IGdldFZhcigneWVhcicsIFN0cmluZyhkYXRhX2xpc3RbMF0ueWVhcikpO1xcXFxuZm9yIChsZXQgbGlzdCBvZiBkYXRhX2xpc3QpIHtcXFxcbiAgICBpZiAobm93ID09IGxpc3QueWVhcikgZGF0YSA9IGxpc3QuZGF0YTtcXFxcbiAgICBkLnB1c2goe1xcXFxuICAgICAgICB0aXRsZTogJ+KAnOKAnOKAneKAnScgKyAobGlzdC55ZWFyID09IG5vdyA/ICc8Zm9udCBjb2xvcj1yZWQ+JyArIGxpc3QueWVhciArICc8L2ZvbnQ+JyA6IGxpc3QueWVhciksXFxcXG4gICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxcXG4gICAgICAgIHVybDogJCgpLmxhenlSdWxlKCh5ZWFyKSA9PiB7XFxcXG4gICAgICAgICAgICBwdXRWYXIoJ3llYXInLCBTdHJpbmcoeWVhcikpO1xcXFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXFxcbiAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXFxcbiAgICAgICAgfSwgbGlzdC55ZWFyKVxcXFxuICAgIH0pO1xcXFxufVxcXFxuZm9yIChsZXQgaXRlbSBvZiBkYXRhKSB7XFxcXG4gICAgZC5wdXNoKHtcXFxcbiAgICAgICAgdGl0bGU6IGl0ZW0ucWlzaHUsXFxcXG4gICAgICAgIHVybDogJ2hpa2VyOi8vcGFnZS9jYXRhbG9ndWUjaW1tZXJzaXZlVGhlbWUjJyxcXFxcbiAgICAgICAgaW1nOiBpdGVtLmltZyxcXFxcbiAgICAgICAgZXh0cmE6IHtcXFxcbiAgICAgICAgICAgIGhyZWY6IFxcXFxcXFwiaHR0cHM6Ly9hcGkubGlmdmVzLmNvbS9tYWdhemluZS9ib29rP21hZ19pZD1cXFxcXFxcIiArIGl0ZW0ubWFnX2lkICsgXFxcXFxcXCImcWlzaHU9XFxcXFxcXCIgKyBpdGVtLnFpc2h1XFxcXG4gICAgICAgIH1cXFxcbiAgICB9KTtcXFxcbn1cXFxcbnNldFJlc3VsdChkKTtcXFwifSx7XFxcImNvbF90eXBlXFxcIjpcXFwibW92aWVfM1xcXCIsXFxcIm5hbWVcXFwiOlxcXCLmlofnq6BcXFwiLFxcXCJwYXRoXFxcIjpcXFwidGV4dFxcXCIsXFxcInJ1bGVcXFwiOlxcXCJqczpcXFxcbmFkZExpc3RlbmVyKCdvbkNsb3NlJywgJC50b1N0cmluZygoKSA9PiB7XFxcXG4gICAgY2xlYXJWYXIoJ3RleHRocmVmJyk7XFxcXG4gICAgY2xlYXJWYXIoJ3RleHR0aXRsZScpO1xcXFxuICAgIGNsZWFyVmFyKCd0ZXh0aW5kZXgnKTtcXFxcbn0pKTtcXFxcbmxldCBjbGljayA9IGdldEl0ZW0oJ2NsaWNrJywgJ3RydWUnKSxcXFxcbiAgICBmb250c2l6ZSA9IHBhcnNlSW50KGdldEl0ZW0oJ2ZvbnRzaXplJywgU3RyaW5nKDE3KSkpLFxcXFxuICAgIGluZGVudCA9IHBhcnNlSW50KGdldEl0ZW0oJ2luZGVudCcsIFN0cmluZyg3KSkpLFxcXFxuICAgIGluZGVudHMgPSAnJztcXFxcbmZvciAobGV0IGkgPSAwOyBpIDwgaW5kZW50OyBpKyspIHtcXFxcbiAgICBpbmRlbnRzICs9ICcmbmJzcDsnO1xcXFxufVxcXFxubGV0IHN0cm9nZSA9IEpTT04ucGFyc2UocmVhZEZpbGUoJ3N0cm9nZScpKSxcXFxcbiAgICBzdGFyID0gT2JqZWN0LmtleXMoc3Ryb2dlKTtcXFxcblxcXFxuZXZhbChKU09OLnBhcnNlKGZldGNoKFxcXFxcXFwiaGlrZXI6Ly9wYWdlL2dldEhlYWRlcnNcXFxcXFxcIikpLnJ1bGUpO1xcXFxubGV0IGluZGV4ID0gcGFyc2VJbnQoZ2V0VmFyKCd0ZXh0aW5kZXgnKSB8fCBNWV9QQVJBTVMuaW5kZXgpLFxcXFxuICAgIGhyZWYgPSBnZXRWYXIoJ3RleHRocmVmJywgJycpIHx8IE1ZX1BBUkFNUy5ocmVmLFxcXFxuICAgIGRhdGFfbGlzdCA9IEpTT04ucGFyc2UocmVxdWVzdChocmVmLCB7XFxcXG4gICAgICAgIGhlYWRlcnM6IGhlYWRlcnNcXFxcbiAgICB9KSkuZGF0YV9saXN0O1xcXFxuXFxcXG5sZXQgZCA9IFtdO1xcXFxuZC5wdXNoKHtcXFxcbiAgICB0aXRsZTogJ+KAnOKAnOKAneKAnTxoMj4nICsgZGF0YV9saXN0LnRpdGxlICsgJzwvaDI+JyxcXFxcbiAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcXFxuICAgIHVybDogXFxcXFxcXCJodHRwOi8vcWsuZGVtby5saWZ2ZXMuY29tL2Jvb2svcmVhZC9cXFxcXFxcIiArIGRhdGFfbGlzdC5tYWdfaWQgKyBcXFxcXFxcIi9cXFxcXFxcIiArIGRhdGFfbGlzdC5xaXNodSArIFxcXFxcXFwiL1xcXFxcXFwiICsgZGF0YV9saXN0LnJlYWRfaWQsXFxcXG4gICAgZXh0cmE6IHtcXFxcbiAgICAgICAgbGluZVZpc2libGU6IGZhbHNlXFxcXG4gICAgfVxcXFxufSwge1xcXFxuICAgIHRpdGxlOiBkYXRhX2xpc3QuY29udGVudC5yZXBsYWNlKC9cXFxcXFxcXD5bYS16QS1aMC05Kz1cXFxcXFxcXC1cXFxcXFxcXC9dKlxcXFxcXFxcPC9nLCAnPjwnKS5yZXBsYWNlKC8oXFxcXFxcXFw8cFxcXFxcXFxcPlxcXFxcXFxccyopK1xcXFxcXFxcPC9nLCc8JykucmVwbGFjZSgvXFxcXFxcXFw8cFxcXFxcXFxcPi9nLCAnPHA+JyArIGluZGVudHMpLFxcXFxuICAgIGNvbF90eXBlOiAncmljaF90ZXh0JyxcXFxcbiAgICBleHRyYToge1xcXFxuICAgICAgICB0ZXh0U2l6ZTogZm9udHNpemUsXFxcXG4gICAgICAgIGNsaWNrOiBjbGlja1xcXFxuICAgIH1cXFxcbn0pXFxcXG5pZiAoaW5kZXggIT0gMCkge1xcXFxuICAgIGxldCB0aXRsZSA9IHN0YXJbaW5kZXggLSAxXTtcXFxcbiAgICBsZXQgaHJlZiA9IHN0cm9nZVt0aXRsZV07XFxcXG4gICAgZC5wdXNoKHtcXFxcbiAgICAgICAgdGl0bGU6ICfkuIrkuIDnr4c6JyArIHRpdGxlLFxcXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcXFxuICAgICAgICB1cmw6ICQoJ2hpa2VyOi8vZW1wdHkjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChocmVmLCB0aXRsZSwgaW5kZXgpID0+IHtcXFxcbiAgICAgICAgICAgIHB1dFZhcigndGV4dGhyZWYnLCBocmVmKTtcXFxcbiAgICAgICAgICAgIHB1dFZhcigndGV4dHRpdGxlJywgdGl0bGUpO1xcXFxuICAgICAgICAgICAgcHV0VmFyKCd0ZXh0aW5kZXgnLCBTdHJpbmcoaW5kZXggLSAxKSk7XFxcXG4gICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcXFxuICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcXFxuICAgICAgICB9LCBocmVmLCB0aXRsZSwgaW5kZXgpLFxcXFxuICAgICAgICBleHRyYToge1xcXFxuICAgICAgICAgICAgaHJlZjogaHJlZixcXFxcbiAgICAgICAgICAgIGxpbmVWaXNpYmxlOiBmYWxzZVxcXFxuICAgICAgICB9XFxcXG4gICAgfSlcXFxcbn1cXFxcbmlmIChpbmRleCAhPSBzdGFyLmxlbmd0aCAtIDEpIHtcXFxcbiAgICBsZXQgdGl0bGUgPSBzdGFyW2luZGV4ICsgMV07XFxcXG4gICAgbGV0IGhyZWYgPSBzdHJvZ2VbdGl0bGVdO1xcXFxuICAgIGQucHVzaCh7XFxcXG4gICAgICAgIHRpdGxlOiAn5LiL5LiA56+HOicgKyB0aXRsZSxcXFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXFxcbiAgICAgICAgdXJsOiAkKCdoaWtlcjovL2VtcHR5I25vTG9hZGluZyMnKS5sYXp5UnVsZSgoaHJlZiwgdGl0bGUsIGluZGV4KSA9PiB7XFxcXG4gICAgICAgICAgICBwdXRWYXIoJ3RleHRocmVmJywgaHJlZik7XFxcXG4gICAgICAgICAgICBwdXRWYXIoJ3RleHR0aXRsZScsIHRpdGxlKTtcXFxcbiAgICAgICAgICAgIHB1dFZhcigndGV4dGluZGV4JywgU3RyaW5nKGluZGV4ICsgMSkpO1xcXFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXFxcbiAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXFxcbiAgICAgICAgfSwgaHJlZiwgdGl0bGUsIGluZGV4KSxcXFxcbiAgICAgICAgZXh0cmE6IHtcXFxcbiAgICAgICAgICAgIGhyZWY6IGhyZWYsXFxcXG4gICAgICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2VcXFxcbiAgICAgICAgfVxcXFxuICAgIH0pXFxcXG59XFxcXG5mb3IgKGxldCBpID0gMDsgaSA8IDEwOyBpKyspIHtcXFxcbiAgICBkLnB1c2goe1xcXFxuICAgICAgICBjb2xfdHlwZTogJ2JsYW5rX2Jsb2NrJ1xcXFxuICAgIH0pXFxcXG59XFxcXG5zZXRSZXN1bHQoZCk7XFxcIn0se1xcXCJjb2xfdHlwZVxcXCI6XFxcIm1vdmllXzNcXFwiLFxcXCJuYW1lXFxcIjpcXFwi6K6+572u6aG1XFxcIixcXFwicGF0aFxcXCI6XFxcInNldHRpbmdcXFwiLFxcXCJydWxlXFxcIjpcXFwianM6XFxcXG5sZXQgZCA9IFtdO1xcXFxubGV0IGZvbnRzaXplID0gcGFyc2VJbnQoZ2V0SXRlbSgnZm9udHNpemUnLCBTdHJpbmcoMTcpKSk7XFxcXG5sZXQgaW5kZW50ID0gcGFyc2VJbnQoZ2V0SXRlbSgnaW5kZW50JywgU3RyaW5nKDcpKSk7XFxcXG5sZXQgaW5kZW50cyA9ICcnO1xcXFxuZm9yIChsZXQgaSA9IDA7IGkgPCBpbmRlbnQ7IGkrKykge1xcXFxuICAgIGluZGVudHMgKz0gJyZuYnNwOyc7XFxcXG59XFxcXG5sZXQgcmVhZFRoZW1lID0gZ2V0SXRlbSgncmVhZFRoZW1lJywnZmFsc2UnKTtcXFxcbmxldCBmdWxsVGhlbWUgPSBnZXRJdGVtKCdmdWxsVGhlbWUnLCAndHJ1ZScpO1xcXFxubGV0IGNsaWNrID0gZ2V0SXRlbSgnY2xpY2snLCAndHJ1ZScpO1xcXFxuXFxcXG5kLnB1c2goe1xcXFxuICAgIHRpdGxlOiAn6ZiF6K+75qih5byPJyArIChyZWFkVGhlbWUgPT0gJ3RydWUnID8gJ+KclCcgOiAn4pyYJyksXFxcXG4gICAgY29sX3R5cGU6ICd0ZXh0XzMnLFxcXFxuICAgIHVybDogcmVhZFRoZW1lID09ICd0cnVlJyA/ICQoJ2hpa2VyOi8vZW1wdHkjbm9Mb2FkaW5nIycpLmxhenlSdWxlKCgpID0+IHtcXFxcbiAgICAgICAgc2V0SXRlbSgncmVhZFRoZW1lJywgJ2ZhbHNlJyk7XFxcXG4gICAgICAgIHJlZnJlc2hQYWdlKCk7XFxcXG4gICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSc7XFxcXG4gICAgfSkgOiQoJ+azqOaEj++8muW8gOWQr+mYheivu+aooeW8j+WQjizlhajlsY/mqKHlvI/orr7nva7lkozlrZflj7forr7nva7lsIbkuI3otbfkvZznlKjvvIEnKS5jb25maXJtKCgpID0+IHtcXFxcbiAgICAgICAgc2V0SXRlbSgncmVhZFRoZW1lJywgJ3RydWUnKTtcXFxcbiAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXFxcbiAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5JztcXFxcbiAgICB9KVxcXFxufSlcXFxcbmQucHVzaCh7XFxcXG4gICAgdGl0bGU6ICflhajlsY/mqKHlvI8nICsgKGZ1bGxUaGVtZSA9PSAndHJ1ZScgPyAn4pyUJyA6ICfinJgnKSxcXFxcbiAgICBjb2xfdHlwZTogJ3RleHRfMycsXFxcXG4gICAgdXJsOiAkKCdoaWtlcjovL2VtcHR5I25vTG9hZGluZyMnKS5sYXp5UnVsZSgoaSkgPT4ge1xcXFxuICAgICAgICBzZXRJdGVtKCdmdWxsVGhlbWUnLCBpID09ICd0cnVlJyA/ICdmYWxzZScgOiAndHJ1ZScpO1xcXFxuICAgICAgICByZWZyZXNoUGFnZSgpO1xcXFxuICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknO1xcXFxuICAgIH0sIGZ1bGxUaGVtZSlcXFxcbn0pXFxcXG5kLnB1c2goe1xcXFxuICAgIHRpdGxlOiAn54K55Ye757+76aG1JyArIChjbGljayA9PSAndHJ1ZScgPyAn4pyUJyA6ICfinJgnKSxcXFxcbiAgICBjb2xfdHlwZTogJ3RleHRfMycsXFxcXG4gICAgdXJsOiAkKCdoaWtlcjovL2VtcHR5I25vTG9hZGluZyMnKS5sYXp5UnVsZSgoaSkgPT4ge1xcXFxuICAgICAgICBzZXRJdGVtKCdjbGljaycsIGkgPT0gJ3RydWUnID8gJ2ZhbHNlJyA6ICd0cnVlJyk7XFxcXG4gICAgICAgIHJlZnJlc2hQYWdlKCk7XFxcXG4gICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSc7XFxcXG4gICAgfSwgY2xpY2spXFxcXG59KVxcXFxuXFxcXG5kLnB1c2goe1xcXFxuICAgIHRpdGxlOiAn6LCD5pW05a2X5Y+3Jy5iaWcoKS5ib2xkKCksXFxcXG4gICAgY29sX3R5cGU6ICdyaWNoX3RleHQnXFxcXG59KVxcXFxuZC5wdXNoKHtcXFxcbiAgICB0aXRsZTogJ+Wtl+WPt+KelScsXFxcXG4gICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbicsXFxcXG4gICAgdXJsOiAkKFxcXFxcXFwiaGlrZXI6Ly9lbXB0eSNub0xvYWRpbmcjXFxcXFxcXCIpLmxhenlSdWxlKChzKSA9PiB7XFxcXG4gICAgICAgIHNldEl0ZW0oJ2ZvbnRzaXplJywgU3RyaW5nKHMgKyAxKSk7XFxcXG4gICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcXFxcbiAgICAgICAgcmV0dXJuIFxcXFxcXFwiaGlrZXI6Ly9lbXB0eVxcXFxcXFwiXFxcXG4gICAgfSwgZm9udHNpemUpXFxcXG59LCB7XFxcXG4gICAgdGl0bGU6ICflrZflj7finpYnLFxcXFxuICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nLFxcXFxuICAgIHVybDogJChcXFxcXFxcImhpa2VyOi8vZW1wdHkjbm9Mb2FkaW5nI1xcXFxcXFwiKS5sYXp5UnVsZSgocykgPT4ge1xcXFxuICAgICAgICBzZXRJdGVtKCdmb250c2l6ZScsIFN0cmluZyhzIC0gMSkpO1xcXFxuICAgICAgICByZWZyZXNoUGFnZShmYWxzZSk7XFxcXG4gICAgICAgIHJldHVybiBcXFxcXFxcImhpa2VyOi8vZW1wdHlcXFxcXFxcIlxcXFxuICAgIH0sIGZvbnRzaXplKVxcXFxufSlcXFxcblxcXFxuZC5wdXNoKHtcXFxcbiAgICBjb2xfdHlwZTogJ2xpbmUnXFxcXG59KVxcXFxuXFxcXG5kLnB1c2goe1xcXFxuICAgIHRpdGxlOiAn6LCD5pW057yp6L+bJy5iaWcoKS5ib2xkKCksXFxcXG4gICAgY29sX3R5cGU6ICdyaWNoX3RleHQnXFxcXG59KVxcXFxuZC5wdXNoKHtcXFxcbiAgICB0aXRsZTogJ+e8qei/m+KelScsXFxcXG4gICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbicsXFxcXG4gICAgdXJsOiAkKFxcXFxcXFwiaGlrZXI6Ly9lbXB0eSNub0xvYWRpbmcjXFxcXFxcXCIpLmxhenlSdWxlKChzKSA9PiB7XFxcXG4gICAgICAgIHNldEl0ZW0oJ2luZGVudCcsIFN0cmluZyhzICsgMSkpO1xcXFxuICAgICAgICByZWZyZXNoUGFnZShmYWxzZSk7XFxcXG4gICAgICAgIHJldHVybiBcXFxcXFxcImhpa2VyOi8vZW1wdHlcXFxcXFxcIlxcXFxuICAgIH0sIGluZGVudClcXFxcbn0sIHtcXFxcbiAgICB0aXRsZTogJ+e8qei/m+KelicsXFxcXG4gICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbicsXFxcXG4gICAgdXJsOiAkKFxcXFxcXFwiaGlrZXI6Ly9lbXB0eSNub0xvYWRpbmcjXFxcXFxcXCIpLmxhenlSdWxlKChzKSA9PiB7XFxcXG4gICAgICAgIHNldEl0ZW0oJ2luZGVudCcsIFN0cmluZyhzIC0gMSkpO1xcXFxuICAgICAgICByZWZyZXNoUGFnZShmYWxzZSk7XFxcXG4gICAgICAgIHJldHVybiBcXFxcXFxcImhpa2VyOi8vZW1wdHlcXFxcXFxcIlxcXFxuICAgIH0sIGluZGVudClcXFxcbn0pXFxcXG5cXFxcbmQucHVzaCh7XFxcXG4gICAgY29sX3R5cGU6ICdsaW5lJ1xcXFxufSlcXFxcblxcXFxuZC5wdXNoKHtcXFxcbiAgICB0aXRsZTogJ+mihOiniCcuYmlnKCkgKyAnKOWtl+WPtzonICsgZm9udHNpemUgKyAnLOe8qei/mzonICsgaW5kZW50ICsgJyknLFxcXFxuICAgIGNvbF90eXBlOiAncmljaF90ZXh0J1xcXFxufSwge1xcXFxuICAgIHRpdGxlOiAnPHA+5bCP5qOJ6KKE5biF5ZCXPzwvcD48cD7lsI/mo4noooTmgI7kuYjov5nkuYjluIXvvJ88L3A+PHA+5bCP5qOJ6KKE55yf5piv6LaF6LaF6LaF6LaF6LaF6LaF6LaF6LaF57qn5biFISEhIeW4heeCuOS6huWlveS4jeWlve+8n+S4vuS4luminOaXoOWPjCEhISE8L3A+Jy5yZXBsYWNlKC9cXFxcXFxcXDxwXFxcXFxcXFw+L2csICc8cD4nICsgaW5kZW50cyksXFxcXG4gICAgY29sX3R5cGU6ICdyaWNoX3RleHQnLFxcXFxuICAgIGV4dHJhOiB7XFxcXG4gICAgICAgIHRleHRTaXplOiBmb250c2l6ZVxcXFxuICAgIH1cXFxcbn0pXFxcXG5zZXRSZXN1bHQoZCk7XFxcIn1dXCIsXCJwcm94eVwiOlwiXCJ9IiwidGl0bGUiOiLop4TliJnorr7nva4ifQ==
Add Comment
Please, Sign In to add comment