xiaomianao666

小程序:異世界動漫

Sep 23rd, 2022
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@異世界動漫@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoi55Ww5LiW55WM5YuV5ryrIiwiYXV0aG9yIjoi5p6r5p6X6Zuo5q6HIiwidXJsIjoiaGlrZXI6Ly9lbXB0eSMjaHR0cDovL3lzamRtLm5ldC8jI2Z5cGFnZSIsInZlcnNpb24iOjEsImNvbF90eXBlIjoibW92aWVfMyIsImNsYXNzX25hbWUiOiIiLCJ0eXBlIjoidmlkZW8iLCJjbGFzc191cmwiOiIiLCJhcmVhX25hbWUiOiIiLCJhcmVhX3VybCI6IiIsInNvcnRfbmFtZSI6IiIsInllYXJfbmFtZSI6IiIsInNvcnRfdXJsIjoiIiwieWVhcl91cmwiOiIiLCJmaW5kX3J1bGUiOiJqczpcbmlmKGdldFZhcigneXNqLm1iJyk9PVwi5pawXCIpe1xuZXZhbChKU09OLnBhcnNlKGZldGNoKFwiaGlrZXI6Ly9wYWdlL3hpbnlpamlcIikpLnJ1bGUpXG59ZWxzZXtcbmV2YWwoSlNPTi5wYXJzZShmZXRjaChcImhpa2VyOi8vcGFnZS95aWppXCIpKS5ydWxlKVxufSIsInNlYXJjaF91cmwiOiJodHRwOi8veXNqZG0ubmV0LyMjKiojI2Z5cGFnZSIsImdyb3VwIjoiMO+4j+KDo+WKqOa8qyIsInNlYXJjaEZpbmQiOiJqczpcbnZhciBwYWdlPU1ZX1BBR0U7XG52YXIga2V5PU1ZX1VSTC5zcGxpdCgnIyMnKVsxXS5zcGxpdCgnIyMnKVswXTtcbmlmKGdldFZhcigneXNqLm1iJyk9PSfmlrAnKXtcbmV2YWwoSlNPTi5wYXJzZShmZXRjaChcImhpa2VyOi8vcGFnZS94aW5zb3VcIikpLnJ1bGUpXG59ZWxzZXtcbmV2YWwoSlNPTi5wYXJzZShmZXRjaChcImhpa2VyOi8vcGFnZS9zb3VcIikpLnJ1bGUpXG59IiwiZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsImRldGFpbF9maW5kX3J1bGUiOiJqczpcbmlmKGdldFZhcigneXNqLm1iJyk9PVwi5pawXCIpe1xuZXZhbChKU09OLnBhcnNlKGZldGNoKFwiaGlrZXI6Ly9wYWdlL3hpbmVyamlcIikpLnJ1bGUpXG59ZWxzZXtcbmV2YWwoSlNPTi5wYXJzZShmZXRjaChcImhpa2VyOi8vcGFnZS9lcmppXCIpKS5ydWxlKVxufSIsInNkZXRhaWxfY29sX3R5cGUiOiJtb3ZpZV8xIiwic2RldGFpbF9maW5kX3J1bGUiOiIqIiwidWEiOiJtb2JpbGUiLCJwcmVSdWxlIjoiaWYoIWdldFZhcigneXNqLm1iJykpe1xudmFyIGZlPXJlcXVlc3QoXCJodHRwOi8veXNqZG0ubmV0L2luZGV4LnBocC9sYWJlbC91cGRhdGUuaHRtbFwiKTtcbmlmKC/lkI7lj7Dmm7TmlrAvLnRlc3QoZmUpKXtcbnB1dFZhcigneXNqLm1iJywn5pawJylcbn1lbHNle1xucHV0VmFyKCd5c2oubWInLCfml6cnKVxufVxufSIsInBhZ2VzIjoiW3tcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLnm67lvZVcIixcInBhdGhcIjpcImN1cnJlbnRcIixcInJ1bGVcIjpcIlxcbnZhciBnZXRSYW5nZUNvbG9ycyA9IGZ1bmN0aW9uKCkge8KgwqDCoMKgwqDCoMKgXFxuICAgIHJldHVybiAnIycgKyAoJzAwMDAwJyArIChNYXRoLnJhbmRvbSgpICogMHgxMDAwMDAwIDw8IDApLnRvU3RyaW5nKDE2KSkuc3Vic3RyKC02KTvCoMKgwqDCoMKgXFxufVxcblxcbmNvbnN0IOWIhuexu+minOiJsiA9IGdldFJhbmdlQ29sb3JzKClcXG5jb25zdCDlpKfnsbvlrprkvY0gPSAnYm9keSYmLnNlYXJjaC10YWcnXFxuY29uc3Qg5ou85o6l5YiG57G7ID0gJydcXG5jb25zdCDlsI/nsbvlrprkvY0gPSAnYm9keSYmYSdcXG5jb25zdCDliIbnsbvmoIfpopggPSAnYSYmVGV4dCdcXG5jb25zdCDliIbnsbvpk77mjqUgPSAnYSYmaHJlZidcXG5jb25zdCDliJfooaggPSAnLmJsb2NrY29udGVudDEmJi5jZWxsJ1xcbmNvbnN0IOagh+mimCA9ICdpbWcmJmFsdCdcXG5jb25zdCDlm77niYcgPSAnaW1nJiZzcmMnXFxuY29uc3Qg5o+P6L+wID0gJy5uZXduYW1lJiZUZXh0J1xcbmNvbnN0IOmTvuaOpSA9ICdhJiZocmVmJ1xcblxcblxcblxcbnZhciBteT0gTVkrJy9pbmRleC5waHAvdm9kL3R5cGUvaWQvMjAuaHRtbCdcXG5cXG5sZXQgdHJ1ZV91cmwgPSBnZXRWYXIoTVlfUlVMRS51cmwsIG15KVxcbmNvbnN0IHBhZ2UgPSBNWV9QQUdFXFxuXFxudHJ1ZV91cmwgPSB0cnVlX3VybC5yZXBsYWNlKCcuaHRtbCcsJy9wYWdlLycrcGFnZSsnLmh0bWwnKVxcblxcbnZhciBodG1sID0gcmVxdWVzdCh0cnVlX3VybClcXG5cXG5jb25zdCBlbXB0eSA9IFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcblxcbnRyeSB7XFxuICAgIHZhciBjYXRlZ29yaWVzID0gcGRmYShodG1sLCDlpKfnsbvlrprkvY0pLmNvbmNhdChwZGZhKGh0bWwsIOaLvOaOpeWIhuexuykpXFxufSBjYXRjaCAoZSkge1xcbiAgICB2YXIgY2F0ZWdvcmllcyA9IHBkZmEoaHRtbCwg5aSn57G75a6a5L2NKVxcbn1cXG5cXG5sZXQgaW5pdF9jYXRlID0gW11cXG5cXG5mb3IgKGxldCBpID0gMDsgaSA8IDIwOyBpKyspIHtcXG4gICAgaW5pdF9jYXRlLnB1c2goXFxcIjBcXFwiKVxcbn1cXG5cXG5jb25zdCAgZm9sZD0gZ2V0VmFyKE1ZX1JVTEUuZ3JvdXAsIFxcXCIwXFxcIilcXG5jb25zdCBjYXRlX3RlbXBfanNvbiA9IGdldFZhcihNWV9SVUxFLnRpdGxlLCBKU09OLnN0cmluZ2lmeShpbml0X2NhdGUpKVxcbmNvbnN0IGNhdGVfdGVtcCA9IEpTT04ucGFyc2UoY2F0ZV90ZW1wX2pzb24pXFxuXFxuaWYgKHBhcnNlSW50KHBhZ2UpID09PSAxKSB7XFxuZC5wdXNoKHtcXG4gICAgICAgIGNvbF90eXBlOiAnYmxhbmtfYmxvY2snXFxuICAgIH0pXFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogZm9sZCA9PT0gJzEnID8gJ+KAnOKAnOKAneKAnTxiPjxzcGFuIHN0eWxlPVxcXCJjb2xvcjogIzE5Qjg5RFxcXCI+OiAoPC9zcGFuPjwvYj4nIDogJ+KAnOKAnOKAneKAnTxiPjxzcGFuIHN0eWxlPVxcXCJjb2xvcjogIzkxMDExM1xcXCI+OiApPC9zcGFuPjwvYj4nLFxcbiAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKGZvbGQpID0+IHtcXG4gICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS5ncm91cCwgZm9sZCA9PT0gJzEnID8gJzAnIDogJzEnKTtcXG4gICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSk7XFxuICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgfSwgZm9sZCksXFxuICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxcbiAgICB9KVxcblxcbmNhdGVnb3JpZXMuZm9yRWFjaCgoY2F0ZWdvcnksIGluZGV4KSA9PiB7XFxuICAgICAgICBsZXQgc3ViX2NhdGVnb3JpZXMgPSBwZGZhKGNhdGVnb3J5LCDlsI/nsbvlrprkvY0pO1xcbiAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XFxuICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXMuZm9yRWFjaCgoaXRlbSwga2V5KSA9PiB7XFxuICAgICAgICAgICAgICAgIGxldCB0aXRsZSA9IHBkZmgoaXRlbSwg5YiG57G75qCH6aKYKVxcbiAgICAgICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGtleS50b1N0cmluZygpID09PSBjYXRlX3RlbXBbaW5kZXhdID8gJ+KAnOKAnOKAneKAnTxiPjxzcGFuIHN0eWxlPVxcXCJjb2xvcjogJyArIOWIhuexu+minOiJsiArICdcXFwiPicgKyB0aXRsZSArICc8L3NwYW4+PC9iPicgOiB0aXRsZSxcXG4gICAgICAgICAgICAgICAgICAgIHVybDogJChwZChpdGVtLCDliIbnsbvpk77mjqUpICsgJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKHBhcmFtcykgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBuZXdfY2F0ZSA9IFtdXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLmNhdGVfdGVtcC5mb3JFYWNoKChjYXRlLCBpbmRleCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfY2F0ZS5wdXNoKGluZGV4ID09PSAwID8gcGFyYW1zLmtleS50b1N0cmluZygpIDogXFxcIjBcXFwiKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0VmFyKE1ZX1JVTEUudGl0bGUsIEpTT04uc3RyaW5naWZ5KG5ld19jYXRlKSlcXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS51cmwsIGlucHV0KVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKHRydWUpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVfdGVtcDogY2F0ZV90ZW1wLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleToga2V5LFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2U6IHBhZ2UsXFxuICAgICAgICAgICAgICAgICAgICB9KSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxuICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcImJsYW5rX2Jsb2NrXFxcIlxcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgfSBlbHNlIGlmIChmb2xkID09PSAnMScpIHtcXG4gICAgICAgICAgICBzdWJfY2F0ZWdvcmllcy5mb3JFYWNoKChpdGVtLCBrZXkpID0+IHtcXG4gICAgICAgICAgICAgICAgbGV0IHRpdGxlID0gcGRmaChpdGVtLCDliIbnsbvmoIfpopgpXFxuICAgICAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZToga2V5LnRvU3RyaW5nKCkgPT09IGNhdGVfdGVtcFtpbmRleF0gPyAn4oCc4oCc4oCd4oCdPGI+PHNwYW4gc3R5bGU9XFxcImNvbG9yOiAnICsg5YiG57G76aKc6ImyICsgJ1xcXCI+JyArIHRpdGxlICsgJzwvc3Bhbj48L2I+JyA6IHRpdGxlLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAkKHBkKGl0ZW0sIOWIhuexu+mTvuaOpSkgKyAnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgocGFyYW1zKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLmNhdGVfdGVtcFtwYXJhbXMuaW5kZXhdID0gcGFyYW1zLmtleS50b1N0cmluZygpXFxuXFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0VmFyKE1ZX1JVTEUudGl0bGUsIEpTT04uc3RyaW5naWZ5KHBhcmFtcy5jYXRlX3RlbXApKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dFZhcihNWV9SVUxFLnVybCwgaW5wdXQpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UodHJ1ZSlcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICAgICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZV90ZW1wOiBjYXRlX3RlbXAsXFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleToga2V5LFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2U6IHBhZ2UsXFxuICAgICAgICAgICAgICAgICAgICB9KSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxuICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcImJsYW5rX2Jsb2NrXFxcIlxcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgfVxcbiAgICB9KVxcbn1cXG5cXG52YXIgbGlzdHM9cGRmYShodG1sLOWIl+ihqCk7XFxuZm9yKHZhciBsaXN0IG9mIGxpc3RzKXtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBwZGZoKGxpc3Qs5qCH6aKYKSxcXG4gICAgICAgIGRlc2M6IHBkZmgobGlzdCwg5o+P6L+wKSxcXG4gICAgICAgIGltZzogTVkrcGRmaChsaXN0LCDlm77niYcpLFxcbiAgICAgICAgdXJsOiBwZChsaXN0LOmTvuaOpSkgKyAnI2ltbWVyc2l2ZVRoZW1lIydcXG4gICAgfSk7XFxufVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5q+P5ZGo5pS+6YCBXCIsXCJwYXRoXCI6XCJhbmltZVwiLFwicnVsZVwiOlwiZnVuY3Rpb24gR2V0ZERhdGEodSkge1xcbiAgICB2YXIgaHRtID0gcmVxdWVzdCh1KTtcXG4gICAgdmFyIGRhdGEgPSBodG0ubWF0Y2goL25ld19hbmltZV9saXN0ID0oLio/XSk7LylbMV0ucmVwbGFjZSgnLF0nLCAnXScpO1xcbiAgICBwdXRNeVZhcigneXNqLmR0JywgZGF0YSk7XFxuICAgIHJldHVybiBkYXRhXFxufVxcblxcbmZ1bmN0aW9uIHdlZWtkYXRhKHQpIHtcXG4gICAgdmFyIHRpdGxlID0gdC5yZXBsYWNlKCflkajkuIAnLCAnMScpLnJlcGxhY2UoJ+WRqOS6jCcsICcyJykucmVwbGFjZSgn5ZGo5LiJJywgJzMnKS5yZXBsYWNlKCflkajlm5snLCAnNCcpLnJlcGxhY2UoJ+WRqOS6lCcsICc1JykucmVwbGFjZSgn5ZGo5YWtJywgJzYnKS5yZXBsYWNlKCflkajml6UnLCAnMCcpXFxuICAgIHJldHVybiB0aXRsZVxcbn1cXG5cXG5pZiAoZ2V0TXlWYXIoJ3lzai5kdCcpKSB7XFxuICAgIGV2YWwoJ3ZhciBqc29uPScgKyBnZXRNeVZhcigneXNqLmR0JykpO1xcbn0gZWxzZSB7XFxuICAgIGV2YWwoJ3ZhciBqc29uPScgKyBHZXRkRGF0YShNWSkpXFxufVxcblxcbnZhciB3ZWVrID0gbmV3IERhdGUoKS5nZXREYXkoKTtcXG5cXG5wdXRNeVZhcihcXFwid2Vla1xcXCIsd2VlaylcXG52YXIgZmwgPSBnZXRWYXIoJ3lqcy5mbCcpID8gZ2V0VmFyKCd5anMuZmwnKSA6IGdldE15VmFyKFxcXCJ3ZWVrXFxcIik7XFxudmFyIHRhYnMgPSBbXFxcIuWRqOS4gFxcXCIsIFxcXCLlkajkuoxcXFwiLCBcXFwi5ZGo5LiJXFxcIiwgXFxcIuWRqOWbm1xcXCIsIFxcXCLlkajkupRcXFwiLCBcXFwi5ZGo5YWtXFxcIiwgXFxcIuWRqOaXpVxcXCJdO1xcblxcblxcbmQucHVzaCh7XFxuICAgIGNvbF90eXBlOiAnYmxhbmtfYmxvY2snXFxufSlcXG5mb3IgKHZhciBpIGluIHRhYnMpIHtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBmbCA9PSB3ZWVrZGF0YSh0YWJzW2ldKSA/ICfigJjigJjigJnigJk8c3Ryb25nPjxmb250IGNvbG9yPVxcXCIjMTlCODlEXFxcIj4nICsgdGFic1tpXSArICc8L2Zyb250Pjwvc3Ryb25nPicgOiB0YWJzW2ldLFxcbiAgICAgICAgdXJsOiAkKFxcXCJcXFwiKS5sYXp5UnVsZSgodGFiKSA9PiB7XFxuICAgICAgICAgICAgcHV0VmFyKCd5anMuZmwnLCB0YWIpO1xcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKCk7XFxuICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgfSwgd2Vla2RhdGEodGFic1tpXSkpLFxcbiAgICAgICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbidcXG4gICAgfSlcXG59XFxuXFxuXFxuZm9yICh2YXIgaXQgb2YganNvbikge1xcbiAgICB2YXIgd2QgPSBpdC53ZDtcXG5cXG4gICAgaWYgKGZsPT0gd2QpIHtcXG5cXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IGl0Lm5hbWUgKyAoaXQuaXNuZXcgPT0gdHJ1ZSA/ICdcXFxcdFxcXFx0XFxcXHTigJjigJjigJnigJk8Zm9udCBjb2xvcj1cXFwicmVkXFxcIj7mlrAhPC9mb250PicgOiBcXFwiXFxcIiksXFxuICAgICAgICAgICAgdXJsOiBNWSArICcvaW5kZXgucGhwL3ZvZC9kZXRhaWwvaWQvJyArIGl0LmlkICsgJy5odG1sI2ltbWVyc2l2ZVRoZW1lIycsXFxuICAgICAgICAgICBkZXNjOml0Lm5hbWVmb3JuZXcsXFxuICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJ1xcbiAgICAgICAgfSlcXG5cXG4gICAgfVxcblxcbn1cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuS4gOe6p+mhtemdolwiLFwicGF0aFwiOlwieWlqaVwiLFwicnVsZVwiOlwidmFyIGQgPSBbXTtcXG5cXG52YXIgTVkgPSBNWV9IT01FO1xcblxcblxcbnZhciB0YWJsID0gZ2V0TXlWYXIoJ3lzamRtJywgJ+acgOi/keabtOaWsCcpXFxuaWYgKE1ZX1BBR0UgPT0gMSkge1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IHRhYmwgPT0gJ+acgOi/keabtOaWsCcgPyAn4oCY4oCY4oCZ4oCZPGZvbnQgY29sb3I9XFxcIiM0NEJCNDRcXFwiPuacgOi/keabtOaWsDwvZm9udD4nIDogJ+acgOi/keabtOaWsCcsXFxuICAgICAgICB1cmw6ICQoXFxcIlxcXCIpLmxhenlSdWxlKCgpID0+IHtcXG4gICAgICAgICAgICBwdXRNeVZhcigneXNqZG0nLCAn5pyA6L+R5pu05pawJylcXG4gICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxuICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgfSksXFxuICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nXFxuICAgIH0pXFxuXFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogdGFibCA9PSAn5q+P5ZGo5pS+6YCBJyA/ICfigJjigJjigJnigJk8Zm9udCBjb2xvcj1cXFwiIzQ0QkI0NFxcXCI+5q+P5ZGo5pS+6YCBPC9mb250PicgOiAn5q+P5ZGo5pS+6YCBJyxcXG4gICAgICAgIHVybDogJChcXFwiXFxcIikubGF6eVJ1bGUoKCkgPT4ge1xcbiAgICAgICAgICAgIHB1dE15VmFyKCd5c2pkbScsICfmr4/lkajmlL7pgIEnKVxcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXG4gICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICB9KSxcXG4gICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbidcXG4gICAgfSlcXG5cXG5cXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiB0YWJsID09IFxcXCLnm67lvZVcXFwiID8gJ+KAmOKAmOKAmeKAmTxmb250IGNvbG9yPVxcXCIjNDRCQjQ0XFxcIj7nm67lvZU8L2ZvbnQ+JyA6ICfnm67lvZUnLFxcbiAgICAgICAgdXJsOiAkKFxcXCJcXFwiKS5sYXp5UnVsZSgoKSA9PiB7XFxuICAgICAgICAgICAgcHV0TXlWYXIoJ3lzamRtJywgJ+ebruW9lScpXFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcbiAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgICAgIH0pLFxcbiAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJ1xcbiAgICB9KVxcbn1cXG5cXG5pZiAodGFibCA9PSBcXFwi5pyA6L+R5pu05pawXFxcIikge1xcbiAgICBsZXQgcmVzQ29kZV8xID0gZmV0Y2goTVkgKyBcXFwiL2luZGV4LnBocC9sYWJlbC91cGRhdGUvcGFnZS9cXFwiICsgTVlfUEFHRSArIFxcXCIuaHRtbFxcXCIsIHt9KTtcXG4gICAgbGV0IG1vdmllcyA9IHBhcnNlRG9tRm9yQXJyYXkocmVzQ29kZV8xLCAnLnVsX2xpX2E2JiYuYW5pbWVfaWNvbjInKTtcXG4gICAgZm9yIChsZXQgaSBvZiBtb3ZpZXMpIHtcXG5cXG5cXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IHBhcnNlRG9tRm9ySHRtbChpLCAnLmFuaW1lX2ljb24yX25hbWUmJlRleHQnKSxcXG4gICAgICAgICAgICB1cmw6IHBhcnNlRG9tKGksICdhJiZocmVmJykgKyAnI2ltbWVyc2l2ZVRoZW1lIycsXFxuICAgICAgICAgICAgZGVzYzogcGFyc2VEb21Gb3JIdG1sKGksICcuYW5pbWVfaWNvbjFfbmFtZTEmJlRleHQnKSxcXG4gICAgICAgICAgICBpbWc6IE1ZICsgcGFyc2VEb21Gb3JIdG1sKGksICdpbWcmJnNyYycpLFxcblxcbiAgICAgICAgfSk7XFxuICAgIH1cXG59IGVsc2UgaWYgKHRhYmwgPT0gXFxcIuavj+WRqOaUvumAgVxcXCIpIHtcXG4gICAgZXZhbChKU09OLnBhcnNlKGZldGNoKFxcXCJoaWtlcjovL3BhZ2UvYW5pbWVcXFwiKSkucnVsZSlcXG59IGVsc2Uge1xcblxcbiAgICBldmFsKEpTT04ucGFyc2UoZmV0Y2goXFxcImhpa2VyOi8vcGFnZS9jdXJyZW50XFxcIikpLnJ1bGUpXFxuXFxufVxcblxcblxcblxcblxcbnNldFJlc3VsdChkKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuS6jOe6p+mhtemdolwiLFwicGF0aFwiOlwiZXJqaVwiLFwicnVsZVwiOlwianM6XFxudmFyIGQgPSBbXTtcXG52YXIgaHRtbCA9IGdldFJlc0NvZGUoKTtcXG5cXG52YXIgYXJ0cyA9IHBhcnNlRG9tRm9yQXJyYXkoaHRtbCwgJy5tZW51MCYmbGknKTtcXG52YXIgdGFicyA9IFtdO1xcblxcbmZvciAodmFyIGkgaW4gYXJ0cykge1xcbiAgICB0YWJzLnB1c2gocGRmaChhcnRzW2ldLCAnVGV4dCcpKVxcbn1cXG5cXG52YXIgY29udHMgPSBwYXJzZURvbUZvckFycmF5KGh0bWwsICdib2R5JiYudmlkZW91cmwnKTtcXG52YXIgbGlzdHMgPSBbXTtcXG5mb3IgKHZhciBpIGluIGNvbnRzKSB7XFxuICAgIGxpc3RzLnB1c2gocGFyc2VEb21Gb3JBcnJheShjb250c1tpXSwgJ3VsJiZsaScpKVxcbn1cXG5cXG5ldmFsKEpTT04ucGFyc2UoZmV0Y2goXFxcImhpa2VyOi8vcGFnZS9sYXp5XFxcIikpLnJ1bGUpXFxuXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IHBhcnNlRG9tRm9ySHRtbChodG1sLCAnLmJhc2VibG9jazImJmxpLC0yJiZUZXh0JykgKyAnXFxcXG4nICsgcGFyc2VEb21Gb3JIdG1sKGh0bWwsICcuYmFzZWJsb2NrMiYmbGksLTUmJlRleHQnKSArICdcXFxcbicgKyBwYXJzZURvbUZvckh0bWwoaHRtbCwgJy5iYXNlYmxvY2syJiZsaSwtMyYmVGV4dCcpLFxcbiAgICBkZXNjOiBwYXJzZURvbUZvckh0bWwoaHRtbCwgJy5iYXNlYmxvY2syJiZsaSwtNiYmVGV4dCcpLFxcbiAgICBwaWNfdXJsOiBwYXJzZURvbShodG1sLCAnLmJhc2VibG9jayYmaW1nJiZzcmMnKSxcXG4gICAgdXJsOiBNWV9VUkwsXFxuICAgIGNvbF90eXBlOiAnbW92aWVfMV92ZXJ0aWNhbF9waWNfYmx1cidcXG59KTtcXG52YXIgQ29sb3IgPSBcXFwiI2YxM2I2NmFcXFwiO1xcbnZhciBDb2xvcjEgPSBcXFwiIzA5OEFDMVxcXCI7XFxuXFxuZnVuY3Rpb24gZ2V0SGVhZCh0aXRsZSkge1xcbiAgICByZXR1cm4gJ+KAmOKAmOKAmeKAmTxmb250IGNvbG9yPVxcXCInICsgQ29sb3IgKyAnXFxcIj4nICsgdGl0bGUgKyAnPC9mcm9udD4nO1xcbn1cXG5sZXQgbGluZV9tb2RlbCA9IDg7XFxubGV0IGxpbmVfdHlwZV9tb2RlbCA9ICdibGFua19ibG9jayc7XFxuXFxuXFxuXFxudmFyIGRlc2MgPSBwYXJzZURvbUZvckh0bWwoaHRtbCwgJy5kZXRhaWxfaW1mb3JtX2Rlc2NfcHJlJiZUZXh0JykucmVwbGFjZSgn5pS26LW3JywgJycpO1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn4oCY4oCY4oCZ4oCZPHNtYWxsPjxmb250IGNvbG9yPVxcXCIjZmYxNDhlOGVcXFwiPiDnroDku4vvvJonICsgZGVzYy5zdWJzdHIoMCwgNDUpLnJlcGxhY2UoJ+ivpuaDhe+8micsICcnKSArICcuLi48L2ZvbnQ+PHNtYWxsPjxmb250IGNvbG9yPVxcXCJyZWRcXFwiPuafpeeci+ivpuaDhTwvZm9udD48L3NtYWxsPjwvc21hbGw+JyxcXG4gICAgdXJsOiAnaGlrZXI6Ly9lbXB0eSPliqjmvKvnroDku4vvvJpcXFxcblxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdCcgKyBkZXNjICsgYEBydWxlPWpzOnZhciByZXMgPSB7fTsgdmFyIGQgPSBbXTtkLnB1c2goe3RpdGxlOk1ZX1VSTC5zcGxpdCgnaGlrZXI6Ly9lbXB0eSMnKVsxXSxjb2xfdHlwZTonbG9uZ190ZXh0J30pO3Jlcy5kYXRhID0gZDsgc2V0SG9tZVJlc3VsdChyZXMpO2AsXFxuICAgIGNvbF90eXBlOiAndGV4dF8xJ1xcbn0pO1xcbmZvciAobGV0IGkgPSAwOyBpIDwgbGluZV9tb2RlbDsgaSsrKSB7XFxuICAgIGQucHVzaCh7XFxuICAgICAgICBjb2xfdHlwZTogbGluZV90eXBlX21vZGVsXFxuICAgIH0pXFxufVxcblxcbmZ1bmN0aW9uIHNldFRhYnModGFicywgdmFyaSkge1xcbiAgICBmb3IgKHZhciBpIGluIHRhYnMpIHtcXG4gICAgICAgIHZhciB1cmwgPSBcXFwiI25vTG9hZGluZyNAbGF6eVJ1bGU9LmpzOnB1dFZhcignXFxcIiArIHZhcmkgKyBcXFwiJywgJ1xcXCIgKyBpICsgXFxcIicpO3JlZnJlc2hQYWdlKGZhbHNlKTsndG9hc3Q6Ly/liIfmjaLmiJDlip/vvIEnOycjbm9IaXN0b3J5I2hpa2VyOi8vZW1wdHknXFxcIjtcXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IGdldFZhcih2YXJpLCAnMCcpID09IGkgPyBnZXRIZWFkKHRhYnNbaV0pIDogdGFic1tpXSxcXG4gICAgICAgICAgICB1cmw6IHVybCxcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nXFxuICAgICAgICB9KVxcbiAgICB9XFxuICAgIGQucHVzaCh7XFxuICAgICAgICBjb2xfdHlwZTogJ2xpbmVfYmxhbmsnXFxuICAgIH0pXFxufVxcblxcbmZ1bmN0aW9uIHNldExpc3RzKGxpc3RzLCBpbmRleCkge1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgY29sX3R5cGU6ICdsaW5lX2JsYW5rJ1xcbiAgICB9KVxcbn1cXG5pZiAoZ2V0VmFyKCdzaHNvcnQnKSA9PSAnMScpIHtcXG4gICAgdmFyIHN4ID0gJ+KAmOKAmOKAmeKAmTxmb250IGNvbG9yPVxcXCIjMGFhMzQ0XFxcIj7mjpLluo88L2ZvbnQ+PC9zbWFsbD4nICsgJzxzbWFsbD48Zm9udCBjb2xvcj1cXFwiI2ZmNGMwMFxcXCI+4oaRPC9mb250Pjwvc21hbGw+JyArICc8c21hbGw+PGZvbnQgY29sb3I9XFxcIiMwYWEzNDRcXFwiPuKGkzwvZm9udD48L3NtYWxsPic7XFxufSBlbHNlIHtcXG4gICAgdmFyIHN4ID0gJ+KAmOKAmOKAmeKAmTxmb250IGNvbG9yPVxcXCIjMGFhMzQ0XFxcIj7mjpLluo88L2ZvbnQ+PC9zbWFsbD4nICsgJzxzbWFsbD48Zm9udCBjb2xvcj1cXFwiI2ZmNGMwMFxcXCI+4oaTPC9mb250Pjwvc21hbGw+JyArICc8c21hbGw+PGZvbnQgY29sb3I9XFxcIiMwYWEzNDRcXFwiPuKGkTwvZm9udD48L3NtYWxsPic7XFxufVxcblxcbmZ1bmN0aW9uIHNldExpc3RzKGxpc3RzLCBpbmRleCkge1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6ICfigJjigJjigJnigJk8c3BhbiBzdHlsZT1cXFwiY29sb3I6JyArIENvbG9yMSArICdcXFwiPjxzbWFsbD7pgInpm4bliJfooag8L3NtYWxsPicgKyAnXFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0PHNwYW4gc3R5bGU9XFxcImZsb2F0OnJpZ2h0XFxcIj4nICsgJzxzbWFsbD4nICsgc3ggKyAnPC9zbWFsbD4nLFxcbiAgICAgICAgdXJsOiBgI25vTG9hZGluZyNAbGF6eVJ1bGU9LmpzOmxldCBjb25mID0gZ2V0VmFyKCdzaHNvcnQnKTtpZihjb25mPT0nMScpe3B1dFZhcih7a2V5OidzaHNvcnQnLCB2YWx1ZTonMCd9KTt9ZWxzZXtwdXRWYXIoe2tleTonc2hzb3J0JywgdmFsdWU6JzEnfSl9O3JlZnJlc2hQYWdlKCk7J3RvYXN0Oi8v5YiH5o2i5o6S5bqP5oiQ5YqfJzsnI25vSGlzdG9yeSNoaWtlcjovL2VtcHR5J2AsXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnXFxuICAgIH0pXFxuICAgIHZhciBsaXN0ID0gbGlzdHNbaW5kZXhdO1xcblxcbiAgICBpZiAoZ2V0VmFyKCdzaHNvcnQnKSA9PSAnMScpIHtcXG4gICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgZm9yICh2YXIgaiA9IGxpc3QubGVuZ3RoIC0gMTsgaiA+PSAwOyBqLS0pIHtcXG4gICAgICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBwYXJzZURvbUZvckh0bWwobGlzdFtqXSwgJ2EmJlRleHQnKS5yZXBsYWNlKC/nrKx86ZuGfOivnXzmnJ8vZywgJycpLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBwYXJzZURvbShsaXN0W2pdLCAnYSYmaHJlZicpICsgbGF6eSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiBsaXN0Lmxlbmd0aCA+IDQgPyAndGV4dF81JyA6ICd0ZXh0XzInLFxcbmV4dHJhOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tSdWxlczogWyAnLmF2aScsICcuM2dwJywgJy5tcGVnJywgJy53bXYnLCAnLm1vdicsICcucm12YicsICcuZ2lmJywgJy5qcGcnLCAnLmpwZWcnLCAnLnBuZycsICcuaWNvJywgJy5zdmcnXSxcXG4gICAgICAgICByZWZlcmVyOiBwYXJzZURvbShsaXN0W2pdLCAnYSYmaHJlZicpXFxuICAgICAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9IGNhdGNoIChlKSB7XFxuICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICfmsqHmnInpgInpm4blk5/vvIzkuI3kv6Hngrnlm77niYfljrvnnIvnnIvwn5GAJyxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJ1xcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGxpc3QubGVuZ3RoOyBqKyspIHtcXG4gICAgICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBwYXJzZURvbUZvckh0bWwobGlzdFtqXSwgJ2EmJlRleHQnKS5yZXBsYWNlKC/nrKx86ZuGfOivnXzmnJ8vZywgJycpLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBwYXJzZURvbShsaXN0W2pdLCAnYSYmaHJlZicpICsgbGF6eSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiBsaXN0Lmxlbmd0aCA+IDQgPyAndGV4dF81JyA6ICd0ZXh0XzInLFxcbiAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrUnVsZXM6IFsgJy5hdmknLCAnLjNncCcsICcubXBlZycsICcud212JywgJy5tb3YnLCAnLnJtdmInLCAnLmdpZicsICcuanBnJywgJy5qcGVnJywgJy5wbmcnLCAnLmljbycsICcuc3ZnJ10sXFxuICAgcmVmZXJlcjogcGFyc2VEb20obGlzdFtqXSwgJ2EmJmhyZWYnKVxcbiAgICAgICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiAn5rKh5pyJ6YCJ6ZuG5ZOf77yM5LiN5L+h54K55Zu+54mH5Y6755yL55yL8J+RgCcsXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMSdcXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgIH1cXG5cXG4gICAgfVxcbn1cXG5zZXRUYWJzKHRhYnMsIE1ZX1VSTCk7XFxuc2V0TGlzdHMobGlzdHMsIGdldFZhcihNWV9VUkwsICcwJykpO1xcblxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAnPGJyPicsXFxuICAgIGNvbF90eXBlOiAncmljaF90ZXh0J1xcbn0pO1xcblxcbnNldFJlc3VsdChkKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuaQnOe0olwiLFwicGF0aFwiOlwic291XCIsXCJydWxlXCI6XCJ2YXIgZD0gW107XFxuICAgIHZhciB1cmw9TVlfSE9NRStcXFwiL2luZGV4LnBocC92b2Qvc2VhcmNoLmh0bWw/d2Q9XFxcIitrZXkrXFxcIiZwYWdlPVxcXCIrcGFnZTtcXG4gICAgdmFyIG1vdmllcyA9IHBhcnNlRG9tRm9yQXJyYXkocmVxdWVzdCh1cmwpLCAnLmJsb2NrY29udGVudDEmJi5jZWxsJyk7XFxuICAgIGZvciAobGV0IGkgb2YgbW92aWVzKSB7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBwYXJzZURvbUZvckh0bWwoaSwgJy5jZWxsX2ltZm9ybSYmLmNlbGxfaW1mb3JtX25hbWUmJlRleHQnKSxcXG4gICAgICAgICAgICB1cmw6cGFyc2VEb20oaSwgJ2EmJmhyZWYnKSsgJyNpbW1lcnNpdmVUaGVtZSMnLFxcbiAgICAgICAgICAgIGRlc2M6IHBhcnNlRG9tRm9ySHRtbChpLCAnLm5ld25hbWUmJlRleHQnKSxcXG4gICAgICAgICAgICBpbWc6TVlfSE9NRSsgcGFyc2VEb21Gb3JIdG1sKGksICdpbWcmJnNyYycpLFxcbiAgICAgICAgICAgIGNvbnRlbnQ6IHBhcnNlRG9tRm9ySHRtbChpLCAnLmNlbGxfaW1mb3JtX2t2X2Rlc2MmJlRleHQnKSxcXG4gICAgICAgICAgIFxcbiAgICAgICAgfSk7XFxuICAgIH1cXG5cXG4gICAgc2V0UmVzdWx0KGQpO1wifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5Yqo5oCB6Kej5p6QXCIsXCJwYXRoXCI6XCJsYXp5XCIsXCJydWxlXCI6XCJ2YXIgbGF6eSA9ICQoXFxcIlxcXCIpLmxhenlSdWxlKChteSkgPT4ge1xcblxcbiAgICB2YXIgcGxheWVyID0gSlNPTi5wYXJzZShyZXF1ZXN0KGlucHV0KS5tYXRjaCgvciBwbGF5ZXJfLio/PSguKj8pPC8pWzFdKTtcXG4gICAgdmFyIHVybCA9IHBsYXllci51cmw7XFxuICAgIHZhciBmcm9tID0gcGxheWVyLmZyb207XFxuICAgIGlmICh1cmwubWF0Y2goL20zdTh8bXA0LykpIHtcXG4gICAgICAgIHJldHVybiB1cmxcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIGV2YWwoZmV0Y2gobXkgKyBcXFwiL3N0YXRpYy9qcy9wbGF5ZXJjb25maWcuanNcXFwiKSk7XFxuXFxuICAgICAgICB2YXIganggPSBNYWNQbGF5ZXJDb25maWcucGxheWVyX2xpc3RbZnJvbV0ucGFyc2U7XFxuXFxuICAgICAgICBpZiAoanggPT0gJycpIHtcXG4gICAgICAgICAgICBqeCA9IE1hY1BsYXllckNvbmZpZy5wYXJzZVxcbiAgICAgICAgfTtcXG4gICAgICAgIGlmIChqeC5zdGFydHNXaXRoKFxcXCIvXFxcIikpIHtcXG4gICAgICAgICAgICBqeCA9IFxcXCJodHRwczpcXFwiICsgang7XFxuICAgICAgICB9XFxuXFxuICAgICAgICByZXF1aXJlQ2FjaGUoJ2h0dHBzOi8vY29kZS5hbGl5dW4uY29tL2x6azIzNTU5L1B1YmxpY1J1bGUvcmF3L21hc3Rlci94NXJ1bGUuanMnLCAyNCk7XFxuICAgICAgICByZXR1cm4geDVydWxlKGp4ICsgdXJsLCBpbnB1dCk7XFxuICAgIH1cXG59LCBNWV9IT01FKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuaWsOS4gOe6p1wiLFwicGF0aFwiOlwieGlueWlqaVwiLFwicnVsZVwiOlwianM6XFxudmFyIGQgPSBbXTtcXG52YXIgZ2V0UmFuZ2VDb2xvcnMgPSBmdW5jdGlvbigpIHvCoMKgwqDCoMKgwqDCoFxcbiAgICByZXR1cm4gJyMnICsgKCcwMDAwMCcgKyAoTWF0aC5yYW5kb20oKSAqIDB4MTAwMDAwMCA8PCAwKS50b1N0cmluZygxNikpLnN1YnN0cigtNik7wqDCoMKgwqDCoFxcbn1cXG5jb25zdCDliIbnsbvpopzoibIgPSBnZXRSYW5nZUNvbG9ycygpXFxuY29uc3Qg5aSn57G75a6a5L2NID0gJ2JvZHkmJi5zY3JlZW5fbGlzdCdcXG5jb25zdCDmi7zmjqXliIbnsbsgPSAnJ1xcbmNvbnN0IOWwj+exu+WumuS9jSA9ICdib2R5JiZhJ1xcbmNvbnN0IOWIhuexu+agh+mimCA9ICdhJiZUZXh0J1xcbmNvbnN0IOWIhuexu+mTvuaOpSA9ICdhJiZocmVmJ1xcblxcblxcblxcbnZhciBNID0gTVlfVVJMLnNwbGl0KCcjIycpO1xcblxcbmxldCB0cnVlX3VybCA9IGdldFZhcihNWV9SVUxFLnVybCwnaHR0cDovL3lzamRtLm5ldC9pbmRleC5waHAvdm9kL3Nob3cvaWQvMjAuaHRtbCcpXFxuY29uc3QgcGFnZSA9IE1bMl07XFxuXFxuICAgIHRydWVfdXJsID0gdHJ1ZV91cmwucmVwbGFjZSgnLmh0bWwnLCAnL3BnZS8nK3BhZ2UrJy5odG1sJylcXG5cXG5cXG5cXG52YXIgaHRtbCA9IGZldGNoKHRydWVfdXJsLCB7XFxuICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICdVc2VyLUFnZW50JzogJ01vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjApJ1xcbiAgICB9XFxufSlcXG5cXG5jb25zdCBlbXB0eSA9IFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcblxcbnRyeSB7XFxuICAgIHZhciBjYXRlZ29yaWVzID0gcGRmYShodG1sLCDlpKfnsbvlrprkvY0pLmNvbmNhdChwZGZhKGh0bWwsIOaLvOaOpeWIhuexuykpXFxufSBjYXRjaCAoZSkge1xcbiAgICB2YXIgY2F0ZWdvcmllcyA9IHBkZmEoaHRtbCwg5aSn57G75a6a5L2NKVxcbn1cXG5cXG5sZXQgaW5pdF9jYXRlID0gW107XFxuZm9yIChsZXQgaSA9IDA7IGkgPCAyMDsgaSsrKSB7XFxuICAgIGluaXRfY2F0ZS5wdXNoKFxcXCIwXFxcIilcXG59XFxuXFxuY29uc3QgZm9sZCA9IGdldFZhcihNWV9SVUxFLmdyb3VwLCBcXFwiMFxcXCIpXFxuY29uc3QgY2F0ZV90ZW1wX2pzb24gPSBnZXRWYXIoTVlfUlVMRS50aXRsZSwgSlNPTi5zdHJpbmdpZnkoaW5pdF9jYXRlKSlcXG5jb25zdCBjYXRlX3RlbXAgPSBKU09OLnBhcnNlKGNhdGVfdGVtcF9qc29uKVxcblxcblxcblxcblxcbmlmIChwYXJzZUludChwYWdlKSA9PT0gMSkge1xcblxcblxcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IGZvbGQgPT09ICcxJyA/ICfigJzigJzigJ3igJ08Yj48c3BhbiBzdHlsZT1cXFwiY29sb3I6ICMxOUI4OURcXFwiPjogKDwvc3Bhbj48L2I+JyA6ICfigJzigJzigJ3igJ08Yj48c3BhbiBzdHlsZT1cXFwiY29sb3I6ICM5MTAxMTNcXFwiPjogKTwvc3Bhbj48L2I+JyxcXG4gICAgICAgIHVybDogJCgpLmxhenlSdWxlKChmb2xkKSA9PiB7XFxuICAgICAgICAgICAgcHV0VmFyKE1ZX1JVTEUuZ3JvdXAsIGZvbGQgPT09ICcxJyA/ICcwJyA6ICcxJyk7XFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcbiAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgICAgIH0sIGZvbGQpLFxcbiAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXG4gICAgfSlcXG5cXG4gICAgY2F0ZWdvcmllcy5mb3JFYWNoKChjYXRlZ29yeSwgaW5kZXgpID0+IHtcXG4gICAgICAgIGxldCBzdWJfY2F0ZWdvcmllcyA9IHBkZmEoY2F0ZWdvcnksIOWwj+exu+WumuS9jSk7XFxuICAgICAgICBpZiAoaW5kZXggPT09IDApIHtcXG4gICAgICAgICAgICBzdWJfY2F0ZWdvcmllcy5mb3JFYWNoKChpdGVtLCBrZXkpID0+IHtcXG4gICAgICAgICAgICAgICAgbGV0IHRpdGxlID0gcGRmaChpdGVtLCDliIbnsbvmoIfpopgpXFxuICAgICAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZToga2V5LnRvU3RyaW5nKCkgPT09IGNhdGVfdGVtcFtpbmRleF0gPyAn4oCc4oCc4oCd4oCdPGI+PHNwYW4gc3R5bGU9XFxcImNvbG9yOiAnICsg5YiG57G76aKc6ImyICsgJ1xcXCI+JyArIHRpdGxlICsgJzwvc3Bhbj48L2I+JyA6IHRpdGxlLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAkKHBkKGl0ZW0sIOWIhuexu+mTvuaOpSkgKyAnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgocGFyYW1zKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5ld19jYXRlID0gW11cXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXMuY2F0ZV90ZW1wLmZvckVhY2goKGNhdGUsIGluZGV4KSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19jYXRlLnB1c2goaW5kZXggPT09IDAgPyBwYXJhbXMua2V5LnRvU3RyaW5nKCkgOiBcXFwiMFxcXCIpXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS50aXRsZSwgSlNPTi5zdHJpbmdpZnkobmV3X2NhdGUpKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dFZhcihNWV9SVUxFLnVybCwgaW5wdXQpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UodHJ1ZSlcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICAgICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZV90ZW1wOiBjYXRlX3RlbXAsXFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBrZXksXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZTogcGFnZSxcXG4gICAgICAgICAgICAgICAgICAgIH0pLFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXG4gICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiYmxhbmtfYmxvY2tcXFwiXFxuICAgICAgICAgICAgfSk7XFxuICAgICAgICB9IGVsc2UgaWYgKGZvbGQgPT09ICcxJykge1xcbiAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzLmZvckVhY2goKGl0ZW0sIGtleSkgPT4ge1xcbiAgICAgICAgICAgICAgICBsZXQgdGl0bGUgPSBwZGZoKGl0ZW0sIOWIhuexu+agh+mimClcXG4gICAgICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBrZXkudG9TdHJpbmcoKSA9PT0gY2F0ZV90ZW1wW2luZGV4XSA/ICfigJzigJzigJ3igJ08Yj48c3BhbiBzdHlsZT1cXFwiY29sb3I6ICcgKyDliIbnsbvpopzoibIgKyAnXFxcIj4nICsgdGl0bGUgKyAnPC9zcGFuPjwvYj4nIDogdGl0bGUsXFxuICAgICAgICAgICAgICAgICAgICB1cmw6ICQocGQoaXRlbSwg5YiG57G76ZO+5o6lKSArICcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChwYXJhbXMpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXMuY2F0ZV90ZW1wW3BhcmFtcy5pbmRleF0gPSBwYXJhbXMua2V5LnRvU3RyaW5nKClcXG5cXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS50aXRsZSwgSlNPTi5zdHJpbmdpZnkocGFyYW1zLmNhdGVfdGVtcCkpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0VmFyKE1ZX1JVTEUudXJsLCBpbnB1dClcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSh0cnVlKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgICAgICAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRlX3RlbXA6IGNhdGVfdGVtcCxcXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBrZXksXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZTogcGFnZSxcXG4gICAgICAgICAgICAgICAgICAgIH0pLFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXG4gICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiYmxhbmtfYmxvY2tcXFwiXFxuICAgICAgICAgICAgfSk7XFxuICAgICAgICB9XFxuICAgIH0pXFxufVxcblxcblxcblxcblxcbnZhciBsaXN0ID0gcGFyc2VEb21Gb3JBcnJheShodG1sLCAnLnZvZGxpc3QmJmxpJyk7XFxuZm9yICh2YXIgaSBpbiBsaXN0KSB7XFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogcGFyc2VEb21Gb3JIdG1sKGxpc3RbaV0sICdhJiZ0aXRsZScpLFxcbiAgICAgICAgaW1nOiBwYXJzZURvbShsaXN0W2ldLCAnYSYmZGF0YS1vcmlnaW5hbCcpLFxcbiAgICAgICAgZGVzYzogcGFyc2VEb21Gb3JIdG1sKGxpc3RbaV0sICcucGljX3RleHQmJlRleHQnKSxcXG5cXG4gICAgICAgIHVybDogcGFyc2VEb20obGlzdFtpXSwgJ2EmJmhyZWYnKSsnI2ltbWVyc2l2ZVRoZW1lIydcXG4gICAgfSlcXG59XFxuXFxuaWYgKGxpc3QubGVuZ3RoID09IDApIHtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBcXFwi4oCc4oCc5Yiw5bqV5LqG5ZGi4oCd4oCdXFxcIixcXG4gICAgICAgIGRlc2M6ICfngrnlh7vov5Tlm57pppbpobUnLFxcbiAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKHRydWUpXFxuICAgICAgICAgICAgY2xlYXJWYXIoXFxcIk15a2V5XFxcIilcXG4gICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxuICAgICAgICB9KSxcXG4gICAgICAgIGNvbF90eXBlOiBcXFwidGV4dF9jZW50ZXJfMVxcXCJcXG4gICAgfSk7XFxufVxcblxcblxcbnNldFJlc3VsdChkKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuaWsOS6jOe6p1wiLFwicGF0aFwiOlwieGluZXJqaVwiLFwicnVsZVwiOlwianM6XFxudmFyIGQgPSBbXTtcXG52YXIgaHRtbCA9IGdldFJlc0NvZGUoKTtcXG5cXG52YXIgYXJ0cyA9IHBhcnNlRG9tRm9yQXJyYXkoaHRtbCwnI051bVRhYiYmYScpO1xcbnZhciB0YWJzID0gW107XFxuZm9yICh2YXIgaSBpbiBhcnRzKSB7XFxuICAgIHRhYnMucHVzaChwYXJzZURvbUZvckh0bWwoYXJ0c1tpXSwgJ2EmJmFsdCcpKVxcbn1cXG5cXG52YXIgY29udHMgPSBwYXJzZURvbUZvckFycmF5KGh0bWwsICdib2R5JiYuY29udGVudF9wbGF5bGlzdDpub3QoLmxpc3Rfc2Nyb2xsKScpO1xcbnZhciBsaXN0cyA9W107XFxuZm9yICh2YXIgaSBpbiBjb250cykge1xcbiAgICBsaXN0cy5wdXNoKHBhcnNlRG9tRm9yQXJyYXkoY29udHNbaV0sICd1bCYmbGknKSlcXG59XFxuXFxuXFxudmFyIGxhenk9JChcXFwiXFxcIikubGF6eVJ1bGUoKCk9PntcXG52YXIgdXJsPUpTT04ucGFyc2UocmVxdWVzdChpbnB1dCkubWF0Y2goL3IgcGxheWVyXy4qPz0oLio/KTwvKVsxXSkudXJsXFxucmV0dXJuIHVybFxcbn0pXFxuXFxuXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IHBhcnNlRG9tRm9ySHRtbChodG1sLCAnLmRhdGEmJlRleHQnKS5yZXBsYWNlKCflnLDljLonLCdcXFxcbuWcsOWMuicpLnJlcGxhY2UoJ+exu+WeiycsJ1xcXFxu57G75Z6LJyksXFxuICAgIGRlc2M6IHBhcnNlRG9tRm9ySHRtbChodG1sLCAnLmRhdGEsMSYmVGV4dCcpLFxcbiAgICBwaWNfdXJsOiBwYXJzZURvbShodG1sLCAnLmxhenlsb2FkJiZkYXRhLW9yaWdpbmFsJyksXFxuICAgIHVybDogTVlfVVJMLFxcbiAgICBjb2xfdHlwZTogJ21vdmllXzFfdmVydGljYWxfcGljX2JsdXInXFxufSk7XFxudmFyIENvbG9yID0gXFxcIiNmMTNiNjZhXFxcIjtcXG52YXIgQ29sb3IxID0gXFxcIiMwOThBQzFcXFwiO1xcbmZ1bmN0aW9uIGdldEhlYWQodGl0bGUpIHtcXG4gICAgcmV0dXJuICfigJjigJjigJnigJk8c3Ryb25nPjxmb250IGNvbG9yPVxcXCInICsgQ29sb3IgKyAnXFxcIj4nICsgdGl0bGUgKyAnPC9mcm9udD48L3N0cm9uZz4nO1xcbn1cXG5sZXQgbGluZV9tb2RlbCA9IDg7XFxubGV0IGxpbmVfdHlwZV9tb2RlbCA9ICdibGFua19ibG9jayc7XFxuXFxuXFxuXFxudmFyIGRlc2MgPSBwYXJzZURvbUZvckh0bWwoaHRtbCwgJy5jb250ZW50X2Rlc2MmJlRleHQnKS5yZXBsYWNlKCfmlLbotbcnLCcnKTtcXG5kLnB1c2goe1xcbiAgICAgICAgdGl0bGU6ICfigJjigJjigJnigJk8c21hbGw+PGZvbnQgY29sb3I9XFxcIiNmZjE0OGU4ZVxcXCI+IOeugOS7i++8micrZGVzYy5zdWJzdHIoMCwgNDUpLnJlcGxhY2UoJ+ivpuaDhe+8micsJycpICsgJy4uLjwvZm9udD48c21hbGw+PGZvbnQgY29sb3I9XFxcInJlZFxcXCI+5p+l55yL6K+m5oOFPC9mb250Pjwvc21hbGw+PC9zbWFsbD4nLFxcbiAgICAgICB1cmw6ICdoaWtlcjovL2VtcHR5IycgKyBkZXNjKyBgQHJ1bGU9anM6dmFyIHJlcyA9IHt9OyB2YXIgZCA9IFtdO2QucHVzaCh7dGl0bGU6TVlfVVJMLnNwbGl0KCdoaWtlcjovL2VtcHR5IycpWzFdLGNvbF90eXBlOidsb25nX3RleHQnfSk7cmVzLmRhdGEgPSBkOyBzZXRIb21lUmVzdWx0KHJlcyk7YCxcXG4gICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnXFxuICAgfSk7XFxuZm9yIChsZXQgaSA9IDA7IGkgPCBsaW5lX21vZGVsOyBpKyspIHtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIGNvbF90eXBlOiBsaW5lX3R5cGVfbW9kZWxcXG4gICAgfSlcXG59XFxuZnVuY3Rpb24gc2V0VGFicyh0YWJzLCB2YXJpKSB7XFxuICAgIGZvciAodmFyIGkgaW4gdGFicykge1xcbiAgICAgICAgdmFyIHVybCA9IFxcXCIjbm9Mb2FkaW5nI0BsYXp5UnVsZT0uanM6cHV0VmFyKCdcXFwiICsgdmFyaSArIFxcXCInLCAnXFxcIiArIGkgKyBcXFwiJyk7cmVmcmVzaFBhZ2UoZmFsc2UpOyd0b2FzdDovL+WIh+aNouaIkOWKn++8gSc7JyNub0hpc3RvcnkjaGlrZXI6Ly9lbXB0eSdcXFwiO1xcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogZ2V0VmFyKHZhcmksICcwJykgPT0gaSA/IGdldEhlYWQodGFic1tpXSkgOiB0YWJzW2ldLFxcbiAgICAgICAgICAgIHVybDogdXJsLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbidcXG4gICAgICAgIH0pXFxuICAgIH1cXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIGNvbF90eXBlOiAnbGluZV9ibGFuaydcXG4gICAgfSlcXG59XFxuZnVuY3Rpb24gc2V0TGlzdHMobGlzdHMsIGluZGV4KSB7XFxuICAgIGQucHVzaCh7XFxuICAgICAgICBjb2xfdHlwZTogJ2xpbmVfYmxhbmsnXFxuICAgIH0pXFxufVxcbmlmIChnZXRWYXIoJ3Noc29ydCcpID09ICcxJykge1xcbiAgICB2YXIgc3ggPSAn4oCY4oCY4oCZ4oCZPGZvbnQgY29sb3I9XFxcIiMwYWEzNDRcXFwiPuaOkuW6jzwvZm9udD48L3NtYWxsPicgKyAnPHNtYWxsPjxmb250IGNvbG9yPVxcXCIjZmY0YzAwXFxcIj7ihpE8L2ZvbnQ+PC9zbWFsbD4nICsgJzxzbWFsbD48Zm9udCBjb2xvcj1cXFwiIzBhYTM0NFxcXCI+4oaTPC9mb250Pjwvc21hbGw+JztcXG59IGVsc2Uge1xcbiAgICB2YXIgc3ggPSAn4oCY4oCY4oCZ4oCZPGZvbnQgY29sb3I9XFxcIiMwYWEzNDRcXFwiPuaOkuW6jzwvZm9udD48L3NtYWxsPicgKyAnPHNtYWxsPjxmb250IGNvbG9yPVxcXCIjZmY0YzAwXFxcIj7ihpM8L2ZvbnQ+PC9zbWFsbD4nICsgJzxzbWFsbD48Zm9udCBjb2xvcj1cXFwiIzBhYTM0NFxcXCI+4oaRPC9mb250Pjwvc21hbGw+JztcXG59XFxuZnVuY3Rpb24gc2V0TGlzdHMobGlzdHMsIGluZGV4KSB7XFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogJ+KAmOKAmOKAmeKAmTxzcGFuIHN0eWxlPVxcXCJjb2xvcjonICsgQ29sb3IxICsgJ1xcXCI+PHNtYWxsPumAiembhuWIl+ihqDwvc21hbGw+JyArICdcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHQ8c3BhbiBzdHlsZT1cXFwiZmxvYXQ6cmlnaHRcXFwiPicgKyAnPHNtYWxsPicgKyBzeCArICc8L3NtYWxsPicsXFxuICAgICAgICB1cmw6IGAjbm9Mb2FkaW5nI0BsYXp5UnVsZT0uanM6bGV0IGNvbmYgPSBnZXRWYXIoJ3Noc29ydCcpO2lmKGNvbmY9PScxJyl7cHV0VmFyKHtrZXk6J3Noc29ydCcsIHZhbHVlOicwJ30pO31lbHNle3B1dFZhcih7a2V5OidzaHNvcnQnLCB2YWx1ZTonMSd9KX07cmVmcmVzaFBhZ2UoKTsndG9hc3Q6Ly/liIfmjaLmjpLluo/miJDlip8nOycjbm9IaXN0b3J5I2hpa2VyOi8vZW1wdHknYCxcXG4gICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMSdcXG4gICAgfSlcXG4gICAgdmFyIGxpc3QgPSBsaXN0c1tpbmRleF07XFxuXFxuICAgIGlmIChnZXRWYXIoJ3Noc29ydCcpID09ICcxJykge1xcbiAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICBmb3IgKHZhciBqID0gbGlzdC5sZW5ndGggLSAxOyBqID49IDA7IGotLSkge1xcbiAgICAgICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHBhcnNlRG9tRm9ySHRtbChsaXN0W2pdLCAnYSYmVGV4dCcpLnJlcGxhY2UoL+esrHzpm4Z86K+dfOacny9nLCAnJyksXFxuICAgICAgICAgICAgICAgICAgICB1cmw6IHBhcnNlRG9tKGxpc3Rbal0sICdhJiZocmVmJykrbGF6eSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiBsaXN0Lmxlbmd0aCA+IDQgPyAndGV4dF81JyA6ICd0ZXh0XzInXFxuICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcXG4gICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+ayoeaciemAiembhuWTn++8jOS4jeS/oeeCueWbvueJh+WOu+eci+eci/CfkYAnLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnXFxuICAgICAgICAgICAgfSk7XFxuICAgICAgICB9XFxuICAgIH0gZWxzZSB7XFxuICAgICAgICB0cnkge1xcbiAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbGlzdC5sZW5ndGg7IGorKykge1xcbiAgICAgICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHBhcnNlRG9tRm9ySHRtbChsaXN0W2pdLCAnYSYmVGV4dCcpLnJlcGxhY2UoL+esrHzpm4Z86K+dfOacny9nLCAnJyksXFxuICAgICAgICAgICAgICAgICAgICB1cmw6IHBhcnNlRG9tKGxpc3Rbal0sICdhJiZocmVmJykrbGF6eSAsXFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogbGlzdC5sZW5ndGggPiA0ID8gJ3RleHRfNScgOiAndGV4dF8yJ1xcbiAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9IGNhdGNoIChlKSB7XFxuICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICfmsqHmnInpgInpm4blk5/vvIzkuI3kv6Hngrnlm77niYfljrvnnIvnnIvwn5GAJyxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJ1xcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgfVxcblxcbiAgICB9XFxufVxcbnNldFRhYnModGFicywgTVlfVVJMKTtcXG5zZXRMaXN0cyhsaXN0cywgZ2V0VmFyKE1ZX1VSTCwgJzAnKSk7XFxuXFxuZC5wdXNoKHt0aXRsZTogJzxicj4nLCBjb2xfdHlwZTogJ3JpY2hfdGV4dCd9KTtcXG5cXG5zZXRSZXN1bHQoZCk7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLmlrDmkJzntKJcIixcInBhdGhcIjpcInhpbnNvdVwiLFwicnVsZVwiOlwidmFyIGQ9IFtdO1xcbnZhciB1cmw9TVlfSE9NRStcXFwiL2luZGV4LnBocC92b2Qvc2VhcmNoL3BhZ2UvXFxcIitwYWdlK1xcXCIvd2QvXFxcIitrZXkrXFxcIi5odG1sXFxcIlxcbiAgICB2YXIgcmVzID0gcmVxdWVzdCh1cmwpXFxuICAgIHZhciBtb3ZpZXMgPSBwYXJzZURvbUZvckFycmF5KHJlcywgJy52b2RsaXN0JiZsaScpO1xcbiAgICBmb3IgKGxldCBpIG9mIG1vdmllcykge1xcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogcGFyc2VEb21Gb3JIdG1sKGksICdhJiZ0aXRsZScpLFxcbiAgICAgICAgICAgIHVybDpwYXJzZURvbShpLCAnYSYmaHJlZicpKyAnI2ltbWVyc2l2ZVRoZW1lIycsXFxuICAgICAgICAgICAgZGVzYzogcGFyc2VEb21Gb3JIdG1sKGksICcucGljX3RleHQmJlRleHQnKSxcXG4gICAgICAgICAgICBpbWc6TVlfSE9NRSsgcGFyc2VEb21Gb3JIdG1sKGksICdhJiZkYXRhLW9yaWdpbmFsJyksXFxuICAgICAgICAgICAgY29udGVudDogcGFyc2VEb21Gb3JIdG1sKGksICdwLC0xJiZUZXh0JyksXFxuICAgICAgICAgICBcXG4gICAgICAgIH0pO1xcbiAgICB9XFxuXFxuICAgIHNldFJlc3VsdChkKTtcIn1dIiwiaWNvbiI6Imh0dHA6Ly95c2pkbS5uZXQvdGVtcGxhdGUvMjNzL2ltZy9sb2dvLnBuZyIsInByb3h5IjoiIn0=
Add Comment
Please, Sign In to add comment