Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@一起看@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoi5LiA6LW355yLIiwiYXV0aG9yIjoiemV0YWxwaGEiLCJ1cmwiOiJoaWtlcjovL2VtcHR5IyNmeXBhZ2UiLCJ2ZXJzaW9uIjowLCJjb2xfdHlwZSI6Im1vdmllXzMiLCJjbGFzc19uYW1lIjoiIiwidHlwZSI6InZpZGVvIiwiY2xhc3NfdXJsIjoiIiwiYXJlYV9uYW1lIjoiIiwiYXJlYV91cmwiOiIiLCJzb3J0X25hbWUiOiIiLCJ5ZWFyX25hbWUiOiIiLCJzb3J0X3VybCI6IiIsInllYXJfdXJsIjoiIiwiZmluZF9ydWxlIjoianM6XG52YXIgZCA9IFtdO1xuXG52YXIgZ2V0UmFuZ2VDb2xvcnMgPSBmdW5jdGlvbigpIHvCoMKgwqDCoMKgwqDCoFxuICAgIHJldHVybiAnIycgKyAoJzAwMDAwJyArIChNYXRoLnJhbmRvbSgpICogMHgxMDAwMDAwIDw8IDApLnRvU3RyaW5nKDE2KSkuc3Vic3RyKC02KTvCoMKgwqDCoMKgXG59XG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL3lpP3J1bGU9zrEnKSkucnVsZSlcblxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9qc29uJykpLnJ1bGUpXG5cbnZhciBwYWdlID0gTVlfUEFHRTtcblxudmFyIGh0bWwgPSBcIlwiO1xudmFyIGNsaXN0ID0gW107XG5cbmZ1bmN0aW9uIGZpbGxDYXRlKGxpc3QpIHtcbiAgICByZXR1cm4gW1wiPGRpdiBjbGFzcz0nY2MnPlwiXS5jb25jYXQobGlzdCwgWyc8L2Rpdj4nXSk7XG59XG5cbmpzb24uZGF0YS5maWx0ZXJMaXN0LmZvckVhY2goKHgsIGkpID0+IHtcbiAgICB2YXIgY2xhc3NOYW1lID0geC5maWx0ZXJOYW1lO1xuICAgIGNsaXN0LnB1c2goXCJkdF9cIiArIGNsYXNzTmFtZSk7XG4gICAgdmFyIGNsYXNzTGlzdCA9IHguZmlsdGVyVmFsdWVMaXN0Lm1hcCh4ID0+IHtcbiAgICAgICAgcmV0dXJuIGA8YSBpZD1cIiR7eC5pZH1cIiBuYW1lPVwiJHtjbGFzc05hbWV9XCI+JHt4Lm5hbWV9PC9hPmBcbiAgICB9KVxuICAgIGNsYXNzTGlzdC51bnNoaWZ0KGA8YSBpZD1cIjBcIiBuYW1lPVwiJHtjbGFzc05hbWV9XCI+5YWo6YOoPC9hPmApXG4gICAgY2xhc3NMaXN0ID0gZmlsbENhdGUoY2xhc3NMaXN0KTtcbiAgICBodG1sICs9IGNsYXNzTGlzdC5qb2luKCdcXG4nKVxufSlcblxudmFyIHNvcnRMaXN0ID0ganNvbi5kYXRhLnNvcnRMaXN0Lm1hcCgoeCwgaSkgPT4ge1xuICAgIHJldHVybiBgPGEgaWQ9XCIke3guc29ydFR5cGV9XCIgbmFtZT1cInNvcnRMaXN0XCI+JHt4LnNvcnROYW1lfTwvYT5gXG59KVxuXG5mdW5jdGlvbiBjdXN0b21Tb3J0KGEsIGIpIHtcbiAgICAvLyDlsIbljIXlkKtpZD1cIjJcIueahOWFg+e0oOaOkuWcqOWJjemdolxuICAgIGlmIChhLmluY2x1ZGVzKCdpZD1cIjJcIicpKSB7XG4gICAgICAgIHJldHVybiAtMTsgLy8gYeaOkuWcqGLliY3pnaJcbiAgICB9IGVsc2UgaWYgKGIuaW5jbHVkZXMoJ2lkPVwiMlwiJykpIHtcbiAgICAgICAgcmV0dXJuIDE7IC8vIGLmjpLlnKhh5YmN6Z2iXG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIDA7IC8vIOS/neaMgeWOn+Wni+mhuuW6j1xuICAgIH1cbn1cblxuc29ydExpc3Quc29ydChjdXN0b21Tb3J0KTtcbmNsaXN0LnB1c2goXCJkdF9zb3J0TGlzdFwiKTtcbmNsaXN0LnB1c2goXCJuZXh0VmFsXCIpO1xuXG5pZiAocGFnZSA9PSAxKSB7XG4gICAgY2xlYXJNeVZhcihcIm5leHRWYWxcIik7XG59XG5cbnNvcnRMaXN0ID0gZmlsbENhdGUoc29ydExpc3QpO1xuaHRtbCArPSBzb3J0TGlzdC5qb2luKCdcXG4nKVxuXG4vL2xvZyhodG1sKVxuXG52YXIg5a6a5L2N5L+h5oGvID0gW3tcbiAgICDkuIDnuqflrprkvY06ICdib2R5JiYuY2MnLFxuICAgIOWwj+exuzogJ2JvZHkmJmEnLFxuICAgIOmTvuaOpTogJ0BqczonICsgJC50b1N0cmluZygoKSA9PiB7XG4gICAgICAgIHZhciBrID0gcGRmaChpbnB1dCwgJ2EmJm5hbWUnKTtcbiAgICAgICAgdmFyIHYgPSBwZGZoKGlucHV0LCAnYSYmaWQnKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGU6IGssXG4gICAgICAgICAgICB2YWx1ZTogdixcbiAgICAgICAgfTtcbiAgICB9KSxcbn1dXG5cbnZhciBxdWVyeVZhbHVlSnNvbiA9IFtdO1xuXG5jbGlzdC5tYXAoeCA9PiB7XG4gICAgdmFyIGsgPSBnZXRNeVZhcih4LCAnMCcpXG4gICAgaWYgKGsgJiYgayAhPSAnMCcgJiYgeCAhPT0gXCJkdF9zb3J0TGlzdFwiKSB7XG4gICAgICAgIHF1ZXJ5VmFsdWVKc29uLnB1c2goe1xuICAgICAgICAgICAgZmlsZXJOYW1lOiB4LnJlcGxhY2UoJ2R0XycsICcnKSxcbiAgICAgICAgICAgIGZpbGVyVmFsdWU6IGtcbiAgICAgICAgfSlcbiAgICB9XG59KVxuXG52YXIgc29ydFR5cGUgPSBnZXRNeVZhcignZHRfc29ydExpc3QnLCAnMicpO1xuXG4vL2xvZyhsaXN0TXlWYXJLZXlzKCkpXG5cbmxldCB7XG4gICAgYXBpc1xufSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL2FwaScpO1xuXG52YXIgb2JqID0ge1xuICAgIG5leHRDb3VudDogMTgsXG4gICAgbmV4dFZhbDogZ2V0TXlWYXIoJ25leHRWYWwnLCBcIlwiKSxcbiAgICBxdWVyeVZhbHVlSnNvbjogSlNPTi5zdHJpbmdpZnkocXVlcnlWYWx1ZUpzb24pLFxufVxuXG5pZiAoc29ydFR5cGUgIT0gJzInKSB7XG4gICAgb2JqWydzb3J0VHlwZSddID0gTnVtYmVyKHNvcnRUeXBlKTtcbn1cblxudmFyIHNnaW5vYmogPSBhcGlzLmdldEJvZHkob2JqKTtcblxuY29uc3QgZGMgPSBkeW5hbWljQ2xhc3Moe1xuICAgIOWIhuexu+minOiJsjogZ2V0UmFuZ2VDb2xvcnMoKVxufSk7XG5kYy7lvIDlkK/mkJzntKIoKS7muIXpmaQoY2xpc3QpLuWIm+W7uuWKqOaAgeWIhuexuyjlrprkvY3kv6Hmga8pO1xuXG52YXIgcmVzdWx0ID0gYXBpcy5xdWVyeShcIi9zZWFyY2gvcXVlcnlOb3dcIiwgc2dpbm9iaik7XG5cbi8vbG9nKHJlc3VsdC5pdGVtcy5sZW5ndGgpXG5cbnZhciBwYXJzZVJ1bGUgPSB7XG4gICAgbGlzdDogJ2l0ZW1zJywgLy/nu5/kuIBpdGVtXG4gICAgdGl0bGU6ICdpdGVtLnZvZE5hbWUnLFxuICAgIGRlc2M6ICdpdGVtLmljb25MaXN0WzBdP2l0ZW0uaWNvbkxpc3RbMF0uaWNvblRleHQ6aXRlbS5zY29yZScsXG4gICAgaW1nOiAnaXRlbS5jb3ZlckltZycsXG4gICAgdXJsOiBcIic/aWQ9JytpdGVtLnZvZElkKycmJ1wiLFxuICAgIGNvbF90eXBlOiAnbW92aWVfM19tYXJxdWVlJyxcbiAgICByZWY6ICdAUmVmZXJlcj0nLFxuICAgIGltdDogdHJ1ZSxcbiAgICAvL2RlYnVnOnRydWUsXG59XG5cbnRyeSB7XG4gICAgQ3JlYXRlLmpzb25MaXN0KGQsIHJlc3VsdCwgcGFyc2VSdWxlKTtcbn0gY2F0Y2ggKGUpIHtcbiAgICBsb2coZS5tZXNzYWdlKVxufVxuXG5zZXRSZXN1bHQoZCk7Iiwic2VhcmNoX3VybCI6Imhpa2VyOi8vZW1wdHk/a2V5PSoqJmZ5cGFnZSIsImdyb3VwIjoiI++4j+KDo+W9seinhiIsInNlYXJjaEZpbmQiOiJqczpcbmV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UveWk/cnVsZT3OsScpKS5ydWxlKVxuXG5pZiAoTVlfUEFHRSA9PSAxKSB7XG4gICAgY2xlYXJNeVZhcihcIm5leHRWYWxcIik7XG59XG5cbnZhciBrZXkgPSBnZXRQYXJhbSgna2V5Jyk7XG52YXIgZCA9IFtdO1xuXG5sZXQge1xuICAgIGFwaXNcbn0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9hcGknKTtcblxudmFyIHJlc3VsdCA9IGFwaXMucXVlcnkoXCIvc2VhcmNoL3NlYXJjaFwiLCBhcGlzLmdldEJvZHkoe1xuICAgIG5leHRWYWw6IGdldE15VmFyKCduZXh0VmFsJywgXCJcIiksXG4gICAga2V5d29yZDoga2V5LFxufSkpO1xuXG5sb2cocmVzdWx0KVxuXG52YXIgcGFyc2VSdWxlID0ge1xuICAgIGxpc3Q6ICdpdGVtcycsIC8v57uf5LiAaXRlbVxuICAgIHRpdGxlOiAnaXRlbS52b2ROYW1lJyxcbiAgICBkZXNjOiAnaXRlbS5pY29uTGlzdFswXT9pdGVtLmljb25MaXN0WzBdLmljb25UZXh0Oml0ZW0uc2NvcmUnLFxuICAgIGltZzogJ2l0ZW0uY292ZXJJbWcnLFxuICAgIHVybDogXCInP2lkPScraXRlbS52b2RJZCsnJidcIixcbiAgICBjb250ZW50OlwiaXRlbS5pbnRyb1wiLFxuICAgIHJlZjogJ0BSZWZlcmVyPScsXG4gICAgaW10OiB0cnVlLFxuICAgIC8vZGVidWc6dHJ1ZSxcbn1cblxudHJ5IHtcbiAgICBDcmVhdGUuanNvbkxpc3QoZCwgcmVzdWx0LCBwYXJzZVJ1bGUpO1xufSBjYXRjaCAoZSkge1xuICAgIGxvZyhlLm1lc3NhZ2UpXG59XG5cbnNldFJlc3VsdChkKSIsImRldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJkZXRhaWxfZmluZF9ydWxlIjoianM6XG52YXIgaWQgPSBnZXRQYXJhbSgnaWQnKTtcbi8vbG9nKGlkKVxudmFyIGQgPSBbXTtcblxubGV0IHtcbiAgICBhcGlzXG59ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvYXBpJyk7XG5cbk1ZX1VSTCA9IGFwaXMuaG9zdCArICcvcGxheS8nICsgaWQ7XG5cbnZhciByZXN1bHQgPSBhcGlzLnF1ZXJ5KFwiL3ZvZEluZm8vZGV0YWlsXCIsIGFwaXMuZ2V0Qm9keSh7XG4gICAgdm9kSWQ6IGlkLFxufSkpO1xuXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2VyP3J1bGU9zrEnKSkucnVsZSk7XG5cbnZhciBvYmogPSB7XG4gICAgdGl0bGVzOiBbcmVzdWx0LmFyZWFOYW1lICsgJyAnICsgcmVzdWx0LnllYXIsICfigJzigJzigJ3igJ0nICsgcmVzdWx0LnNjb3JlLmZvbnRjb2xvcihcIiNGRjQ1MDBcIildLFxuICAgIGRlc2NzOiBbYOa8lOWRmDoke3Jlc3VsdC5hY3Rvckxpc3QubWFwKHg9Pngudm9kV29ya2VyTmFtZSkuc2xpY2UoMCw1KS5qb2luKCcgJyl9YCxcbiAgICAgICAgYOWvvOa8lDoke3Jlc3VsdC5kaXJlY3Rvckxpc3QubWFwKHg9Pngudm9kV29ya2VyTmFtZSkuam9pbignICcpfWBcbiAgICBdXG59XG5cbnZhciBwbGF5cyA9IHJlc3VsdC5wbGF5ZXJMaXN0O1xuXG5FcmppLnByZUxvYWQoKTtcbkVyamkuY2xvc2UoWyfmkq3mlL7liJfooagnXSwgMCk7XG5FcmppLnNldEN1c3RvbShvYmosIHJlc3VsdC5jb3ZlckltZywge30pO1xuRXJqaS5zZXREZXNjKHJlc3VsdC5pbnRybyk7IC8v5Ymn5oOF566A5LuLXG5FcmppLnNldFRhYnMyKHBsYXlzLm1hcCh4ID0+IHgucGxheWVyTmFtZSksICfmkq3mlL7liJfooagnLCBudWxsLCB7XG4gICAg5o6o6YCBOiB0cnVlXG59LCBbMF0pO1xuRXJqaS5zZXRMaXN0cyhwbGF5cy5tYXAoeCA9PiB4LmVwTGlzdC5tYXAoayA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdGl0bGU6IGsuZXBOYW1lLFxuICAgICAgICB1cmw6ICd2aWRlbzovLycgKyBhcGlzLmhvc3QgKyAnL3BsYXkvJyArIGlkICsgJz9lcElkPScgKyBrLmVwSWQsXG4gICAgfVxufSkpLCBnZXRNeVZhcignZXJf5pKt5pS+5YiX6KGoJywgJzAnKSlcblxudmFyIHlvdWxpa2UgPSBhcGlzLnF1ZXJ5KFwiL3ZvZEluZm8vZ3Vlc3NZb3VMaWtlXCIsIGFwaXMuZ2V0Qm9keSh7XG4gICAgdm9kSWQ6IGlkLFxufSkpO1xudmFyIGxpa2UgPSBnZXRJdGVtKCdsaWtlJywgJzEnKVxuZC5wdXNoKHtcbiAgICB0aXRsZTogJ+eMnOS9oOWWnOasoicsXG4gICAgY29sX3R5cGU6ICdhdmF0YXInLFxuICAgIGltZzogJ2h0dHBzOi8vaGlrZXJmYW5zLmNvbS90dWJpYW8vc3lzdGVtLzEyMy5wbmcnLFxuICAgIHVybDogJ3RvYXN0Oi8v5pyq5a6e546wJyxcbn0pXG5pZiAobGlrZSA9PSAnMScpIHtcbiAgICB5b3VsaWtlLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGQucHVzaCh7XG4gICAgICAgICAgICB0aXRsZTogaXRlbS52b2ROYW1lLFxuICAgICAgICAgICAgZGVzYzogaXRlbS5pY29uTGlzdFswXSA/IGl0ZW0uaWNvbkxpc3RbMF0uaWNvblRleHQgOiBpdGVtLnNjb3JlLFxuICAgICAgICAgICAgaW1nOiBpdGVtLmNvdmVySW1nICsgJ0BSZWZlcmVyPScsXG4gICAgICAgICAgICBjb2xfdHlwZTogJ21vdmllXzNfbWFycXVlZScsXG4gICAgICAgICAgICB1cmw6ICQoJ2hpa2VyOi8vZW1wdHkjIz9pZD0nICsgaXRlbS52b2RJZCArICcmI2ltbWVyc2l2ZVRoZW1lIycpLnJ1bGUoKGRldGFpbCkgPT4ge1xuICAgICAgICAgICAgICAgIGV2YWwoZGV0YWlsKVxuICAgICAgICAgICAgfSwgTVlfUlVMRS5maW5kX3J1bGUpLFxuICAgICAgICAgICAgZXh0cmE6IHtcbiAgICAgICAgICAgICAgICBpbWc6IGl0ZW0uY292ZXJJbWcgKyAnQFJlZmVyZXI9JyxcbiAgICAgICAgICAgICAgICBwYWdlVGl0bGU6IGl0ZW0udm9kTmFtZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9KVxufVxuXG5FcmppLuWjsOaYjigpO1xuXG5mdW5jdGlvbiBnZXRVcGRhdGEoaWQsIHRpdGxlKSB7XG4gICAgbGV0IHtcbiAgICAgICAgYXBpc1xuICAgIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9hcGk/cnVsZT0nICsgdGl0bGUpO1xuICAgIGxldCB7XG4gICAgICAgIEVyamlcbiAgICB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvZXI/cnVsZT3OsScsIHVuZGVmaW5lZCwgMjQpO1xuICAgIHZhciByZXN1bHQgPSBhcGlzLnF1ZXJ5KFwiL3ZvZEluZm8vZGV0YWlsXCIsIGFwaXMuZ2V0Qm9keSh7XG4gICAgICAgIHZvZElkOiBpZCxcbiAgICB9KSk7XG4gICAgdmFyIGVwID0gcmVzdWx0LnBsYXllckxpc3QubWFwKHggPT4geC5lcExpc3QpO1xuICAgIHZhciBtYXggPSBFcmppLm1heExpc3QoZXApO1xuICAgIGxldCBuYW1lID0gbWF4W21heC5sZW5ndGggLSAxXS5lcE5hbWU7XG4gICAgc2V0UmVzdWx0KCfmnIDmlrDvvJonICsgbmFtZSk7XG59XG5cbkVyamkudXBkYXRhKGdldFVwZGF0YSwge1xuICAgIGlkOiBpZCxcbiAgICB0aXRsZTogTVlfUlVMRS50aXRsZVxufSlcblxuXG5cblxuXG5zZXRSZXN1bHQoZCkiLCJzZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsInNkZXRhaWxfZmluZF9ydWxlIjoiKiIsInVhIjoibW9iaWxlIiwicHJlUnVsZSI6IiIsInBhZ2VzIjoiW3tcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCJqc29uXCIsXCJwYXRoXCI6XCJqc29uXCIsXCJydWxlXCI6XCJqczpcXG5cXG52YXIganNvbiA9IHtcXG4gICAgXFxcInJlc3VsdFxcXCI6IHRydWUsXFxuICAgIFxcXCJtc2dcXFwiOiBcXFwiXFxcIixcXG4gICAgXFxcImRhdGFcXFwiOiB7XFxuICAgICAgICBcXFwiZmlsdGVyTGlzdFxcXCI6IFt7XFxuICAgICAgICAgICAgXFxcImZpbHRlck5hbWVcXFwiOiBcXFwiY2hhbm5lbElkXFxcIixcXG4gICAgICAgICAgICBcXFwiZmlsdGVyVmFsdWVMaXN0XFxcIjogW3tcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjUwXFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi55+t5YmnXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjNcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLnlLXop4bliadcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiMlxcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIueUteW9sVxcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCI4XFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5Yqo5ryrXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjEwXFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi57u86Im6XFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjVcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLkvZPogrJcXFwiXFxuICAgICAgICAgICAgfV1cXG4gICAgICAgIH0sIHtcXG4gICAgICAgICAgICBcXFwiZmlsdGVyTmFtZVxcXCI6IFxcXCJhcmVhSWRcXFwiLFxcbiAgICAgICAgICAgIFxcXCJmaWx0ZXJWYWx1ZUxpc3RcXFwiOiBbe1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiMVxcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIuWkp+mZhlxcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCIzXFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi576O5Zu9XFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjhcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLpn6nlm71cXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiN1xcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIummmea4r1xcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCI0XFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5pel5pysXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjEyXFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5Y+w5rm+XFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjJcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLoi7Hlm71cXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiNVxcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIuWKoOaLv+Wkp1xcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCI5XFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5paw5Yqg5Z2hXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjEwXFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5rOV5Zu9XFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjExXFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5rOw5Zu9XFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjEzXFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5Y2w5bqmXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjE0XFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi6KW/54+t54mZXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjE1XFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5L+E572X5pavXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjE2XFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi6ams5p2l6KW/5LqaXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjZcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLlhbbku5ZcXFwiXFxuICAgICAgICAgICAgfV1cXG4gICAgICAgIH0sIHtcXG4gICAgICAgICAgICBcXFwiZmlsdGVyTmFtZVxcXCI6IFxcXCJ5ZWFyXFxcIixcXG4gICAgICAgICAgICBcXFwiZmlsdGVyVmFsdWVMaXN0XFxcIjogW3tcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjIwMjMtMjAyM1xcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIjIwMjNcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiMjAyMi0yMDIyXFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwiMjAyMlxcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCIyMDIxLTIwMjFcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCIyMDIxXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjIwMjAtMjAyMFxcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIjIwMjBcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiMTkwMC0yMDE5XFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwiMjAyMOS7peWJjVxcXCJcXG4gICAgICAgICAgICB9XVxcbiAgICAgICAgfSwge1xcbiAgICAgICAgICAgIFxcXCJmaWx0ZXJOYW1lXFxcIjogXFxcImNoYW5uZWxDaGlsZFR5cGVJZFxcXCIsXFxuICAgICAgICAgICAgXFxcImZpbHRlclZhbHVlTGlzdFxcXCI6IFt7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCI0NjJcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLnn63liadcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiNDY1XFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5Ymn5oOFXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjQ2NFxcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIumDveW4glxcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCI0NjNcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLniLHmg4VcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiNDcxXFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5Y+k6KOFXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjQ4NlxcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIuWWnOWJp1xcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCI0ODdcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLliqjkvZxcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiNDc0XFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5YW25LuWXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjQ3MFxcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIuWlh+W5u1xcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCI0ODVcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLlrrbluq1cXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiNDczXFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5oOK5oKaXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjQ4OFxcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIuaCrOeWkVxcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCI0OTRcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLmgZDmgJZcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiNDkzXFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5Yab5peFXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjQ5MFxcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIue9keWJp1xcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCI0OTZcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLmiJjkuolcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiNDkxXFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi54qv572qXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjQ4OVxcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIuWGkumZqVxcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCI0OThcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLov5DliqhcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBcXFwiaWRcXFwiOiBcXFwiNDk1XFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5YS/56ulXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjQ5MlxcXCIsXFxuICAgICAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIuenkeW5u1xcXCJcXG4gICAgICAgICAgICB9XVxcbiAgICAgICAgfSwge1xcbiAgICAgICAgICAgIFxcXCJmaWx0ZXJOYW1lXFxcIjogXFxcInBsYXlQb3dlclxcXCIsXFxuICAgICAgICAgICAgXFxcImZpbHRlclZhbHVlTGlzdFxcXCI6IFt7XFxuICAgICAgICAgICAgICAgIFxcXCJpZFxcXCI6IFxcXCIyXFxcIixcXG4gICAgICAgICAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi55m75b2V54K55pKtXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgXFxcImlkXFxcIjogXFxcIjNcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCJWSVDngrnmkq1cXFwiXFxuICAgICAgICAgICAgfV1cXG4gICAgICAgIH1dLFxcbiAgICAgICAgXFxcInNvcnRMaXN0XFxcIjogW3tcXG4gICAgICAgICAgICBcXFwic29ydFR5cGVcXFwiOiAxLFxcbiAgICAgICAgICAgIFxcXCJzb3J0TmFtZVxcXCI6IFxcXCLmnIDmlrBcXFwiLFxcbiAgICAgICAgICAgIFxcXCJoYXNEZWZhdWx0XFxcIjogZmFsc2VcXG4gICAgICAgIH0sIHtcXG4gICAgICAgICAgICBcXFwic29ydFR5cGVcXFwiOiAyLFxcbiAgICAgICAgICAgIFxcXCJzb3J0TmFtZVxcXCI6IFxcXCLkurrmsJRcXFwiLFxcbiAgICAgICAgICAgIFxcXCJoYXNEZWZhdWx0XFxcIjogdHJ1ZVxcbiAgICAgICAgfSwge1xcbiAgICAgICAgICAgIFxcXCJzb3J0VHlwZVxcXCI6IDMsXFxuICAgICAgICAgICAgXFxcInNvcnROYW1lXFxcIjogXFxcIuivhOWIhlxcXCIsXFxuICAgICAgICAgICAgXFxcImhhc0RlZmF1bHRcXFwiOiBmYWxzZVxcbiAgICAgICAgfSwge1xcbiAgICAgICAgICAgIFxcXCJzb3J0VHlwZVxcXCI6IDQsXFxuICAgICAgICAgICAgXFxcInNvcnROYW1lXFxcIjogXFxcIueDreaQnFxcXCIsXFxuICAgICAgICAgICAgXFxcImhhc0RlZmF1bHRcXFwiOiBmYWxzZVxcbiAgICAgICAgfV1cXG4gICAgfSxcXG4gICAgXFxcIm9wZXJhdGVDb2RlXFxcIjogMFxcbn1cXG5cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcImFwaVwiLFwicGF0aFwiOlwiYXBpXCIsXCJydWxlXCI6XCJqczpcXG5sZXQgYXBpcyA9IHtcXG4gICAgaG9zdDogXFxcImh0dHBzOi8vbS55cWt0djg4OC5jb21cXFwiLFxcbiAgICBhcHBJZDogXFxcImU2ZGRlZmUwOWUwMzQ5NzM5ODc0NTYzNDU5ZjU2YzU0XFxcIixcXG4gICAgYXBwS2V5OiBcXFwiMzM1OWRlNDc4ZjhkNDU2MzgxMjVlNDQ2YTEwZWM1NDFcXFwiLFxcbiAgICBhcGlVcmw6IFxcXCJodHRwczovL3R4YXBpMS5kYmRkMS5jb20vdjEvYXBpXFxcIixcXG4gICAgcXVlcnk6IGZ1bmN0aW9uKHVybHBhdGgsIGJvZHkpIHtcXG4gICAgICAgIHZhciByZXN1bHQgPSBKU09OLnBhcnNlKGZldGNoKHRoaXMuYXBpVXJsICsgdXJscGF0aCwge1xcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgUmVmZXJlcjogdGhpcy5ob3N0LFxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgYm9keTogYm9keSxcXG4gICAgICAgICAgICBtZXRob2Q6ICdQT1NUJ1xcbiAgICAgICAgfSkpLmRhdGE7XFxuICAgICAgICBpZiAocmVzdWx0ID09IG51bGwpIHtcXG4gICAgICAgICAgICByZXR1cm4ge31cXG4gICAgICAgIH1cXG4gICAgICAgIGlmIChyZXN1bHQuaGFzT3duUHJvcGVydHkoJ2hhc05leHQnKSAmJiByZXN1bHQuaGFzTmV4dCkge1xcbiAgICAgICAgICAgIHB1dE15VmFyKCduZXh0VmFsJywgcmVzdWx0Lm5leHRWYWwpO1xcbiAgICAgICAgfVxcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcXG4gICAgfSxcXG4gICAgZ2V0cmFuZG9tOiBmdW5jdGlvbigpIHtcXG4gICAgICAgIGxldCBlID0gW1xcXCIwXFxcIiwgXFxcIjFcXFwiLCBcXFwiMlxcXCIsIFxcXCIzXFxcIiwgXFxcIjRcXFwiLCBcXFwiNVxcXCIsIFxcXCI2XFxcIiwgXFxcIjdcXFwiLCBcXFwiOFxcXCIsIFxcXCI5XFxcIiwgXFxcIkFcXFwiLCBcXFwiQlxcXCIsIFxcXCJDXFxcIiwgXFxcIkRcXFwiLCBcXFwiRVxcXCIsIFxcXCJGXFxcIiwgXFxcIkdcXFwiLCBcXFwiSFxcXCIsIFxcXCJJXFxcIiwgXFxcIkpcXFwiLCBcXFwiS1xcXCIsIFxcXCJMXFxcIiwgXFxcIk1cXFwiLCBcXFwiTlxcXCIsIFxcXCJPXFxcIiwgXFxcIlBcXFwiLCBcXFwiUVxcXCIsIFxcXCJSXFxcIiwgXFxcIlNcXFwiLCBcXFwiVFxcXCIsIFxcXCJVXFxcIiwgXFxcIlZcXFwiLCBcXFwiV1xcXCIsIFxcXCJYXFxcIiwgXFxcIllcXFwiLCBcXFwiWlxcXCIsIFxcXCJhXFxcIiwgXFxcImJcXFwiLCBcXFwiY1xcXCIsIFxcXCJkXFxcIiwgXFxcImVcXFwiLCBcXFwiZlxcXCIsIFxcXCJnXFxcIiwgXFxcImhcXFwiLCBcXFwiaVxcXCIsIFxcXCJqXFxcIiwgXFxcImtcXFwiLCBcXFwibFxcXCIsIFxcXCJtXFxcIiwgXFxcIm5cXFwiLCBcXFwib1xcXCIsIFxcXCJwXFxcIiwgXFxcInFcXFwiLCBcXFwiclxcXCIsIFxcXCJzXFxcIiwgXFxcInRcXFwiLCBcXFwidVxcXCIsIFxcXCJ2XFxcIiwgXFxcIndcXFwiLCBcXFwieFxcXCIsIFxcXCJ5XFxcIiwgXFxcInpcXFwiXSxcXG4gICAgICAgICAgICBuID0gXFxcIlxcXCI7XFxuICAgICAgICBmb3IgKGxldCByID0gMDsgciA8IDMyOyByKyspIHtcXG4gICAgICAgICAgICBsZXQgbyA9IHBhcnNlSW50KE1hdGgucmFuZG9tKCkgKiA2MSk7XFxuICAgICAgICAgICAgbiArPSBlW29dXFxuICAgICAgICB9XFxuICAgICAgICByZXR1cm4gblxcbiAgICB9LFxcbiAgICBnZXRVVUlEOiBmdW5jdGlvbigpIHtcXG4gICAgICAgIHJldHVybiBgJHtcXFwieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4XFxcIi5yZXBsYWNlKC9beHldL2csIHI9PnsgICAgICAgICAgICBjb25zdCBvID0gTWF0aC5yYW5kb20oKSAqIDE2IHwgMDsgICAgICAgICAgICByZXR1cm4gKHIgPT09IFxcXCJ4XFxcIiA/IG8gOiBvICYgMyB8IDgpLnRvU3RyaW5nKDE2KSAgICAgICAgfSAgICApfS0ke0RhdGUubm93KCkudG9TdHJpbmcoMTYpfWBcXG4gICAgfSxcXG4gICAgb2JqS2V5U29ydDogZnVuY3Rpb24oZSkge1xcbiAgICAgICAgbGV0IG4gPSBPYmplY3Qua2V5cyhlKS5zb3J0KCksXFxuICAgICAgICAgICAgciA9IHt9O1xcbiAgICAgICAgZm9yIChsZXQgbyA9IDA7IG8gPCBuLmxlbmd0aDsgbysrKSByW25bb11dID0gZVtuW29dXTtcXG4gICAgICAgIHJldHVybiByXFxuICAgIH0sXFxuICAgIHNnaW46IGZ1bmN0aW9uKGUpIHtcXG4gICAgICAgIGxldCBjID0gXFxcIlxcXCI7XFxuICAgICAgICBsZXQgbiA9IFxcXCJcXFwiO1xcbiAgICAgICAgZm9yICh2YXIgaSBpbiBlKSBlW2ldICE9PSBcXFwiXFxcIiAmJiAoYyArPSBpICsgXFxcIj1cXFwiICsgZVtpXSArIFxcXCImXFxcIik7XFxuICAgICAgICBjICE9PSBcXFwiXFxcIiAmJiAoYyA9IGMgKyBcXFwiYXBwS2V5PVxcXCIgKyB0aGlzLmFwcEtleSwgbiA9IG1kNShjKSksIGUuc2lnbiA9IG5cXG4gICAgICAgIHJldHVybiBlXFxuICAgIH0sXFxuICAgIGdldEJvZHk6IGZ1bmN0aW9uKGJvZHkpIHtcXG4gICAgICAgIGJvZHkgPSBib2R5IHx8IHt9O1xcbiAgICAgICAgdmFyIGRvbWFpbiA9IG5ldyBqYXZhLm5ldC5VUkwodGhpcy5ob3N0KS5nZXRIb3N0KCk7XFxuICAgICAgICB2YXIgZGVmb2JqID0ge1xcbiAgICAgICAgICAgIGFwcElkOiBhcGlzLmFwcElkLFxcbiAgICAgICAgICAgIHVkaWQ6IGFwaXMuZ2V0VVVJRCgpLFxcbiAgICAgICAgICAgIHJlcXVlc3RJZDogYXBpcy5nZXRyYW5kb20oKSxcXG4gICAgICAgICAgICByZXFEb21haW46IGRvbWFpbixcXG4gICAgICAgIH1cXG4gICAgICAgIHZhciBuZXdib2R5ID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmb2JqLCBib2R5KTtcXG4gICAgICAgIHZhciBzaWdub2JqID0gdGhpcy5zZ2luKHRoaXMub2JqS2V5U29ydChuZXdib2R5KSk7XFxuICAgICAgICByZXR1cm4gc2lnbm9iajtcXG4gICAgfVxcbn1cXG5cXG4kLmV4cG9ydHMgPSB7XFxuICAgIGFwaXM6IGFwaXMsXFxufVwifV0iLCJpY29uIjoiIiwicHJveHkiOiIifQ==
Add Comment
Please, Sign In to add comment