Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@Webdav@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoiV2ViZGF2IiwiYXV0aG9yIjoiSm9lJuWwj+ajieiihPCfjJ4iLCJ1cmwiOiJoaWtlcjovL2VtcHR5IiwidmVyc2lvbiI6MzMsImNvbF90eXBlIjoibW92aWVfMyIsImNsYXNzX25hbWUiOiIiLCJ0eXBlIjoidG9vbCIsImNsYXNzX3VybCI6IiIsImFyZWFfbmFtZSI6IiIsImFyZWFfdXJsIjoiIiwic29ydF9uYW1lIjoiIiwieWVhcl9uYW1lIjoiIiwic29ydF91cmwiOiIiLCJ5ZWFyX3VybCI6IiIsImZpbmRfcnVsZSI6ImpzOiQucmVxdWlyZShcImhpa2VyOi8vcGFnZS9tYWluXCIpIiwic2VhcmNoX3VybCI6IiIsImdyb3VwIjoi5bel5YW3Iiwic2VhcmNoRmluZCI6IiIsImRldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJkZXRhaWxfZmluZF9ydWxlIjoiIiwic2RldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJzZGV0YWlsX2ZpbmRfcnVsZSI6IiIsInVhIjoibW9iaWxlIiwicHJlUnVsZSI6IiQuZXh0ZW5kKHtcbiAgICB0ZXh0OiBbXCJodG1cIiwgXCJodG1sXCIsIFwieG1sXCIsIFwiamF2YVwiLCBcInByb3BlcnRpZXNcIiwgXCJzcWxcIiwgXCJqc1wiLCBcIm1kXCIsIFwianNvblwiLCBcImNvbmZcIiwgXCJpbmlcIiwgXCJ2dWVcIiwgXCJwaHBcIiwgXCJweVwiLCBcImJhdFwiLCBcImdpdGlnbm9yZVwiLCBcInltbFwiLCBcImdvXCIsIFwic2hcIiwgXCJjXCIsIFwiY3BwXCIsIFwiaFwiLCBcImhwcFwiLCBcInRzeFwiLCBcInR4dFwiLCBcImVwdWJcIiwgXCJhenczXCIsIFwibW9iaVwiLCBcInBkZlwiLCBcImNobVwiXSxcbiAgICBhdWRpbzogW1wibXAzXCIsIFwiZmxhY1wiLCBcIm9nZ1wiLCBcIm00YVwiLCBcIndhdlwiLCBcIm9wdXNcIl0sXG4gICAgbW92aWU6IFtcIm1wNFwiLCBcIm1rdlwiLCBcImF2aVwiLCBcIm1vdlwiLCBcInJtdmJcIiwgXCJ3ZWJtXCIsIFwiZmx2XCIsIFwibTR2XCIsIFwibTN1OFwiXSxcbiAgICBpbWc6IFtcImpwZ1wiLCBcInBuZ1wiLCBcImpwZWdcIiwgXCJnaWZcIiwgXCJzdmdcIiwgXCJyYXdcIl0sXG4gICAgc3VidGl0bGU6IFtcInZ0dFwiLCBcInNydFwiLCBcImFzc1wiXSxcbiAgICB5YXN1bzogW1wiemlwXCIsIFwicmFyXCIsIFwiamFyXCJdLFxuICAgIG9mZmljZTogW1wiZG9jXCIsIFwiZG9jeFwiLCBcInhsc1wiLCBcInhsc3hcIiwgXCJwcHRcIiwgXCJwcHR4XCJdXG59KSIsInBhZ2VzIjoiW3tcImNvbF90eXBlXCI6XCJ0ZXh0XzFcIixcIm5hbWVcIjpcIuiuvue9rlwiLFwicGF0aFwiOlwic2V0dGluZ3NcIixcInJ1bGVcIjpcImpzOlxcbnZhciBkID0gW107XFxuZC5wdXNoKHtcXG4gICAgZGVzYzogXFxcIndlYmRhduWcsOWdgFxcXCIsXFxuICAgIGNvbF90eXBlOiBcXFwiaW5wdXRcXFwiLFxcbiAgICBleHRyYToge1xcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBnZXRJdGVtKFxcXCJkYXZcXFwiLCBcXFwiXFxcIiksXFxuICAgICAgICB0aXRsZVZpc2libGU6IGZhbHNlLFxcbiAgICAgICAgb25DaGFuZ2U6ICQudG9TdHJpbmcoKCkgPT4ge1xcbiAgICAgICAgICAgIGlmIChpbnB1dFtpbnB1dC5sZW5ndGggLSAxXSA9PSBcXFwiL1xcXCIpIHtcXG4gICAgICAgICAgICAgICAgdXJsID0gaW5wdXQuc3Vic3RyaW5nKDAsIGlucHV0Lmxlbmd0aCAtIDEpXFxuICAgICAgICAgICAgICAgIHNldEl0ZW0oXFxcImRhdlxcXCIsIHVybClcXG4gICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICBzZXRJdGVtKFxcXCJkYXZcXFwiLCBpbnB1dClcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9KVxcbiAgICB9XFxufSlcXG5kLnB1c2goe1xcbiAgICBkZXNjOiBcXFwi6LSm5oi3XFxcIixcXG4gICAgY29sX3R5cGU6IFxcXCJpbnB1dFxcXCIsXFxuICAgIGV4dHJhOiB7XFxuICAgICAgICBkZWZhdWx0VmFsdWU6IGdldEl0ZW0oXFxcInVzZXJcXFwiLCBcXFwiXFxcIiksXFxuICAgICAgICB0aXRsZVZpc2libGU6IGZhbHNlLFxcbiAgICAgICAgb25DaGFuZ2U6ICQudG9TdHJpbmcoKCkgPT4ge1xcbiAgICAgICAgICAgIHNldEl0ZW0oXFxcInVzZXJcXFwiLCBpbnB1dClcXG4gICAgICAgIH0pXFxuICAgIH1cXG59KVxcbmQucHVzaCh7XFxuICAgIGRlc2M6IFxcXCLlr4bnoIFcXFwiLFxcbiAgICBjb2xfdHlwZTogXFxcImlucHV0XFxcIixcXG4gICAgZXh0cmE6IHtcXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogZ2V0SXRlbShcXFwicGFzc3dkXFxcIiwgXFxcIlxcXCIpLFxcbiAgICAgICAgdGl0bGVWaXNpYmxlOiBmYWxzZSxcXG4gICAgICAgIHR5cGU6IFxcXCJwYXNzd29yZFxcXCIsXFxuICAgICAgICBvbkNoYW5nZTogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICAgICAgc2V0SXRlbShcXFwicGFzc3dkXFxcIiwgaW5wdXQpXFxuICAgICAgICB9KVxcbiAgICB9XFxufSlcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogXFxcIua1i+ivlei/nuaOpVxcXCIsXFxuICAgIHVybDogJCgpLmxhenlSdWxlKCgpID0+IHtcXG4gICAgICAgIGNvbnN0IHtcXG4gICAgICAgICAgICBnZXRGaWxlc1xcbiAgICAgICAgfSA9ICQucmVxdWlyZShcXFwiaGlrZXI6Ly9wYWdlL2NvZGVcXFwiKVxcbiAgICAgICAgaWYgKGdldEZpbGVzKGdldEl0ZW0oXFxcImRhdlxcXCIpICsgXFxcIi9cXFwiKSkge1xcbiAgICAgICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly/ov57mjqXmiJDlip9cXFwiXFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly/ov57mjqXlpLHotKXvvIzor7fmo4Dmn6XotKbmiLflr4bnoIFcXFwiXFxuICAgICAgICB9XFxuICAgIH0pLFxcbiAgICBjb2xfdHlwZTogXFxcInRleHRfY2VudGVyXzFcXFwiXFxufSlcXG5sZXQgaWNvbiA9IGdldEl0ZW0oXFxcImljb25TdHlsZVxcXCIsIFxcXCLpu5jorqRcXFwiKVxcbmxldCBkZXRhaWwgPSBnZXRJdGVtKFxcXCJkZXRhaWxcXFwiLCBcXFwi5byAXFxcIilcXG5sZXQgc3VidGl0bGUgPSBnZXRJdGVtKFxcXCJzdWJ0aXRsZVxcXCIsIFxcXCLlvIBcXFwiKVxcbmxldCB0aW1lc3RhbXAgPSBnZXRJdGVtKFxcXCJ0aW1lXFxcIiwgXFxcIjBcXFwiKVxcbmxldCBuZXdWZXJzaW9uO1xcbmxldCBteVZlcnNpb24gPSBNWV9QQVJBTVMudmVyc2lvbiB8fCA5OTk7XFxudHJ5IHtcXG4gICAgcmVzID0gSlNPTi5wYXJzZShmZXRjaChcXFwiaHR0cDovL2hpa2VyLm5va2lhLnByZXNzL2hpa2VydWxlL2Rldi9nZXRieWlkP2lkPTUyMTBcXFwiKSlcXG4gICAgbmV3VmVyc2lvbiA9IHJlcy5yZXN1bHQudmVyXFxufSBjYXRjaCAoZSkge1xcbiAgICB0b2FzdChcXFwi6YGT6ZW/5LuT5bqT5oq96aOO5LqG77yM5pys5qyh5pyq5qOA5rWL5Yiw5paw54mI5L+h5oGvXFxcIik7XFxuICAgIG5ld1ZlcnNpb24gPSBteVZlcnNpb247XFxufVxcbmxldCBpc1VwZGF0ZSA9IE51bWJlcihuZXdWZXJzaW9uKSA8PSBOdW1iZXIobXlWZXJzaW9uKTtcXG5sZXQgaXNWZXIgPSBOdW1iZXIobmV3VmVyc2lvbikgPT09IE51bWJlcihteVZlcnNpb24pO1xcbmQucHVzaCh7XFxuICAgIGNvbF90eXBlOiBcXFwibGluZV9ibGFua1xcXCJcXG59LCB7XFxuICAgIHRpdGxlOiBpc1VwZGF0ZSA/IFxcXCLlt7LmmK/mnIDmlrDniYhcXFwiIDogXFxcIvCfhpnmlrDniYjmnKxcXFwiLFxcbiAgICB1cmw6IFxcXCJydWxlOi8vNXJXMzZaaVU2S2VHNTVXTTZhYVc2YUcxNmFLUjZZR1Q2S2VFNVlpWjQ0Q1FWMlZpWkdGMjQ0Q1I3NytsYUc5dFpWOXlkV3hsWDNWeWJPKy9wV2gwZEhBNkx5OW9hV3RsY2k1dWIydHBZUzV3Y21WemN5OW9hV3RsY25Wc1pTOXlkV3hsYkdsemRDNXFjMjl1UDJsa1BUVXlNVEFtWVhWMGFEMWhZakl6TURVeVlpMWpNR1EyTFRVNFptTXRPVFUxTlMxaE1qVXdNbUV3TUdFek9EYz1cXFwiLFxcbiAgICBjb2xfdHlwZTogXFxcInRleHRfMlxcXCJcXG59LCB7XFxuICAgIHRpdGxlOiBcXFwi5pi+56S66K+m57uG77yaXFxcIiArIGRldGFpbCxcXG4gICAgdXJsOiAkKCkubGF6eVJ1bGUoKGRldGFpbCkgPT4ge1xcbiAgICAgICAgc2V0SXRlbShcXFwiZGV0YWlsXFxcIiwgZGV0YWlsID09IFxcXCLlvIBcXFwiID8gXFxcIuWFs1xcXCIgOiBcXFwi5byAXFxcIilcXG4gICAgICAgIHJlZnJlc2hQYWdlKClcXG4gICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgfSwgZGV0YWlsKSxcXG4gICAgY29sX3R5cGU6IFxcXCJ0ZXh0XzJcXFwiXFxufSwge1xcbiAgICB0aXRsZTogXFxcIuWtl+W5leWKn+iDve+8mlxcXCIgKyBzdWJ0aXRsZSxcXG4gICAgdXJsOiAkKCkubGF6eVJ1bGUoKHN1YnRpdGxlKSA9PiB7XFxuICAgICAgICBzZXRJdGVtKFxcXCJzdWJ0aXRsZVxcXCIsIHN1YnRpdGxlID09IFxcXCLlvIBcXFwiID8gXFxcIuWFs1xcXCIgOiBcXFwi5byAXFxcIilcXG4gICAgICAgIHJlZnJlc2hQYWdlKClcXG4gICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgfSwgc3VidGl0bGUpLFxcbiAgICBjb2xfdHlwZTogXFxcInRleHRfMlxcXCJcXG59LCB7XFxuICAgIHRpdGxlOiBcXFwi5pe26Ze05qC85byP77yaXFxcIiArICh0aW1lc3RhbXAgPT0gXFxcIjBcXFwiID8gXFxcIjIwMjIvMDgvMjAgMTc6MTQ6MzFcXFwiIDogXFxcIlNhdCwgMjAgQXVnIDIwMjIgMDk6MTQ6MzEgR01UXFxcIiksXFxuICAgIHVybDogJCgpLmxhenlSdWxlKCh0aW1lc3RhbXApID0+IHtcXG4gICAgICAgIHNldEl0ZW0oXFxcInRpbWVcXFwiLCB0aW1lc3RhbXAgPT0gXFxcIjBcXFwiID8gXFxcIjFcXFwiIDogXFxcIjBcXFwiKVxcbiAgICAgICAgcmVmcmVzaFBhZ2UoKVxcbiAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICB9LCB0aW1lc3RhbXApLFxcbiAgICBjb2xfdHlwZTogXFxcInRleHRfMVxcXCJcXG59LCB7XFxuICAgIHVybDogJCgpLnJ1bGUoKCkgPT4ge1xcbiAgICAgICAgc2V0UmVzdWx0KFt7XFxuICAgICAgICAgICAgdGl0bGU6IGBcXG4gICAgICAgICAgICA8cD7mnKznr4fmlofnq6Dlj6rpkojlr7norr7nva7vvIzlhbbku5bnmoTkvb/nlKjmlrnms5Xlt7Lnu4/lnKjop4TliJnkuK3or7TmmI7muIXpmaTkuoY8L3A+IDxwPjxpbnM+PGlucz7liY3mj5DmnaHku7bvvJrlt7Lnu4/mm7TmlrA3LjnniYjmnKw8L2lucz48L2lucz48L3A+IDxwPua1t+mYlOinhueVjOmmlumhtemikemBk+inhOWImeOAkFdlYmRhduOAke+/pWhvbWVfcnVsZV91cmzvv6VodHRwOi8vaGlrZXIubm9raWEucHJlc3MvaGlrZXJ1bGUvcnVsZWxpc3QuanNvbj9pZD01MjEwJmFtcDthdXRoPWFiMjMwNTJiLWMwZDYtNThmYy05NTU1LWEyNTAyYTAwYTM4NzwvcD4gPGgxIGlkPVxcXCJ3ZWJkYXYlRTYlOTglQUYlRTQlQkIlODAlRTQlQjklODhcXFwiIHRhYmluZGV4PVxcXCItMVxcXCI+V2ViZGF25piv5LuA5LmIPC9oMT4gPHA+d2ViZGF25bCx5piv5LiA56eN572R55uY5paH5Lu25Lyg6L6T5Y2P6K6u77yM5bi455So5LqO5bCP5LyX6L2v5Lu255qE5pWw5o2u5aSH5Lu944CC5pys6KeE5YiZ5Y+v5Lul566h55CGd2ViZGF255qE5paH5Lu277yM5pSv5oyB5rWP6KeI44CB5pKt5pS+44CB5LiL6L2944CB5LiK5Lyg44CB5Yig6Zmk562J5pON5L2cPC9wPiA8aDEgaWQ9XFxcIiVFNiU4OSU5MyVFNSVCQyU4MCVFOCVBRSVCRSVFNyVCRCVBRVxcXCIgdGFiaW5kZXg9XFxcIi0xXFxcIj7miZPlvIDorr7nva48L2gxPiA8cD48aW1nIHNyYz1cXFwiaHR0cDovL2FsaXN0LmpvZWd1LnRrL2QvaGlrZXIvU2NyZWVuc2hvdF8yMDIyMDgyMV8wODI1NTBfY29tLmV4YW1wbGUuaGlrZXJ2aWV3LmpwZ1xcXCIgYWx0PVxcXCJTY3JlZW5zaG90XzIwMjIwODIxXzA4MjU1MF9jb20uZXhhbXBsZS5oaWtlcnZpZXdcXFwiIC8+PC9wPiA8cD7lsIbkvaDnmoR3ZWJkYXbpk77mjqXlkozotKbmiLflr4bnoIHloavov5vljrvvvIjov5nph4zmjqjojZDkvb/nlKjlnZrmnpzkupHvvIzkvJjngrk656iz5a6aO+e8uueCuTrlrrnph4/lsJHvvIzku7fmoLzotLXjgILkuZ/lj6/ku6Xoh6rlt7HmkK3lu7p3ZWJkYXbns7vnu5/vvIzkvovlpoJhbGlzdOWSjGNsb3VkcmV2Ze+8jOmcgOimgeS4gOWumueahOWKqOaJi+iDveWKm++8iTwvcD4gPGgyIGlkPVxcXCIlRTglQUUlQkUlRTclQkQlQUUlRTUlOUIlQkUlRTYlQTAlODdcXFwiIHRhYmluZGV4PVxcXCItMVxcXCI+6K6+572u5Zu+5qCHPC9oMj4gPHA+5pys6KeE5YiZ5YaF572u5Lik56eN6aOO5qC855qE5Zu+5qCH77yM5YiG5Yir5Li66YGT6ZW/55qE5ZKM6JOd6I6T55qE77yM6Ieq5bex6YCJ5oupPC9wPiA8aDIgaWQ9XFxcIiVFNiU5OCVCRSVFNyVBNCVCQSVFOCVBRiVBNiVFNyVCQiU4NlxcXCIgdGFiaW5kZXg9XFxcIi0xXFxcIj7mmL7npLror6bnu4Y8L2gyPiA8cD7lj6/ku6XliJflh7rlvZPliY3mlofku7blpLnmiJbmlofku7bnmoTliJvlu7rml7bpl7TjgII8YnIgLz4gPHN0cm9uZz48c3Ryb25nPumXrumimO+8mjwvc3Ryb25nPjwvc3Ryb25nPjxiciAvPiDkuI3og73oh6rliqjmkq3mlL7kuIvkuIDpm4Y8L3A+IDxoMiBpZD1cXFwiJUU1JUFEJTk3JUU1JUI5JTk1XFxcIiB0YWJpbmRleD1cXFwiLTFcXFwiPuWtl+W5lTwvaDI+IDxwPuWtl+W5leWKn+iDveWmguaenOaJk+W8gO+8jOmCo+S5iOWmguaenOinhumikeS4juWtl+W5leeahOaWh+S7tuWQjeebuOWQjO+8jOmCo+S5iOWwseS8muiHquWKqOaMgui9veS4iuOAguWmguaenOW9k+WJjeaWh+S7tuWkueaciei/meS4quWtl+W5leaWh+S7tu+8jOS9huaYr+WQjeWtl+S4jeWQjO+8jOWwseS8mui3s+WHuumAieaLqeahhumAieaLqTwvcD4gPGgxIGlkPVxcXCIlRTglQkYlOTQlRTUlOUIlOUUlRTQlQjglQkIlRTclOTUlOEMlRTklOUQlQTJcXFwiIHRhYmluZGV4PVxcXCItMVxcXCI+6L+U5Zue5Li755WM6Z2iPC9oMT4gPHA+PGltZyBzcmM9XFxcImh0dHA6Ly9hbGlzdC5qb2VndS50ay9kL2hpa2VyL1NjcmVlbnNob3RfMjAyMjA4MjFfMTQwNzA1X2NvbS5leGFtcGxlLmhpa2Vydmlldy5qcGdcXFwiIGFsdD1cXFwiU2NyZWVuc2hvdF8yMDIyMDgyMV8xNDA3MDVfY29tLmV4YW1wbGUuaGlrZXJ2aWV3XFxcIiAvPjxiciAvPiDlj6/ku6XnnIvop4HmnInmk43kvZzmoI/vvIzlj6/ku6XkuIrkvKDmlofku7bvvIzmlrDlu7rmlofku7blpLnlkozliKDpmaTmlofku7bkuInkuKrmk43kvZw8L3A+IDxwPuS4i+mdouaYr+S9oOeahOaWh+S7tu+8jOS9oOWPr+S7peWDj+a1j+iniOaWh+S7tueuoeeQhuWZqOS4gOagt+S9v+eUqOS7ljwvcD4gPGgxIGlkPVxcXCIlRTklQUIlOTglRTclQkElQTclRTglQUUlQkUlRTclQkQlQUVcXFwiIHRhYmluZGV4PVxcXCItMVxcXCI+6auY57qn6K6+572uPC9oMT4gPHA+54K55Ye757yW6L6R6KeE5YiZ77yM5YiS5Yiw5bqV6YOo55qE6aKE5aSE55CGPGJyIC8+IDxpbWcgc3JjPVxcXCJodHRwOi8vYWxpc3Quam9lZ3UudGsvZC9oaWtlci9TY3JlZW5zaG90XzIwMjIwODIxXzE0MTEzNV9jb20uZXhhbXBsZS5oaWtlcnZpZXcuanBnXFxcIiBhbHQ9XFxcIlNjcmVlbnNob3RfMjAyMjA4MjFfMTQxMTM1X2NvbS5leGFtcGxlLmhpa2Vydmlld1xcXCIgLz48YnIgLz4g5qC55o2u5rOo6YeK5L+u5pS577yM5oiR5YaZ55qE5Yeg5Liq5paH5Lu25qC85byP5bey57uP5b6I5a6M5pW05LqG77yM5aaC5p6c5pyJ5pyL5Y+L6K6k5Li65LiN5aW977yM5Y+v5Lul6Ieq6KGM5L+u5pS5PGJyIC8+IOagvOW8j++8mlvigJznsbvlnosx4oCdLOKAnOexu+WeizLigJ1dPC9wPiA8cD7pg73lrozmiJDkuobvvIxlbmpvefCfkp48L3A+XFxuICAgICAgICAgICAgYCxcXG4gICAgICAgICAgICBjb2xfdHlwZTogXFxcInJpY2hfdGV4dFxcXCJcXG4gICAgICAgIH1dKVxcbiAgICB9KSxcXG4gICAgdGl0bGU6IFxcXCLmn6XnnIvkvb/nlKjor7TmmI5cXFwiLFxcbiAgICBkZXNjOiBcXFwiUG93ZXJlZCBieSBKb2Um5bCP5qOJ6KKEXFxcIixcXG4gICAgY29sX3R5cGU6IFxcXCJ0ZXh0X2NlbnRlcl8xXFxcIixcXG4gICAgZXh0cmE6IHtcXG4gICAgICAgIGxpbmVWaXNpYmxlOiBmYWxzZVxcbiAgICB9XFxufSlcXG5zZXRSZXN1bHQoZCk7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLku6PnoIFcIixcInBhdGhcIjpcImNvZGVcIixcInJ1bGVcIjpcIiQuZXhwb3J0cy5nZXRGaWxlcyA9IGZ1bmN0aW9uKHBhdGgpIHtcXG4gICAgdHJ5IHtcXG4gICAgICAgIGlmICghcGF0aCB8fCBwYXRoID09IFxcXCJcXFwiKSB7XFxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXFxuICAgICAgICB9XFxuICAgICAgICBsZXQgd2ViZGF2ID0gYnVpbGRXZWJEYXYocGF0aCwgZ2V0SXRlbShcXFwidXNlclxcXCIsIFxcXCJcXFwiKSwgZ2V0SXRlbShcXFwicGFzc3dkXFxcIiwgXFxcIlxcXCIpKVxcbiAgICAgICAgbGV0IHJlcyA9IHdlYmRhdi5saXN0KClcXG4gICAgICAgIHJlcyA9IEpTT04ucGFyc2UocmVzKVxcbiAgICAgICAgcmV0dXJuIHJlc1xcbiAgICB9IGNhdGNoIChlKSB7XFxuICAgICAgICBsb2coZS5tZXNzYWdlKVxcbiAgICAgICAgcmV0dXJuIGZhbHNlXFxuICAgIH1cXG59XFxuJC5leHBvcnRzLmZldGNoRmlsZSA9IGZ1bmN0aW9uKHBhdGgpIHtcXG4gICAgbGV0IHJlcyA9IHJlcXVlc3QocGF0aCwge1xcbiAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgIFxcXCJhdXRob3JpemF0aW9uXFxcIjogXFxcIkJhc2ljIFxcXCIgKyBiYXNlNjRFbmNvZGUoZ2V0SXRlbShcXFwidXNlclxcXCIpICsgXFxcIjpcXFwiICsgZ2V0SXRlbShcXFwicGFzc3dkXFxcIikpXFxuICAgICAgICB9XFxuICAgIH0pXFxuICAgIHJldHVybiByZXNcXG59XFxuJC5leHBvcnRzLmdldEljb24gPSBmdW5jdGlvbihjb250ZW50KSB7XFxuICAgIGlmIChjb250ZW50LmRpcikge1xcbiAgICAgICAgaW1nID0gXFxcImh0dHBzOi8vbGFubWVpZ3VvamlhbmcuY29tL3R1Ymlhby9tb3JlLzI3NC5wbmdcXFwiXFxuICAgIH0gZWxzZSB7XFxuICAgICAgICBsZXQgZmlsZU5hbWUgPSBjb250ZW50Lm5hbWUudG9Mb3dlckNhc2UoKVxcbiAgICAgICAgbGV0IGh6bSA9ICQucmVxdWlyZShcXFwiY29kZVxcXCIpLmdldEh6bShmaWxlTmFtZSlcXG4gICAgICAgIGlmIChjb250ZW50LnRodW1iICYmIGNvbnRlbnQudHlwZSAhPSAwKSB7XFxuICAgICAgICAgICAgaW1nID0gY29udGVudC50aHVtYlxcbiAgICAgICAgfSBlbHNlIGlmICgkLm1vdmllLmluY2x1ZGVzKGh6bSkpIHtcXG4gICAgICAgICAgICBpbWcgPSBcXFwiaHR0cHM6Ly9sYW5tZWlndW9qaWFuZy5jb20vdHViaWFvL21vcmUvMzAucG5nXFxcIlxcbiAgICAgICAgfSBlbHNlIGlmICgkLmF1ZGlvLmluY2x1ZGVzKGh6bSkpIHtcXG4gICAgICAgICAgICBpbWcgPSBcXFwiaHR0cHM6Ly9sYW5tZWlndW9qaWFuZy5jb20vdHViaWFvL21vcmUvNDAucG5nXFxcIlxcbiAgICAgICAgfSBlbHNlIGlmICgkLnRleHQuaW5jbHVkZXMoaHptKSkge1xcbiAgICAgICAgICAgIGltZyA9IFxcXCJodHRwczovL2xhbm1laWd1b2ppYW5nLmNvbS90dWJpYW8vbW9yZS83OC5wbmdcXFwiXFxuICAgICAgICB9IGVsc2UgaWYgKCQuaW1nLmluY2x1ZGVzKGh6bSkpIHtcXG4gICAgICAgICAgICBpbWcgPSBjb250ZW50LnVybCArIFxcXCJAaGVhZGVycz1cXFwiICsgSlNPTi5zdHJpbmdpZnkoe1xcbiAgICAgICAgICAgICAgICBcXFwiYXV0aG9yaXphdGlvblxcXCI6IFxcXCJCYXNpYyBcXFwiICsgYmFzZTY0RW5jb2RlKGdldEl0ZW0oXFxcInVzZXJcXFwiKSArIFxcXCI6XFxcIiArIGdldEl0ZW0oXFxcInBhc3N3ZFxcXCIpKVxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9IGVsc2UgaWYgKCQueWFzdW8uaW5jbHVkZXMoaHptKSkge1xcbiAgICAgICAgICAgIGltZyA9IFxcXCJodHRwczovL2xhbm1laWd1b2ppYW5nLmNvbS90dWJpYW8vbW9yZS8yMDEucG5nXFxcIlxcbiAgICAgICAgfSBlbHNlIGlmICgkLm9mZmljZS5pbmNsdWRlcyhoem0pKSB7XFxuICAgICAgICAgICAgaW1nID0gXFxcImh0dHBzOi8vbGFubWVpZ3VvamlhbmcuY29tL3R1Ymlhby9tb3JlLzE4NS5wbmdcXFwiXFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIGltZyA9IFxcXCJodHRwczovL2xhbm1laWd1b2ppYW5nLmNvbS90dWJpYW8vbW9yZS8yMzkucG5nXFxcIlxcbiAgICAgICAgfVxcbiAgICB9XFxuICAgIHJldHVybiBpbWdcXG59XFxuJC5leHBvcnRzLmdldEh6bSA9IGZ1bmN0aW9uKGZpbGVOYW1lKSB7XFxuICAgIHJldHVybiBmaWxlTmFtZS5zdWJzdHIoZmlsZU5hbWUubGFzdEluZGV4T2YoXFxcIi5cXFwiKSArIDEpXFxufVxcbiQuZXhwb3J0cy5yZW1vdmVFeHQgPSBmdW5jdGlvbihmaWxlKSB7XFxuICAgIHJldHVybiBmaWxlLnNwbGl0KCcuJykuc2xpY2UoMCwgLTEpLmpvaW4oJy4nKVxcbn07XFxuJC5leHBvcnRzLmdldFN1YiA9IGZ1bmN0aW9uKGxpc3QpIHtcXG4gICAgY29uc3Qge1xcbiAgICAgICAgZ2V0SHptXFxuICAgIH0gPSAkLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9jb2RlXFxcIilcXG4gICAgbGV0IHMgPSBbXVxcbiAgICBsaXN0LmZvckVhY2goaXRlbSA9PiB7XFxuICAgICAgICBpZiAoJC5zdWJ0aXRsZS5pbmNsdWRlcyhnZXRIem0oaXRlbS5uYW1lKSkpIHtcXG4gICAgICAgICAgICBzLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogaXRlbS5uYW1lLFxcbiAgICAgICAgICAgICAgICB1cmw6IGl0ZW0udXJsXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgIH1cXG4gICAgfSlcXG4gICAgcmV0dXJuIHNcXG59XFxuJC5leHBvcnRzLmRvd25sb2FkID0gZnVuY3Rpb24ocGF0aCwgbmFtZSkge1xcbiAgICBsZXQgd2ViZGF2ID0gYnVpbGRXZWJEYXYocGF0aCwgZ2V0SXRlbShcXFwidXNlclxcXCIsIFxcXCJcXFwiKSwgZ2V0SXRlbShcXFwicGFzc3dkXFxcIiwgXFxcIlxcXCIpKVxcbiAgICBsZXQgcCA9IFxcXCJoaWtlcjovL2ZpbGVzL2NhY2hlL19maWxlU2VsZWN0X1xcXCIgKyBuYW1lO1xcbiAgICB3ZWJkYXYuZG93bmxvYWQobmFtZSwgcCk7XFxuICAgIHJldHVybiBnZXRQYXRoKHApO1xcbn1cXG4kLmV4cG9ydHMuZGVsZXRlRmlsZSA9IGZ1bmN0aW9uKHBhdGgsIG5hbWUpIHtcXG4gICAgbGV0IHdlYmRhdiA9IGJ1aWxkV2ViRGF2KHBhdGgsIGdldEl0ZW0oXFxcInVzZXJcXFwiLCBcXFwiXFxcIiksIGdldEl0ZW0oXFxcInBhc3N3ZFxcXCIsIFxcXCJcXFwiKSlcXG4gICAgd2ViZGF2LmRlbGV0ZShuYW1lKVxcbn1cXG4kLmV4cG9ydHMucmVuYW1lID0gZnVuY3Rpb24ocGF0aCwgb2xkbmFtZSwgbmV3bmFtZSkge1xcbiAgICB0b2FzdChcXFwi5pqC5pyq5pSv5oyBXFxcIilcXG59XFxuJC5leHBvcnRzLnNvcnRzID0gZnVuY3Rpb24obGlzdCwgbWV0aG9kKSB7XFxuICAgIGlmIChtZXRob2QuaW5jbHVkZXMoXFxcIuWQjeensFxcXCIpKSB7XFxuICAgICAgICBsaXN0LnNvcnQoZnVuY3Rpb24oYSwgYikge1xcbiAgICAgICAgICAgIHJldHVybiBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpXFxuICAgICAgICB9KVxcbiAgICB9IGVsc2UgaWYgKG1ldGhvZC5pbmNsdWRlcyhcXFwi5pe26Ze0XFxcIikpIHtcXG4gICAgICAgIGxpc3Quc29ydChmdW5jdGlvbihhLCBiKSB7XFxuICAgICAgICAgICAgcmV0dXJuIGEubW9kaWZ5VGltZXN0YW1wIC0gYi5tb2RpZnlUaW1lc3RhbXBcXG4gICAgICAgIH0pXFxuICAgIH1cXG4gICAgaWYgKG1ldGhvZC5pbmNsdWRlcyhcXFwi5Y+NXFxcIikpIHtcXG4gICAgICAgIGxpc3QucmV2ZXJzZSgpO1xcbiAgICB9XFxuICAgIHJldHVybiBsaXN0XFxufVxcbiQuZXhwb3J0cy5nZXRJbmZvID0gZnVuY3Rpb24oKSB7XFxuICAgIHJldHVybiBKU09OLnBhcnNlKHJlYWRGaWxlKFxcXCJoaWtlcjovL2ZpbGVzL3J1bGVzL3dlYmRhdi9pbmZvLmpzb25cXFwiKSlcXG59XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLkuLvpobVcIixcInBhdGhcIjpcIm1haW5cIixcInJ1bGVcIjpcImpzOlxcbnRyeSB7XFxuICAgIHZhciBkID0gW107XFxuICAgIGNvbnN0IHtcXG4gICAgICAgIGdldEZpbGVzLFxcbiAgICAgICAgZG93bmxvYWQsXFxuICAgICAgICBnZXRJY29uLFxcbiAgICAgICAgc29ydHNcXG4gICAgfSA9ICQucmVxdWlyZShcXFwiaGlrZXI6Ly9wYWdlL2NvZGVcXFwiKVxcbiAgICB2YXIgcm9vdCA9IGdldEl0ZW0oXFxcImRhdlxcXCIpICsgXFxcIi9cXFwiXFxuICAgIHZhciBwYXRocyA9IHN0b3JhZ2UwLmdldE15VmFyKFxcXCJwYXRoXFxcIiwgW10pXFxuICAgIHZhciBzcm9vdCA9IHBhdGhzLmpvaW4oXFxcIi9cXFwiKVxcbiAgICB2YXIgcGF0aCA9IHJvb3QgKyBzcm9vdFxcbiAgICB2YXIgZmlsZXMgPSBnZXRGaWxlcyhwYXRoKVxcbiAgICBpZiAoZmlsZXMpIHtcXG4gICAgICAgIGxldCB0ZW1wID0gXFxcIlxcXCJcXG4gICAgICAgIHNvcnRzKGZpbGVzLCBnZXRNeVZhcihcXFwic29ydFxcXCIsIFxcXCLpu5jorqRcXFwiKSlcXG4gICAgICAgIGxldCBzb3JyID0gW1xcXCLpu5jorqRcXFwiLCBcXFwi5ZCN56ewXFxcIiwgXFxcIuaXtumXtFxcXCJdXFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBcXFwi6K6+572uXFxcIixcXG4gICAgICAgICAgICB1cmw6IFxcXCJoaWtlcjovL3BhZ2Uvc2V0dGluZ3NcXFwiLFxcbiAgICAgICAgICAgIGltZzogXFxcImhpa2VyOi8vaW1hZ2VzL2hvbWVfaWNvbl9pdGVtXFxcIixcXG4gICAgICAgICAgICBjb2xfdHlwZTogXFxcImljb25fNVxcXCIsXFxuICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgdmVyc2lvbjogTVlfUlVMRS52ZXJzaW9uXFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSwge1xcbiAgICAgICAgICAgIHRpdGxlOiBcXFwi5YiH5o2i5qC35byPXFxcIixcXG4gICAgICAgICAgICB1cmw6ICQoW1xcXCJtb3ZpZV8xX2xlZnRfcGljXFxcIiwgXFxcImNhcmRfcGljXzNcXFwiLCBcXFwiYXZhdGFyXFxcIiwgXFxcIm1vdmllXzFfdmVydGljYWxfcGljXFxcIiwgXFxcInRleHRfMVxcXCJdKS5zZWxlY3QoKCkgPT4ge1xcbiAgICAgICAgICAgICAgICBzZXRJdGVtKFxcXCJjb2xfdHlwZVxcXCIsIGlucHV0KVxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxuICAgICAgICAgICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly/lt7LliIfmjaJcXFwiXFxuICAgICAgICAgICAgfSksXFxuICAgICAgICAgICAgaW1nOiBcXFwiaGlrZXI6Ly9pbWFnZXMvaG9tZV9pY29uX2NvZGVcXFwiLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiaWNvbl81XFxcIlxcbiAgICAgICAgfSwge1xcbiAgICAgICAgICAgIHRpdGxlOiBcXFwi5LiK5Lyg5paH5Lu2XFxcIixcXG4gICAgICAgICAgICB1cmw6IFxcXCJmaWxlU2VsZWN0Oi8vXFxcIiArICQudG9TdHJpbmcoKHBhdGgpID0+IHtcXG4gICAgICAgICAgICAgICAgbGV0IHdlYmRhdiA9IGJ1aWxkV2ViRGF2KHBhdGgsIGdldEl0ZW0oXFxcInVzZXJcXFwiKSwgZ2V0SXRlbShcXFwicGFzc3dkXFxcIikpXFxuICAgICAgICAgICAgICAgIGxldCBzID0gaW5wdXQuc3BsaXQoXFxcIi9cXFwiKVxcbiAgICAgICAgICAgICAgICB3ZWJkYXYudXBsb2FkKHNbcy5sZW5ndGggLSAxXS5yZXBsYWNlKFxcXCJfZmlsZVNlbGVjdF9cXFwiLCBcXFwiXFxcIiksIGlucHV0KVxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgICAgIH0sIHBhdGgpLFxcbiAgICAgICAgICAgIGltZzogXFxcImhpa2VyOi8vaW1hZ2VzL2hvbWVfaWNvbl9ib29rbWFya1xcXCIsXFxuICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJpY29uXzVcXFwiXFxuICAgICAgICB9LCB7XFxuICAgICAgICAgICAgdGl0bGU6IFxcXCLmlrDlu7rmlofku7ZcXFwiLFxcbiAgICAgICAgICAgIHVybDogJChcXFwiXFxcIikuaW5wdXQoKHBhdGgpID0+IHtcXG4gICAgICAgICAgICAgICAgbGV0IHdlYmRhdiA9IGJ1aWxkV2ViRGF2KHBhdGgsIGdldEl0ZW0oXFxcInVzZXJcXFwiKSwgZ2V0SXRlbShcXFwicGFzc3dkXFxcIikpXFxuICAgICAgICAgICAgICAgIHdyaXRlRmlsZShcXFwiaGlrZXI6Ly9maWxlcy9jYWNoZS93YS50eHRcXFwiLCBcXFwiXFxcIilcXG4gICAgICAgICAgICAgICAgd2ViZGF2LnVwbG9hZChpbnB1dCwgXFxcImhpa2VyOi8vZmlsZXMvY2FjaGUvd2EudHh0XFxcIilcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgICAgICAgICB9LCBwYXRoKSxcXG4gICAgICAgICAgICBpbWc6IFxcXCJoaWtlcjovL2ltYWdlcy9ob21lX2ljb25fYm9va21hcmtcXFwiLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiaWNvbl81XFxcIlxcbiAgICAgICAgfSwge1xcbiAgICAgICAgICAgIHRpdGxlOiBcXFwi5paw5paH5Lu25aS5XFxcIixcXG4gICAgICAgICAgICB1cmw6ICQoXFxcIlxcXCIsIFxcXCLovpPlhaXmlofku7blpLnlkI3np7BcXFwiKS5pbnB1dCgocGF0aCkgPT4ge1xcbiAgICAgICAgICAgICAgICBsZXQgd2ViZGF2ID0gYnVpbGRXZWJEYXYocGF0aCwgZ2V0SXRlbShcXFwidXNlclxcXCIpLCBnZXRJdGVtKFxcXCJwYXNzd2RcXFwiKSlcXG4gICAgICAgICAgICAgICAgd2ViZGF2Lm1ha2VEaXIoaW5wdXQpXFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXG4gICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgICAgIH0sIHBhdGgpLFxcbiAgICAgICAgICAgIGltZzogXFxcImhpa2VyOi8vaW1hZ2VzL2hvbWVfaWNvbl9mb2xkXFxcIixcXG4gICAgICAgICAgICBjb2xfdHlwZTogXFxcImljb25fNVxcXCJcXG4gICAgICAgIH0pXFxuICAgICAgICBzb3JyLmZvckVhY2goaXRlbSA9PiB7XFxuICAgICAgICAgICAgdmFyIG4gPSBnZXRNeVZhcihcXFwic29ydFxcXCIsIFxcXCLpu5jorqRcXFwiKVxcbiAgICAgICAgICAgIGlmIChuID09IGl0ZW0pIHtcXG4gICAgICAgICAgICAgICAgdmFyIHRpdGxlID0gaXRlbSArIFxcXCLihpNcXFwiXFxuICAgICAgICAgICAgfSBlbHNlIGlmIChuLmluY2x1ZGVzKFxcXCLlj41cXFwiKSAmJiBuLmluY2x1ZGVzKGl0ZW0pKSB7XFxuICAgICAgICAgICAgICAgIHZhciB0aXRsZSA9IGl0ZW0gKyBcXFwi4oaRXFxcIlxcbiAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgIHZhciB0aXRsZSA9IGl0ZW0gKyBcXFwi4oaVXFxcIlxcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogdGl0bGUsXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFwic2Nyb2xsX2J1dHRvblxcXCIsXFxuICAgICAgICAgICAgICAgIHVybDogJCgpLmxhenlSdWxlKChpdGVtKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICBpZiAoZ2V0TXlWYXIoXFxcInNvcnRcXFwiLCBcXFwi6buY6K6kXFxcIikgPT0gaXRlbSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKFxcXCJzb3J0XFxcIiwgaXRlbSArIFxcXCLlj41cXFwiKVxcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcihcXFwic29ydFxcXCIsIGl0ZW0pXFxuICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICAgICAgICAgIH0sIGl0ZW0pXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgIH0pXFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiYmxhbmtfYmxvY2tcXFwiXFxuICAgICAgICB9KVxcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogYDxgLFxcbiAgICAgICAgICAgIHVybDogJCgpLmxhenlSdWxlKChwYXRocykgPT4ge1xcbiAgICAgICAgICAgICAgICBwYXRocy5wb3AoKVxcbiAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcihcXFwicGF0aFxcXCIsIHBhdGhzKVxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxuICAgICAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgICAgICAgICB9LCBwYXRocyksXFxuICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJzY3JvbGxfYnV0dG9uXFxcIlxcbiAgICAgICAgfSwge1xcbiAgICAgICAgICAgIHRpdGxlOiBcXFwi8J+PoFxcXCIsXFxuICAgICAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xcbiAgICAgICAgICAgICAgICBjbGVhck15VmFyKFxcXCJwYXRoXFxcIilcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcbiAgICAgICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICAgICAgfSksXFxuICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJzY3JvbGxfYnV0dG9uXFxcIlxcbiAgICAgICAgfSlcXG4gICAgICAgIHBhdGhzLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XFxuICAgICAgICAgICAgaWYgKGl0ZW0gIT0gXFxcIlxcXCIpIHtcXG4gICAgICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBkZWNvZGVVUklDb21wb25lbnQoaXRlbSksXFxuICAgICAgICAgICAgICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgoaSwgcGF0aHMpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRocy5zcGxpY2UoaSArIDEpXFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoXFxcInBhdGhcXFwiLCBwYXRocylcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgICAgICAgICAgICAgfSwgaW5kZXgsIHBhdGhzKSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFwic2Nyb2xsX2J1dHRvblxcXCJcXG4gICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9KTtcXG4gICAgICAgIGZpbGVzLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XFxuICAgICAgICAgICAgbGV0IGZpbGVOYW1lID0gZGVjb2RlVVJJQ29tcG9uZW50KGl0ZW0ubmFtZSlcXG4gICAgICAgICAgICBsZXQgaWNvbiA9IGdldEljb24oaXRlbSlcXG5cXG4gICAgICAgICAgICB2YXIgdXJsID0gJCgpLmxhenlSdWxlKChpdGVtLCBmaWxlcywgcGF0aCkgPT4ge1xcbiAgICAgICAgICAgICAgICB2YXIgcGF0aHMgPSBzdG9yYWdlMC5nZXRNeVZhcihcXFwicGF0aFxcXCIsIFtdKVxcbiAgICAgICAgICAgICAgICBjb25zdCB7XFxuICAgICAgICAgICAgICAgICAgICBmZXRjaEZpbGUsXFxuICAgICAgICAgICAgICAgICAgICBnZXRIem0sXFxuICAgICAgICAgICAgICAgICAgICBnZXRTdWIsXFxuICAgICAgICAgICAgICAgICAgICByZW1vdmVFeHQsXFxuICAgICAgICAgICAgICAgICAgICBkb3dubG9hZFxcbiAgICAgICAgICAgICAgICB9ID0gJC5yZXF1aXJlKFxcXCJoaWtlcjovL3BhZ2UvY29kZVxcXCIpXFxuICAgICAgICAgICAgICAgIGlmIChpdGVtLmRpcikge1xcbiAgICAgICAgICAgICAgICAgICAgcGF0aHMucHVzaChpdGVtLmZpbGVOYW1lKVxcbiAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoXFxcInBhdGhcXFwiLCBwYXRocylcXG4gICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICgkLm1vdmllLmluY2x1ZGVzKGdldEh6bShpdGVtLm5hbWUpKSkge1xcbiAgICAgICAgICAgICAgICAgICAgaWYgKGdldEl0ZW0oXFxcInN1YnRpdGxlXFxcIiwgXFxcIuW8gFxcXCIpID09IFxcXCLlvIBcXFwiKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHN1YnRpdGxlcyA9IGdldFN1YihmaWxlcylcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbmFtZXMgPSBbXFxcIuS4jemcgOimgeWtl+W5lVxcXCJdXFxuICAgICAgICAgICAgICAgICAgICAgICAgc3VidGl0bGVzLmZvckVhY2goZHMgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lcy5wdXNoKGRzLnRpdGxlKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN1YnRpdGxlcy5sZW5ndGggIT0gMCkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJChuYW1lcywgMSwgXFxcIuivt+mAieaLqeWtl+W5lVxcXCIpLnNlbGVjdCgobmFtZXMsIHN1YnRpdGxlcywgdXJsKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQgPT0gXFxcIuS4jemcgOimgeWtl+W5lVxcXCIpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoe1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmxzOiBbdXJsXSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIkF1dGhvcml6YXRpb25cXFwiOiBcXFwiQmFzaWMgXFxcIiArIGJhc2U2NEVuY29kZShnZXRJdGVtKFxcXCJ1c2VyXFxcIikgKyBcXFwiOlxcXCIgKyBnZXRJdGVtKFxcXCJwYXNzd2RcXFwiKSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybHM6IFt1cmxdLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJ0aXRsZTogc3VidGl0bGVzW25hbWVzLmluZGV4T2YoaW5wdXQpIC0gMV0udXJsLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiQXV0aG9yaXphdGlvblxcXCI6IFxcXCJCYXNpYyBcXFwiICsgYmFzZTY0RW5jb2RlKGdldEl0ZW0oXFxcInVzZXJcXFwiKSArIFxcXCI6XFxcIiArIGdldEl0ZW0oXFxcInBhc3N3ZFxcXCIpKVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgbmFtZXMsIHN1YnRpdGxlcywgaXRlbS51cmwpXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0ucGxheVVybCArIFxcXCIjaXNWaWRlbz10cnVlI1xcXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLnBsYXlVcmwgKyBcXFwiI2lzVmlkZW89dHJ1ZSNcXFwiXFxuICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJC50ZXh0LmluY2x1ZGVzKGdldEh6bShpdGVtLm5hbWUpKSkge1xcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICQoW1xcXCLnvJbovpFcXFwiLCBcXFwi5LiL6L29XFxcIl0pLnNlbGVjdCgoaXRlbSwgcGF0aCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dCA9PSBcXFwi5LiL6L29XFxcIikge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcImRvd25sb2FkOi8vXFxcIiArIGl0ZW0ucGxheVVybFxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBidWlsZFVybChcXFwiaGlrZXI6Ly9wYWdlL2VkaXRcXFwiLCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBwYXRoLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogaXRlbS5uYW1lXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgfSwgaXRlbSwgcGF0aClcXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICgkLmF1ZGlvLmluY2x1ZGVzKGdldEh6bShpdGVtLm5hbWUpKSkge1xcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0ucGxheVVybCArIFxcXCIjaXNNdXNpYz10cnVlI1xcXCJcXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICgkLmltZy5pbmNsdWRlcyhnZXRIem0oaXRlbS5uYW1lKSkpIHtcXG4gICAgICAgICAgICAgICAgICAgIGxldCBwID0gZG93bmxvYWQocGF0aCwgaXRlbS5uYW1lKVxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBcXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwiZG93bmxvYWQ6Ly9cXFwiICsgaXRlbS5wbGF5VXJsXFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9LCBpdGVtLCBmaWxlcywgcGF0aClcXG4gICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogZmlsZU5hbWUsXFxuICAgICAgICAgICAgICAgIGRlc2M6IGdldEl0ZW0oXFxcInRpbWVcXFwiLCBcXFwiMFxcXCIpID09IFxcXCIwXFxcIiA/IGl0ZW0ubW9kaWZ5VGltZVN0ciA6IGl0ZW0ubW9kaWZ5VGltZSxcXG4gICAgICAgICAgICAgICAgaW1nOiBpY29uLFxcbiAgICAgICAgICAgICAgICB1cmw6IHVybCxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IGdldEl0ZW0oXFxcImNvbF90eXBlXFxcIiwgXFxcImF2YXRhclxcXCIpLFxcbiAgICAgICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGluZGV4ICsgXFxcIlxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBsb25nQ2xpY2s6IFt7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFxcXCLliKDpmaTmlofku7ZcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKChwYXRoLCBuYW1lKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkKFxcXCLnoa7lrprliKDpmaTvvJ9cXFwiKS5jb25maXJtKChwYXRoLCBuYW1lKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9jb2RlXFxcIikuZGVsZXRlRmlsZShwYXRoLCBuYW1lKVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBwYXRoLCBuYW1lKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHBhdGgsIGl0ZW0ubmFtZSlcXG4gICAgICAgICAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXFxcIuS9v+eUqOWFtuWug+W6lOeUqOaJk+W8gFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKHBhdGgsIGl0ZW0pID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nKGl0ZW0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB3ZWJkYXYgPSBidWlsZFdlYkRhdihwYXRoLCBnZXRJdGVtKFxcXCJ1c2VyXFxcIiwgXFxcIlxcXCIpLCBnZXRJdGVtKFxcXCJwYXNzd2RcXFwiLCBcXFwiXFxcIikpXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBwID0gXFxcImhpa2VyOi8vZmlsZXMvY2FjaGUvXFxcIiArIGl0ZW0ubmFtZTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2ViZGF2LmRvd25sb2FkKGl0ZW0ubmFtZSwgcClcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJvcGVuRmlsZTovL1xcXCIgKyBwXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgcGF0aCwgaXRlbSlcXG4gICAgICAgICAgICAgICAgICAgIH1dXFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIGlmIChnZXRJdGVtKFxcXCJkZXRhaWxcXFwiLCBcXFwi5byAXFxcIikgPT0gXFxcIuW8gFxcXCIgJiYgZ2V0SXRlbShcXFwiY29sX3R5cGVcXFwiLCBcXFwiYXZhdGFyXFxcIikgPT0gXFxcImF2YXRhclxcXCIpIHtcXG4gICAgICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcXFwi4oCc4oCc4oCd4oCdPHNtYWxsPuKAnOKAnOKAneKAnTxmb250IGNvbG9yPScjYWFhYWFhJz5cXFwiICsgKGdldEl0ZW0oXFxcInRpbWVcXFwiLCBcXFwiMFxcXCIpID09IFxcXCIwXFxcIiA/IGl0ZW0ubW9kaWZ5VGltZVN0ciA6IGl0ZW0ubW9kaWZ5VGltZSkgKyBcXFwiPC9mb250Pjwvc21hbGw+XFxcIixcXG4gICAgICAgICAgICAgICAgICAgIHVybDogdXJsLFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJ0ZXh0XzFcXFwiXFxuICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSlcXG4gICAgfSBlbHNlIGlmIChnZXRJdGVtKFxcXCJkYXZcXFwiLCBcXFwiXFxcIikgPT0gXFxcIlxcXCIgfHwgZ2V0SXRlbShcXFwidXNlclxcXCIsIFxcXCJcXFwiKSA9PSBcXFwiXFxcIiB8fCBnZXRJdGVtKFxcXCJwYXNzd2RcXFwiLCBcXFwiXFxcIikgPT0gXFxcIlxcXCIpIHtcXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IFxcXCLlvZPliY3mnKrorr7nva7otKblj7fvvIzngrnmiJHorr7nva5cXFwiLFxcbiAgICAgICAgICAgIHVybDogXFxcImhpa2VyOi8vcGFnZS9zZXR0aW5nc1xcXCIsXFxuICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJ0ZXh0X2NlbnRlcl8xXFxcIlxcbiAgICAgICAgfSlcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IFxcXCLorr7nva5cXFwiLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwidGV4dF8xXFxcIixcXG4gICAgICAgICAgICB1cmw6IFxcXCJoaWtlcjovL3BhZ2Uvc2V0dGluZ3NcXFwiXFxuICAgICAgICB9LCB7XFxuICAgICAgICAgICAgdGl0bGU6IFxcXCLlh7rplJnkuobvvIzngrnlh7vliLfmlrBcXFwiLFxcbiAgICAgICAgICAgIHVybDogJCgpLmxhenlSdWxlKCgpID0+IHtcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcbiAgICAgICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICAgICAgfSksXFxuICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJ0ZXh0X2NlbnRlcl8xXFxcIlxcbiAgICAgICAgfSlcXG4gICAgfVxcbn0gY2F0Y2ggKGUpIHtcXG4gICAgbG9nKGUubWVzc2FnZSlcXG4gICAgdG9hc3QoXFxcIueoi+W6j+mUmeivr++8ge+8ge+8geivt+aJk+W8gOaXpeW/l+afpeeci1xcXCIpXFxufVxcbnNldFJlc3VsdChkKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIue8lui+kVwiLFwicGF0aFwiOlwiZWRpdFwiLFwicnVsZVwiOlwianM6XFxudmFyIGQgPSBbXTtcXG5jb25zdCB7XFxuICAgIGRvd25sb2FkXFxufSA9ICQucmVxdWlyZShcXFwiaGlrZXI6Ly9wYWdlL2NvZGVcXFwiKVxcbnZhciBwID0gZG93bmxvYWQoZ2V0UGFyYW0oXFxcInBhdGhcXFwiKSwgZ2V0UGFyYW0oXFxcIm5hbWVcXFwiKSlcXG52YXIgZGVmYSA9IGZldGNoKHApXFxuZC5wdXNoKHtcXG4gICAgY29sX3R5cGU6IFxcXCJpbnB1dFxcXCIsXFxuICAgIGV4dHJhOiB7XFxuICAgICAgICB0eXBlOiAndGV4dGFyZWEnLFxcbiAgICAgICAgaGVpZ2h0OiAxMCxcXG4gICAgICAgIGhpZ2hsaWdodDogdHJ1ZSxcXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogZGVmYSxcXG4gICAgICAgIG9uQ2hhbmdlOiAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgICAgICBwdXRNeVZhcihcXFwidGV4dFxcXCIsIGlucHV0KVxcbiAgICAgICAgICAgIHVwZGF0ZUl0ZW0oXFxcImJ1dHRvblxcXCIsIHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6IGDigJjigJjigJnigJk8YmlnPjxzcGFuIHN0eWxlPVxcXCJjb2xvcjojNkVCODk3XFxcIj7kv50g5a2YPC9zcGFuPjwvYmlnPjxzdHJvbmc+PGZvbnQgY29sb3I9XFxcIiNGNTQzNDNcXFwiPiDil4kgPC9mcm9udD48L3N0cm9uZz5gXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgIH0pXFxuICAgIH1cXG59LCB7XFxuICAgIHRpdGxlOiBg4oCY4oCY4oCZ4oCZPGJpZz48c3BhbiBzdHlsZT1cXFwiY29sb3I6IzZFQjg5N1xcXCI+5L+dIOWtmDwvc3Bhbj48L2JpZz5gLFxcbiAgICB1cmw6ICQoKS5sYXp5UnVsZSgoZGVmYSwgbmFtZSkgPT4ge1xcbiAgICAgICAgbGV0IHdlYmRhdiA9IGJ1aWxkV2ViRGF2KGdldFBhcmFtKFxcXCJwYXRoXFxcIiksIGdldEl0ZW0oXFxcInVzZXJcXFwiKSwgZ2V0SXRlbShcXFwicGFzc3dkXFxcIikpXFxuICAgICAgICB3cml0ZUZpbGUoXFxcImhpa2VyOi8vZmlsZXMvY2FjaGUvd2EudHh0XFxcIiwgZ2V0TXlWYXIoXFxcInRleHRcXFwiLCBkZWZhKSlcXG4gICAgICAgIHdlYmRhdi51cGxvYWQobmFtZSwgXFxcImhpa2VyOi8vZmlsZXMvY2FjaGUvd2EudHh0XFxcIilcXG4gICAgICAgIHVwZGF0ZUl0ZW0oXFxcImJ1dHRvblxcXCIsIHtcXG4gICAgICAgICAgICB0aXRsZTogYOKAmOKAmOKAmeKAmTxiaWc+PHNwYW4gc3R5bGU9XFxcImNvbG9yOiM2RUI4OTdcXFwiPuS/nSDlrZg8L3NwYW4+PC9iaWc+YFxcbiAgICAgICAgfSlcXG4gICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly/kv53lrZjmiJDlip9cXFwiXFxuICAgIH0sIGRlZmEsIGdldFBhcmFtKFxcXCJuYW1lXFxcIikpLFxcbiAgICBjb2xfdHlwZTogXFxcInRleHRfY2VudGVyXzFcXFwiLFxcbiAgICBleHRyYToge1xcbiAgICAgICAgaWQ6IFxcXCJidXR0b25cXFwiXFxuICAgIH1cXG59KVxcbnNldFJlc3VsdChkKTtcIn1dIiwiaWNvbiI6Imh0dHBzOi8vaWNvbmZvbnQudHlyYW50Zy5jb20vYXBpL2lsbHVzdHJhdGUuc3ZnP3N2Z19zdHJpbmc9JTNDc3ZnJTIwY2xhc3MlM0QlMjJpY29uJTIyJTIwc3R5bGUlM0QlMjJ3aWR0aCUzQSUyMDFlbSUzQmhlaWdodCUzQSUyMDFlbSUzQnZlcnRpY2FsLWFsaWduJTNBJTIwbWlkZGxlJTNCZmlsbCUzQSUyMGN1cnJlbnRDb2xvciUzQm92ZXJmbG93JTNBJTIwaGlkZGVuJTNCJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTAyNCUyMDEwMjQlMjIlMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk01MTIlMjAxODUuNmMxMjkuNzkyJTIwMCUyMDIzOC4wMjg4JTIwOTQuNTE1MiUyMDI1Ni42NCUyMDIxOC41NDcybDAuMzA3MiUyMDIuMTc2Yzk1LjIzMiUyMDIzLjM0NzIlMjAxNjUuMTQ1NiUyMDEwNy4wMDglMjAxNjguMTQwOCUyMDIwNi4xODI0bDAuMTAyNCUyMDYuNjU2YzAlMjAxMTguMTQ0LTk0LjU2NjQlMjAyMTQuODA5Ni0yMTMuNDAxNiUyMDIxOS4wNTkyYTMyJTIwMzIlMjAwJTIwMSUyMDEtMi4zMDQtNjMuOTQ4OGM4NC42MDgtMy4wMjA4JTIwMTUxLjcwNTYtNzEuNjI4OCUyMDE1MS43MDU2LTE1NS4xMzYlMjAwLTc2LjM2NDgtNTYuMzk2OC0xNDAuOTI4LTEzMS43ODg4LTE1My4wODhsLTUuOTkwNC0wLjg3MDQtMjcuMDA4LTMuMzI4LTEuMDc1Mi0yNy4xODcyQzcwMy4zMzQ0JTIwMzMxLjYyMjQlMjA2MTcuMjE2JTIwMjQ5LjYlMjA1MTIlMjAyNDkuNmMtMTAzLjAxNDQlMjAwLTE4Ny43NTA0JTIwNzguNjk0NC0xOTQuOTk1MiUyMDE3OC43MzkybC0wLjMzMjglMjA2LjI3Mi0xLjA3NTIlMjAyNy4xODcyLTI2Ljk4MjQlMjAzLjMyOGMtNzguNDEyOCUyMDkuNjc2OC0xMzcuODA0OCUyMDc1LjYyMjQtMTM3LjgwNDglMjAxNTQuMDA5NiUyMDAlMjA4My43ODg4JTIwNjcuNTMyOCUyMDE1Mi41MjQ4JTIwMTUxLjQ0OTYlMjAxNTUuMjY0bDI2NS4yOTI4LTAuMTAyNGEzMiUyMDMyJTIwMCUyMDElMjAxJTIwMC4wMjU2JTIwNjRsLTI2Ni4zNDI0JTIwMC4xMDI0Yy0xMTkuMjk2LTMuODY1Ni0yMTQuNDI1Ni0xMDAuNzM2LTIxNC40MjU2LTIxOS4yNjQlMjAwLTk5LjczNzYlMjA2Ny42ODY0LTE4NC45NiUyMDE2MS40NTkyLTIxMS4wNDY0bDYuNzg0LTEuNzkyJTIwMC4zMDcyLTIuMjAxNmMxOC4zMjk2LTEyMS43MjglMjAxMjIuODgtMjE0Ljk4ODglMjAyNDkuNDQ2NC0yMTguMzkzNkw1MTIlMjAxODUuNnolMjIlMjBmaWxsJTNEJTIyJTIzRkI1NTNDJTIyJTIwJTJGJTNFJTNDcGF0aCUyMGQlM0QlMjJNNTUwLjc4NCUyMDU1NS44NTI4aDYxLjMzNzZhMjEuMzc2JTIwMjEuMzc2JTIwMCUyMDAlMjAwJTIwMTUuMzM0NC0zNi4yNzUybC05MS44NTI4LTk0LjIwOGEyMS4zNzYlMjAyMS4zNzYlMjAwJTIwMCUyMDAtMzAuNTkyJTIwMGwtOTEuODUyOCUyMDk0LjIwOGEyMS4zNzYlMjAyMS4zNzYlMjAwJTIwMCUyMDAlMjAxNS4zNiUyMDM2LjM1Mmg2MS4yNjA4djgyLjk5NTJhMzAuNTE1MiUyMDMwLjUxNTIlMjAwJTIwMCUyMDAlMjA2MS4wMDQ4JTIwMHYtODMuMDcyeiUyMiUyMGZpbGwlM0QlMjIlMjNGQjU1M0MlMjIlMjAlMkYlM0UlM0MlMkZzdmclM0UiLCJwcm94eSI6IiJ9
Add Comment
Please, Sign In to add comment