xiaomianao666

小程序:阿里云盘

Jun 17th, 2023
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@阿里云盘@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoi6Zi/6YeM5LqR55uYIiwiYXV0aG9yIjoiSm9lJs6xIiwidXJsIjoiaGlrZXI6Ly9lbXB0eT9wYWdlPWZ5cGFnZSIsInZlcnNpb24iOjE4LCJjb2xfdHlwZSI6Im1vdmllXzMiLCJjbGFzc19uYW1lIjoiIiwidHlwZSI6InZpZGVvIiwiY2xhc3NfdXJsIjoiIiwiYXJlYV9uYW1lIjoiIiwiYXJlYV91cmwiOiIiLCJzb3J0X25hbWUiOiIiLCJ5ZWFyX25hbWUiOiIiLCJzb3J0X3VybCI6IiIsInllYXJfdXJsIjoiIiwiZmluZF9ydWxlIjoianM6JC5yZXF1aXJlKFwiaGlrZXI6Ly9wYWdlL2hvbWVcIikiLCJzZWFyY2hfdXJsIjoiaGlrZXI6Ly9lbXB0eT9rdz0qKiIsImdyb3VwIjoi6KeG6aKRIiwic2VhcmNoRmluZCI6ImpzOiQucmVxdWlyZShcImhpa2VyOi8vcGFnZS9zZWFyY2hcIikiLCJkZXRhaWxfY29sX3R5cGUiOiJtb3ZpZV8xIiwiZGV0YWlsX2ZpbmRfcnVsZSI6IiIsInNkZXRhaWxfY29sX3R5cGUiOiJtb3ZpZV8xIiwic2RldGFpbF9maW5kX3J1bGUiOiIiLCJ1YSI6Im1vYmlsZSIsInByZVJ1bGUiOiIkLmV4dGVuZCh7XG4gICAgdGV4dDogW1wiaHRtXCIsIFwiaHRtbFwiLCBcInhtbFwiLCBcImphdmFcIiwgXCJwcm9wZXJ0aWVzXCIsIFwic3FsXCIsIFwianNcIiwgXCJtZFwiLCBcImpzb25cIiwgXCJjb25mXCIsIFwiaW5pXCIsIFwidnVlXCIsIFwicGhwXCIsIFwicHlcIiwgXCJiYXRcIiwgXCJnaXRpZ25vcmVcIiwgXCJ5bWxcIiwgXCJnb1wiLCBcInNoXCIsIFwiY1wiLCBcImNwcFwiLCBcImhcIiwgXCJocHBcIiwgXCJ0c3hcIl0sXG4gICAgYXVkaW86IFtcIm1wM1wiLCBcImZsYWNcIiwgXCJvZ2dcIiwgXCJtNGFcIiwgXCJ3YXZcIiwgXCJvcHVzXCJdLFxuICAgIG1vdmllOiBbXCJtcDRcIiwgXCJta3ZcIiwgXCJhdmlcIiwgXCJtb3ZcIiwgXCJybXZiXCIsIFwid2VibVwiLCBcImZsdlwiLCBcIm00dlwiLCBcIm0zdThcIiwgXCJ0c1wiXSxcbiAgICBpbWc6IFtcImpwZ1wiLCBcInBuZ1wiLCBcImpwZWdcIiwgXCJnaWZcIiwgXCJzdmdcIiwgXCJyYXdcIl0sXG4gICAgc3VidGl0bGU6IFtcInZ0dFwiLCBcInNydFwiLCBcImFzc1wiXVxufSkiLCJwYWdlcyI6Ilt7XCJjb2xfdHlwZVwiOlwidGV4dF8xXCIsXCJuYW1lXCI6XCLkuLvpobVcIixcInBhdGhcIjpcImhvbWVcIixcInJ1bGVcIjpcImpzOlxcbnZhciBkID0gW107XFxuaWYgKCFmaWxlRXhpc3QoXFxcImhpa2VyOi8vZmlsZXMvcnVsZXMvSm9lL2FsaS5qc29uXFxcIikpIHtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBcXFwi55m76ZmG5Lul5byA5ZCvXFxcIixcXG4gICAgICAgIHVybDogXFxcImhpa2VyOi8vcGFnZS9sb2dpblxcXCIsXFxuICAgICAgICBjb2xfdHlwZTogXFxcInRleHRfY2VudGVyXzFcXFwiXFxuICAgIH0pXFxufSBlbHNlIHtcXG4gICAgZnVuY3Rpb24gZm9ybWF0RGF0ZSh0aW1lKSB7XFxuICAgICAgICB2YXIgZGF0ZSA9IG5ldyBEYXRlKHRpbWUpO1xcbiAgICAgICAgdmFyIFlZID0gZGF0ZS5nZXRGdWxsWWVhcigpICsgJy0nO1xcbiAgICAgICAgdmFyIE1NID0gKGRhdGUuZ2V0TW9udGgoKSArIDEgPCAxMCA/ICcwJyArIChkYXRlLmdldE1vbnRoKCkgKyAxKSA6IGRhdGUuZ2V0TW9udGgoKSArIDEpICsgJy0nO1xcbiAgICAgICAgdmFyIEREID0gKGRhdGUuZ2V0RGF0ZSgpIDwgMTAgPyAnMCcgKyAoZGF0ZS5nZXREYXRlKCkpIDogZGF0ZS5nZXREYXRlKCkpO1xcbiAgICAgICAgdmFyIGhoID0gKGRhdGUuZ2V0SG91cnMoKSA8IDEwID8gJzAnICsgZGF0ZS5nZXRIb3VycygpIDogZGF0ZS5nZXRIb3VycygpKSArICc6JztcXG4gICAgICAgIHZhciBtbSA9IChkYXRlLmdldE1pbnV0ZXMoKSA8IDEwID8gJzAnICsgZGF0ZS5nZXRNaW51dGVzKCkgOiBkYXRlLmdldE1pbnV0ZXMoKSkgKyAnOic7XFxuICAgICAgICB2YXIgc3MgPSAoZGF0ZS5nZXRTZWNvbmRzKCkgPCAxMCA/ICcwJyArIGRhdGUuZ2V0U2Vjb25kcygpIDogZGF0ZS5nZXRTZWNvbmRzKCkpO1xcbiAgICAgICAgcmV0dXJuIFlZICsgTU0gKyBERCArIFxcXCIgXFxcIiArIGhoICsgbW0gKyBzcztcXG4gICAgfVxcblxcbiAgICBpZiAoTVlfUEFHRSA9PSAxKSB7XFxuICAgICAgICBsZXQgY29uZmlnID0gSlNPTi5wYXJzZShmZXRjaChcXFwiaGlrZXI6Ly9maWxlcy9ydWxlcy9Kb2UvYWxpLmpzb25cXFwiKSlcXG4gICAgICAgIGlmKG5ldyBEYXRlKCkuZ2V0VGltZSgpPj1jb25maWcudGltZV9leHBpcmUpe1xcbiAgICAgICAgICAgICQucmVxdWlyZShcXFwiaGlrZXI6Ly9wYWdlL2FwaVxcXCIpLnJlZnJlc2hUb2tlbigpO1xcbiAgICAgICAgICAgIGxvZygn5Yi35pawdG9rZW4nKTtcXG4gICAgICAgICAgICBjb25maWcgPSBKU09OLnBhcnNlKGZldGNoKFxcXCJoaWtlcjovL2ZpbGVzL3J1bGVzL0pvZS9hbGkuanNvblxcXCIpKVxcbiAgICAgICAgfVxcbiAgICAgICAgZC51bnNoaWZ0KHtcXG4gICAgICAgICAgICB0aXRsZTogY29uZmlnLm5pY2tfbmFtZSxcXG4gICAgICAgICAgICBpbWc6IGNvbmZpZy5hdmF0YXIsXFxuICAgICAgICAgICAgdXJsOiAkKFxcXCLnoa7orqTpgIDlh7rnmbvpmYbvvJ9cXFwiKS5jb25maXJtKCgpID0+IHtcXG4gICAgICAgICAgICAgICAgZGVsZXRlRmlsZShcXFwiaGlrZXI6Ly9maWxlcy9ydWxlcy9Kb2UvYWxpLmpzb25cXFwiKVxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxuICAgICAgICAgICAgfSksXFxuICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJhdmF0YXJcXFwiXFxuICAgICAgICB9LCB7XFxuICAgICAgICAgICAgZGVzYzogXFxcIuaQnOe0ouaIkeeahOaWh+S7tuaIlui+k+WFpeWIhuS6q+mTvuaOpVxcXCIsXFxuICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJpbnB1dFxcXCIsXFxuICAgICAgICAgICAgdXJsOiBcXFwiJ2hpa2VyOi8vcGFnZS9zZWFyY2g/a3c9JytpbnB1dCsnJnA9ZnlwYWdlI25vUmVmcmVzaCMnXFxcIixcXG4gICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICB0aXRsZVZpc2libGU6IGZhbHNlLFxcbiAgICAgICAgICAgICAgICBvbkNoYW5nZTogXFxcInB1dE15VmFyKCdrdycsaW5wdXQpXFxcIlxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0pXFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBcXFwi5YiH5o2i5qC35byPXFxcIixcXG4gICAgICAgICAgICB1cmw6ICQoW1xcXCJtb3ZpZV8xX2xlZnRfcGljXFxcIiwgXFxcImNhcmRfcGljXzNcXFwiLCBcXFwiYXZhdGFyXFxcIl0pLnNlbGVjdCgoKSA9PiB7XFxuICAgICAgICAgICAgICAgIHNldEl0ZW0oXFxcInN0eWxlXFxcIiwgaW5wdXQpXFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXG4gICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJ0b2FzdDovL+W3suWIh+aNolxcXCJcXG4gICAgICAgICAgICB9KSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogXFxcInRleHRfMlxcXCJcXG4gICAgICAgIH0sIHtcXG4gICAgICAgICAgICB0aXRsZTogXFxcIuaOkuW6jzpcXFwiICsgKGdldE15VmFyKFxcXCJvcmRlclxcXCIsIFxcXCJuYW1lXFxcIikgPT0gXFxcIm5hbWVcXFwiID8gXFxcIuWQjeensFxcXCIgOiBcXFwi5pe26Ze0XFxcIiksXFxuICAgICAgICAgICAgdXJsOiAkKFxcXCIjbm9SZWNvcmRIaXN0b3J5IyNub0xvYWRpbmcjXFxcIikubGF6eVJ1bGUoKCkgPT4ge1xcbiAgICAgICAgICAgICAgICB2YXIgbyA9IGdldE15VmFyKFxcXCJvcmRlclxcXCIsIFxcXCJuYW1lXFxcIilcXG4gICAgICAgICAgICAgICAgcHV0TXlWYXIoXFxcIm9yZGVyXFxcIiwgKG8gPT0gXFxcIm5hbWVcXFwiID8gXFxcInVwZGF0ZWRfYXRcXFwiIDogXFxcIm5hbWVcXFwiKSlcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcbiAgICAgICAgICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8v5YiH5o2i5oiQ5YqfXFxcIlxcbiAgICAgICAgICAgIH0pLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwidGV4dF8yXFxcIlxcbiAgICAgICAgfSwge1xcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiYmxhbmtfYmxvY2tcXFwiXFxuICAgICAgICB9KVxcbiAgICB9XFxuXFxuICAgIHZhciBwYXRoID0gTVlfUEFSQU1TLnBhdGggfHwgXFxcInJvb3RcXFwiXFxuICAgIFxcbiAgICBcXG4gICAgdmFyIGZpbGVzPSQucmVxdWlyZShcXFwiaGlrZXI6Ly9wYWdlL2FwaVxcXCIpLmdldEZpbGVzKHBhdGgpXFxuICAgIFxcbiAgICBpZiAoZmlsZXMuaXRlbXMhPXVuZGVmaW5lZCkge1xcbiAgICAgICAgcHV0TXlWYXIocGF0aCArIFxcXCJtYXJrZXJcXFwiLCBmaWxlcy5uZXh0X21hcmtlcilcXG4gICAgICAgIHZhciBsaXN0ID0gZmlsZXMuaXRlbXNcXG4gICAgICAgIGxpc3QuZm9yRWFjaCgoaXRlbSwgaSkgPT4ge1xcbiAgICAgICAgICAgIGxldCBmaWxlTmFtZSA9IGl0ZW0ubmFtZVxcbiAgICAgICAgICAgIGxldCBsZW4gPSA0MDtcXG4gICAgICAgICAgICBsZXQgbGVuMiA9IGxlbiAvIDI7XFxuICAgICAgICAgICAgaWYgKGZpbGVOYW1lLmxlbmd0aCA+PSBsZW4pIHtcXG4gICAgICAgICAgICAgICAgZmlsZU5hbWUgPSBmaWxlTmFtZS5zdWJzdHIoMCwgbGVuMikgKyAnLi4uJyArIGZpbGVOYW1lLnN1YnN0cihmaWxlTmFtZS5sZW5ndGggLSBsZW4yKTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6IGZpbGVOYW1lLFxcbiAgICAgICAgICAgICAgICBpbWc6IChpdGVtLnRodW1ibmFpbCA/IGl0ZW0udGh1bWJuYWlsIDogKGl0ZW0udHlwZSA9PSBcXFwiZm9sZGVyXFxcIiA/IFxcXCJodHRwczovL2dpdGNvZGUubmV0L3FxXzMyMzk0MzUxL2RyLy0vcmF3L21hc3Rlci9pbWcv5paH5Lu257G75Z6LMi/mlofku7blpLkuc3ZnXFxcIiA6ICQucmVxdWlyZShcXFwiaGlrZXI6Ly9wYWdlL2FwaVxcXCIpLmdldEljb24oaXRlbS5uYW1lKSkpLFxcbiAgICAgICAgICAgICAgICB1cmw6IChpdGVtLnR5cGUgPT0gXFxcImZvbGRlclxcXCIgPyBcXFwiaGlrZXI6Ly9wYWdlL2hvbWU/cGFnZT1meXBhZ2VcXFwiIDogJCgpLmxhenlSdWxlKChpZCwgbmFtZSwgdXJsKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJC5yZXF1aXJlKFxcXCJoaWtlcjovL3BhZ2UvYXBpXFxcIikuY2h1bGkoaWQsIG5hbWUsIHVybClcXG4gICAgICAgICAgICAgICAgfSwgaXRlbS5maWxlX2lkLCBpdGVtLm5hbWUsIGl0ZW0udXJsKSksXFxuICAgICAgICAgICAgICAgIGRlc2M6IGZvcm1hdERhdGUoRGF0ZS5wYXJzZShpdGVtLnVwZGF0ZWRfYXQpKSxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IGdldEl0ZW0oXFxcInN0eWxlXFxcIiwgXFxcIm1vdmllXzNcXFwiKSxcXG4gICAgICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgICAgIHBhdGg6IGl0ZW0uZmlsZV9pZFxcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfSlcXG4gICAgICAgIH0pXFxuICAgIH1lbHNle1xcbiAgICAgICAgaWYoZmlsZXM9PWZhbHNlKXtcXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6J+KAnOKAnOKAneKAnTxzbWFsbD48Zm9udCBjb2xvcj1cXFwiZ3JleVxcXCI+5Yir5YiS5LqG5Yiw5bqV5LqGPC9mb250Pjwvc21hbGw+JyxcXG4gICAgICAgICAgICBjb2xfdHlwZTondGV4dF9jZW50ZXJfMScsXFxuICAgICAgICAgICAgdXJsOidoaWtlcjovL2VtcHR5JywgICAgICAgICAgICBcXG4gICAgICAgICAgfSlcXG4gICAgICAgIH1lbHNle1xcbiAgICAgICAgICAgICQucmVxdWlyZShcXFwiaGlrZXI6Ly9wYWdlL2FwaVxcXCIpLnJlZnJlc2hUb2tlbigpO1xcbiAgICAgICAgICAgIGxvZygn5Yi35pawdG9rZW4nKTtcXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6J+KAnOKAnOKAneKAnTxzbWFsbD48Zm9udCBjb2xvcj1cXFwiZ3JleVxcXCI+6I635Y+W5aSx6LSl6K+36YeN6K+VPC9mb250Pjwvc21hbGw+JyxcXG4gICAgICAgICAgICBjb2xfdHlwZTondGV4dF9jZW50ZXJfMScsXFxuICAgICAgICAgICAgdXJsOidoaWtlcjovL2VtcHR5JywgICAgICAgICAgICBcXG4gICAgICAgICAgfSlcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG5zZXRSZXN1bHQoZCk7XFxuXCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLnmbvpmYZcIixcInBhdGhcIjpcImxvZ2luXCIsXCJydWxlXCI6XCJqczpcXG52YXIgZCA9IFtdO1xcbmxldCB1cmwgPSAnaHR0cHM6Ly9hdXRoLmFsaXl1bmRyaXZlLmNvbS92Mi9vYXV0aC9hdXRob3JpemU/bG9naW5fdHlwZT1jdXN0b20mcmVzcG9uc2VfdHlwZT1jb2RlJnJlZGlyZWN0X3VyaT1odHRwcyUzQSUyRiUyRnd3dy5hbGl5dW5kcml2ZS5jb20lMkZzaWduJTJGY2FsbGJhY2smY2xpZW50X2lkPTI1ZHpYM3ZiWXFrdFZ4eVgmc3RhdGU9JTdCJTIyb3JpZ2luJTIyJTNBJTIyKiUyMiU3RCMvbG9naW4nXFxudmFyIGpzID0gJC50b1N0cmluZygoKSA9PiB7XFxuICAgIGNvbnN0IHRva2VuRnVuY3Rpb24gPSBmdW5jdGlvbigpIHtcXG4gICAgICAgIHZhciB0b2tlbiA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3Rva2VuJykpXFxuICAgICAgICBpZiAodG9rZW4gJiYgdG9rZW4udXNlcl9pZCkge1xcbiAgICAgICAgICAgIGxldCB0b2tlbl91cmwgPSAnaGlrZXI6Ly9maWxlcy9ydWxlcy9Kb2UvYWxpLmpzb24nO1xcbiAgICAgICAgICAgIGZ5X2JyaWRnZV9hcHAud3JpdGVGaWxlKHRva2VuX3VybCwgSlNPTi5zdHJpbmdpZnkodG9rZW4pKVxcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpO1xcbiAgICAgICAgICAgIGFsZXJ0KCdUT0tFTuiOt+WPluaIkOWKn++8jOivt+WLv+azhOa8j+S4quS6uumakOengSHpgIDlh7ror6XpobXpnaLlkI7liLfmlrDph43or5XvvIEnKTtcXG4gICAgICAgICAgICBmeV9icmlkZ2VfYXBwLmJhY2soKTtcXG4gICAgICAgICAgICByZXR1cm47XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHRva2VuX3RpbWVyKCk7XFxuICAgICAgICB9XFxuICAgIH1cXG4gICAgdmFyIHRva2VuX3RpbWVyID0gZnVuY3Rpb24oKSB7XFxuICAgICAgICBzZXRUaW1lb3V0KHRva2VuRnVuY3Rpb24sIDMwMClcXG4gICAgfTtcXG4gICAgdG9rZW5fdGltZXIoKTtcXG4gICAgdG9rZW5GdW5jdGlvbigpO1xcbn0pXFxuZC5wdXNoKHtcXG4gICAgdXJsOiB1cmwsXFxuICAgIGNvbF90eXBlOiAneDVfd2Vidmlld19zaW5nbGUnLFxcbiAgICBkZXNjOiAnMTAwJSYmZmxvYXQnLFxcbiAgICBleHRyYToge1xcbiAgICAgICAgY2FuQmFjazogdHJ1ZSxcXG4gICAgICAgIGpzOiBqc1xcbiAgICB9XFxufSlcXG5zZXRSZXN1bHQoZCk7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCJhcGlcIixcInBhdGhcIjpcImFwaVwiLFwicnVsZVwiOlwidmFyIHJlZnJlc2hUb2tlbiA9IGZ1bmN0aW9uKCkge1xcbiAgICB2YXIgdXJsID0gXFxcImh0dHBzOi8vYXV0aC5hbGl5dW5kcml2ZS5jb20vdjIvYWNjb3VudC90b2tlblxcXCJcXG4gICAgdmFyIGNvbmZpZyA9IEpTT04ucGFyc2UoZmV0Y2goXFxcImhpa2VyOi8vZmlsZXMvcnVsZXMvSm9lL2FsaS5qc29uXFxcIikpXFxuICAgIHZhciByZXMgPSBKU09OLnBhcnNlKHBvc3QodXJsLCB7XFxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XFxuICAgICAgICAgICAgXFxcInJlZnJlc2hfdG9rZW5cXFwiOiBjb25maWcucmVmcmVzaF90b2tlbixcXG4gICAgICAgICAgICBcXFwiZ3JhbnRfdHlwZVxcXCI6IFxcXCJyZWZyZXNoX3Rva2VuXFxcIlxcbiAgICAgICAgfSlcXG4gICAgfSkpXFxuICAgIGNvbmZpZ1tcXFwicmVmcmVzaF90b2tlblxcXCJdID0gcmVzLnJlZnJlc2hfdG9rZW5cXG4gICAgY29uZmlnW1xcXCJhY2Nlc3NfdG9rZW5cXFwiXSA9IHJlcy5hY2Nlc3NfdG9rZW5cXG4gICAgY29uZmlnW1xcXCJleHBpcmVfdGltZVxcXCJdID0gcmVzLmV4cGlyZV90aW1lXFxuICAgIGNvbmZpZ1tcXFwidGltZV9leHBpcmVcXFwiXSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpICsgNzIwMCAqIDEwMDBcXG4gICAgd3JpdGVGaWxlKFxcXCJoaWtlcjovL2ZpbGVzL3J1bGVzL0pvZS9hbGkuanNvblxcXCIsIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpXFxufVxcbnZhciBnZXRGaWxlcyA9IGZ1bmN0aW9uKGlkLCBkaWQpIHtcXG4gICAgdmFyIHVybCA9IFxcXCJodHRwczovL2FwaS5hbGl5dW5kcml2ZS5jb20vYWRyaXZlL3YzL2ZpbGUvbGlzdFxcXCJcXG4gICAgdmFyIGNvbmZpZyA9IEpTT04ucGFyc2UoZmV0Y2goXFxcImhpa2VyOi8vZmlsZXMvcnVsZXMvSm9lL2FsaS5qc29uXFxcIikpXFxuICAgIHZhciBkZWYgPSBkaWQgPyBkaWQgOiBjb25maWcuZGVmYXVsdF9kcml2ZV9pZFxcbiAgICAvL2xvZyhpZClcXG4gICAgdmFyIGRhdGEgPSB7XFxuICAgICAgICBcXFwiZHJpdmVfaWRcXFwiOiBkZWYsXFxuICAgICAgICBcXFwicGFyZW50X2ZpbGVfaWRcXFwiOiBpZCxcXG4gICAgICAgIFxcXCJ0b2tlbl90eXBlXFxcIjogJ0JlYXJlcicsXFxuICAgICAgICBcXFwibGltaXRcXFwiOiAxMDAsXFxuICAgICAgICBcXFwiYWxsXFxcIjogdHJ1ZSxcXG4gICAgICAgIFxcXCJ1cmxfZXhwaXJlX3NlY1xcXCI6IDE2MDAsXFxuICAgICAgICBcXFwiaW1hZ2VfdGh1bWJuYWlsX3Byb2Nlc3NcXFwiOiBcXFwiaW1hZ2UvcmVzaXplLHdfNDAwL2Zvcm1hdCxqcGVnXFxcIixcXG4gICAgICAgIFxcXCJpbWFnZV91cmxfcHJvY2Vzc1xcXCI6IFxcXCJpbWFnZS9yZXNpemUsd18xOTIwL2Zvcm1hdCxqcGVnXFxcIixcXG4gICAgICAgIFxcXCJ2aWRlb190aHVtYm5haWxfcHJvY2Vzc1xcXCI6IFxcXCJ2aWRlby9zbmFwc2hvdCx0XzEwMDAsZl9qcGcsYXJfYXV0byx3XzMwMFxcXCIsXFxuICAgICAgICBcXFwiZmllbGRzXFxcIjogXFxcIipcXFwiLFxcbiAgICAgICAgXFxcIm9yZGVyX2J5XFxcIjogZ2V0TXlWYXIoXFxcIm9yZGVyXFxcIiwgXFxcIm5hbWVcXFwiKSxcXG4gICAgICAgIFxcXCJvcmRlcl9kaXJlY3Rpb25cXFwiOiBcXFwiQVNDXFxcIlxcbiAgICB9XFxuICAgIC8vbG9nKGdldE15VmFyKGlkICsgXFxcIm1hcmtlclxcXCIpKVxcbiAgICBpZiAoTVlfUEFHRSAhPSAxICYmIGdldE15VmFyKGlkICsgXFxcIm1hcmtlclxcXCIsIFxcXCJcXFwiKSA9PSBcXFwiXFxcIikge1xcblxcbiAgICAgICAgcmV0dXJuIGZhbHNlXFxuICAgIH0gZWxzZSB7XFxuICAgICAgICBkYXRhLm1hcmtlciA9IGdldE15VmFyKGlkICsgXFxcIm1hcmtlclxcXCIpICE9ICd1bmRlZmluZWQnID8gZ2V0TXlWYXIoaWQgKyBcXFwibWFya2VyXFxcIikgOiAnJ1xcbiAgICAgICAgY2xlYXJNeVZhcihpZCArIFxcXCJtYXJrZXJcXFwiKVxcbiAgICAgICAgbGV0IHJlcyA9IHBvc3QodXJsLCB7XFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoZGF0YSksXFxuICAgICAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgICAgICBcXFwiYXV0aG9yaXphdGlvblxcXCI6IGNvbmZpZy5hY2Nlc3NfdG9rZW5cXG4gICAgICAgICAgICB9XFxuICAgICAgICB9KVxcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UocmVzKVxcbiAgICB9XFxufVxcbnZhciBjaHVsaSA9IGZ1bmN0aW9uKGlkLCBuYW1lLCB1cmwsIGRpZCkge1xcbiAgICB2YXIgY29uZmlnID0gSlNPTi5wYXJzZShmZXRjaChcXFwiaGlrZXI6Ly9maWxlcy9ydWxlcy9Kb2UvYWxpLmpzb25cXFwiKSlcXG4gICAgdmFyIGRpZCA9IGRpZCA/IGRpZCA6IGNvbmZpZy5kZWZhdWx0X2RyaXZlX2lkXFxuICAgIGxldCB7XFxuICAgICAgICBnZXRIem0sXFxuICAgICAgICBwdXNoXFxuICAgIH0gPSAkLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9hcGlcXFwiKVxcbiAgICB2YXIgSHptID0gZ2V0SHptKG5hbWUpXFxuICAgIGlmICgkLm1vdmllLmluY2x1ZGVzKEh6bSkpIHtcXG4gICAgICAgIGxldCBwdXJsID0gXFxcImh0dHBzOi8vYXBpLmFsaXl1bmRyaXZlLmNvbS9hZHJpdmUvdjIvZmlsZS9nZXRfdmlkZW9fcHJldmlld19wbGF5X2luZm9cXFwiXFxuICAgICAgICB2YXIgdXJscyA9IFtdXFxuICAgICAgICB2YXIgbmFtZXMgPSBbXFxcIuWOn+eUu1xcXCJdXFxuICAgICAgICB1cmxzLnB1c2godXJsICsgXFxcIiNpc1ZpZGVvPXRydWUjXFxcIilcXG4gICAgICAgIGxldCBwdSA9IHBvc3QocHVybCwge1xcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgXFxcImF1dGhvcml6YXRpb25cXFwiOiBjb25maWcuYWNjZXNzX3Rva2VuXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XFxuICAgICAgICAgICAgICAgIFxcXCJkcml2ZV9pZFxcXCI6IGRpZCxcXG4gICAgICAgICAgICAgICAgXFxcImNhdGVnb3J5XFxcIjogXFxcImxpdmVfdHJhbnNjb2RpbmdcXFwiLFxcbiAgICAgICAgICAgICAgICBcXFwiZmlsZV9pZFxcXCI6IGlkLFxcbiAgICAgICAgICAgICAgICBcXFwidGVtcGxhdGVfaWRcXFwiOiBcXFwiXFxcIlxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9KVxcbiAgICAgICAgY29uc3QgdHJhbnNjb2RpbmcgPSB7XFxuICAgICAgICAgICAgVUhEOiBcXFwiNEsg6LaF5riFXFxcIixcXG4gICAgICAgICAgICBRSEQ6IFxcXCIySyDotoXmuIVcXFwiLFxcbiAgICAgICAgICAgIEZIRDogXFxcIjEwODAg5YWo6auY5riFXFxcIixcXG4gICAgICAgICAgICBIRDogXFxcIjcyMCDpq5jmuIVcXFwiLFxcbiAgICAgICAgICAgIFNEOiBcXFwiNTQwIOagh+a4hVxcXCIsXFxuICAgICAgICAgICAgTEQ6IFxcXCIzNjAg5rWB55WFXFxcIlxcbiAgICAgICAgfTtcXG4gICAgICAgIGxldCBhcnIxID0gSlNPTi5wYXJzZShwdSkudmlkZW9fcHJldmlld19wbGF5X2luZm8ubGl2ZV90cmFuc2NvZGluZ190YXNrX2xpc3QuZmlsdGVyKGl0ID0+IGl0LnVybCAhPSBcXFwiXFxcIik7XFxuICAgICAgICBmb3IgKGxldCBrIG9mIE9iamVjdC5rZXlzKHRyYW5zY29kaW5nKSkge1xcbiAgICAgICAgICAgIGZvciAobGV0IGl0IG9mIGFycjEpIHtcXG4gICAgICAgICAgICAgICAgaWYgKGl0LnRlbXBsYXRlX2lkID09IGspIHtcXG4gICAgICAgICAgICAgICAgICAgIHVybHMucHVzaChpdC51cmwgKyBcXFwiI2lzVmlkZW89dHJ1ZSNcXFwiKVxcbiAgICAgICAgICAgICAgICAgICAgbmFtZXMucHVzaCh0cmFuc2NvZGluZ1trXSk7XFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgIH1cXG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7XFxuICAgICAgICAgICAgdXJsczogdXJscyxcXG4gICAgICAgICAgICBuYW1lczogbmFtZXMsXFxuICAgICAgICAgICAgaGVhZGVyczogW3tcXG4gICAgICAgICAgICAgICAgXFxcIlJlZmVyZXJcXFwiOiBcXFwiaHR0cHM6Ly93d3cuYWxpeXVuZHJpdmUuY29tL1xcXCJcXG4gICAgICAgICAgICB9XVxcbiAgICAgICAgfSlcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIGxldCByZXMgPSByZXF1ZXN0KGJ1aWxkVXJsKFxcXCJodHRwczovL2FwaS5hbGl5dW5kcml2ZS5jb20vdjIvZmlsZS9kb3dubG9hZFxcXCIsIHtcXG4gICAgICAgICAgICBcXFwiZHJpdmVfaWRcXFwiOiBkaWQsXFxuICAgICAgICAgICAgXFxcImZpbGVfaWRcXFwiOiBpZCxcXG4gICAgICAgICAgICBcXFwiaW1hZ2VfdGh1bWJuYWlsX3Byb2Nlc3NcXFwiOiBcXFwiaW1hZ2UvcmVzaXplLG1fbGZpdCx3XzI1NixsaW1pdF8wL2Zvcm1hdCxqcGd8aW1hZ2UvZm9ybWF0LHdlYnBcXFwiXFxuICAgICAgICB9KSwge1xcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgXFxcImF1dGhvcml6YXRpb25cXFwiOiBjb25maWcuYWNjZXNzX3Rva2VuXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICByZWRpcmVjdDogZmFsc2VcXG4gICAgICAgIH0pXFxuICAgICAgICB2YXIgdXJsID0gcGRmaChyZXMsIFxcXCJhJiZocmVmXFxcIilcXG4gICAgICAgIGlmICgkLmltZy5pbmNsdWRlcyhIem0pKSB7XFxuICAgICAgICAgICAgcmV0dXJuIHVybCArIFxcXCIjLmpwZ1xcXCJcXG4gICAgICAgIH0gZWxzZSBpZiAoJC5hdWRpby5pbmNsdWRlcyhIem0pKSB7XFxuICAgICAgICAgICAgcmV0dXJuIHVybCArIFxcXCIjaXNNdXNpYz10cnVlI1xcXCJcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgcmV0dXJuIFxcXCJkb3dubG9hZDovL1xcXCIgKyB1cmxcXG4gICAgICAgIH1cXG4gICAgfVxcbn1cXG4kLmV4cG9ydHMuc2hhcmVnZXRmaWxlcyA9IGZ1bmN0aW9uKGlkLCBwYXRoLCBzKSB7XFxuICAgIHZhciBkYXRhID0ge1xcbiAgICAgICAgXFxcImFsbFxcXCI6IHRydWUsXFxuICAgICAgICBcXFwic2hhcmVfaWRcXFwiOiBpZCxcXG4gICAgICAgIFxcXCJwYXJlbnRfZmlsZV9pZFxcXCI6IHBhdGgsXFxuICAgICAgICBcXFwibGltaXRcXFwiOiAyMDAsXFxuICAgICAgICBcXFwiaW1hZ2VfdGh1bWJuYWlsX3Byb2Nlc3NcXFwiOiBcXFwiaW1hZ2UvcmVzaXplLHdfMTYwL2Zvcm1hdCxqcGVnXFxcIixcXG4gICAgICAgIFxcXCJpbWFnZV91cmxfcHJvY2Vzc1xcXCI6IFxcXCJpbWFnZS9yZXNpemUsd18xOTIwL2Zvcm1hdCxqcGVnXFxcIixcXG4gICAgICAgIFxcXCJ2aWRlb190aHVtYm5haWxfcHJvY2Vzc1xcXCI6IFxcXCJ2aWRlby9zbmFwc2hvdCx0XzEwMDAsZl9qcGcsYXJfYXV0byx3XzMwMFxcXCIsXFxuICAgICAgICBcXFwib3JkZXJfYnlcXFwiOiBnZXRJdGVtKFxcXCJvcmRlclxcXCIsIFxcXCJuYW1lXFxcIiksXFxuICAgICAgICBcXFwib3JkZXJfZGlyZWN0aW9uXFxcIjogXFxcIkFTQ1xcXCJcXG4gICAgfVxcbiAgICBpZiAoTVlfUEFHRSA9PSAxIHx8IGdldE15VmFyKGlkICsgXFxcIm1hcmtlclxcXCIsIFxcXCJcXFwiKSAhPSBcXFwiXFxcIikge1xcbiAgICAgICAgZGF0YS5tYXJrZXIgPSBnZXRNeVZhcihpZCArIFxcXCJtYXJrZXJcXFwiKSAhPSAndW5kZWZpbmVkJyA/IGdldE15VmFyKGlkICsgXFxcIm1hcmtlclxcXCIpIDogJydcXG4gICAgICAgIGNsZWFyTXlWYXIoaWQgKyBcXFwibWFya2VyXFxcIilcXG4gICAgICAgIHZhciBmaWxlcyA9IEpTT04ucGFyc2UocG9zdChcXFwiaHR0cHM6Ly9hcGkuYWxpeXVuZHJpdmUuY29tL2Fkcml2ZS92My9maWxlL2xpc3RcXFwiLCB7XFxuICAgICAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgICAgICBcXFwieC1zaGFyZS10b2tlblxcXCI6IHNcXG4gICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGRhdGEpXFxuICAgICAgICB9KSlcXG4gICAgICAgIHJldHVybiBmaWxlc1xcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgcmV0dXJuIGZhbHNlXFxuICAgIH1cXG59XFxuJC5leHBvcnRzLnNoYXJlY2h1bGkgPSBmdW5jdGlvbihzaGFyZV9pZCwgaWQsIG5hbWUsIHMpIHtcXG4gICAgdmFyIGNvbmZpZyA9IEpTT04ucGFyc2UoZmV0Y2goXFxcImhpa2VyOi8vZmlsZXMvcnVsZXMvSm9lL2FsaS5qc29uXFxcIikpXFxuICAgIGxldCB7XFxuICAgICAgICBnZXRIem0sXFxuICAgICAgICBwdXNoXFxuICAgIH0gPSAkLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9hcGlcXFwiKVxcbiAgICB2YXIgSHptID0gZ2V0SHptKG5hbWUpXFxuICAgIGlmICgkLm1vdmllLmluY2x1ZGVzKEh6bSkpIHtcXG4gICAgICAgIGxldCB1cmwgPSBKU09OLnBhcnNlKHBvc3QoXFxcImh0dHBzOi8vYXBpLmFsaXl1bmRyaXZlLmNvbS92Mi9maWxlL2dldF9zaGFyZV9saW5rX2Rvd25sb2FkX3VybFxcXCIsIHtcXG4gICAgICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgICAgIFxcXCJ4LXNoYXJlLXRva2VuXFxcIjogcyxcXG4gICAgICAgICAgICAgICAgXFxcImF1dGhvcml6YXRpb25cXFwiOiBjb25maWcuYWNjZXNzX3Rva2VuXFxuICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XFxuICAgICAgICAgICAgICAgIFxcXCJleHBpcmVfc2VjXFxcIjogNjAwLFxcbiAgICAgICAgICAgICAgICBcXFwiZmlsZV9pZFxcXCI6IGlkLFxcbiAgICAgICAgICAgICAgICBcXFwic2hhcmVfaWRcXFwiOiBzaGFyZV9pZFxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9KSkuZG93bmxvYWRfdXJsXFxuICAgICAgICBsZXQgcHUgPSAkLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9hbGlsYXp5XFxcIikoc2hhcmVfaWQsIGlkLCB1cmwpXFxuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkocHUpXFxuICAgIH0gZWxzZSB7XFxuICAgICAgICBsZXQgdXJsID0gSlNPTi5wYXJzZShwb3N0KFxcXCJodHRwczovL2FwaS5hbGl5dW5kcml2ZS5jb20vdjIvZmlsZS9nZXRfc2hhcmVfbGlua19kb3dubG9hZF91cmxcXFwiLCB7XFxuICAgICAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgICAgICBcXFwieC1zaGFyZS10b2tlblxcXCI6IHMsXFxuICAgICAgICAgICAgICAgIFxcXCJhdXRob3JpemF0aW9uXFxcIjogY29uZmlnLmFjY2Vzc190b2tlblxcbiAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xcbiAgICAgICAgICAgICAgICBcXFwiZXhwaXJlX3NlY1xcXCI6IDYwMCxcXG4gICAgICAgICAgICAgICAgXFxcImZpbGVfaWRcXFwiOiBpZCxcXG4gICAgICAgICAgICAgICAgXFxcInNoYXJlX2lkXFxcIjogc2hhcmVfaWRcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfSkpLnVybFxcbiAgICAgICAgaWYgKCQuaW1nLmluY2x1ZGVzKEh6bSkpIHtcXG4gICAgICAgICAgICByZXR1cm4gdXJsICsgXFxcIiMuanBnXFxcIlxcbiAgICAgICAgfSBlbHNlIGlmICgkLmF1ZGlvLmluY2x1ZGVzKEh6bSkpIHtcXG4gICAgICAgICAgICByZXR1cm4gdXJsICsgXFxcIiNpc011c2ljPXRydWUjXFxcIlxcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICByZXR1cm4gXFxcImRvd25sb2FkOi8vXFxcIiArIHVybFxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcbiQuZXhwb3J0cy5nZXRJY29uID0gZnVuY3Rpb24oZmlsZU5hbWUpIHtcXG4gICAgbGV0IHtcXG4gICAgICAgIGdldEh6bVxcbiAgICB9ID0gJC5yZXF1aXJlKFxcXCJoaWtlcjovL3BhZ2UvYXBpXFxcIilcXG4gICAgbGV0IHJvb3QgPSBcXFwiaHR0cHM6Ly9naXRjb2RlLm5ldC9xcV8zMjM5NDM1MS9kci8tL3Jhdy9tYXN0ZXIvaW1nL+aWh+S7tuexu+WeizIvXFxcIjtcXG4gICAgbGV0IGZpbGVzID0gJ2FpfGFwa3xhdml8Y3NzfGRtZ3xleGV8Zmx2fGdpZnxoaWtlcnxodG1sfGlzb3xqcGd8anN8anNvbnxsb2d8bW92fG1wM3xtcDR8b3RmfHBocHxwbmd8cHB0fHBzZHx0YWJsZXx0eHR8d2F2fHhsc3x6aXB8Y3NzfGRvY3xlcHVifGV4Y3xodG18eGxzeCcuc3BsaXQoJ3wnKTtcXG4gICAgbGV0IGh6bSA9IGdldEh6bShmaWxlTmFtZSlcXG4gICAgaWYgKGZpbGVzLmluY2x1ZGVzKGh6bSkpIHtcXG4gICAgICAgIGltZyA9IHJvb3QgKyBoem0gKyAnLnN2Zyc7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgICBpbWcgPSByb290ICsgXFxcIuaWh+S7ti5zdmdcXFwiXFxuICAgIH1cXG4gICAgcmV0dXJuIGltZ1xcbn1cXG4kLmV4cG9ydHMuZ2V0SHptID0gZnVuY3Rpb24oZmlsZU5hbWUpIHtcXG4gICAgcmV0dXJuIGZpbGVOYW1lLnN1YnN0cihmaWxlTmFtZS5sYXN0SW5kZXhPZihcXFwiLlxcXCIpICsgMSkudG9Mb3dlckNhc2UoKVxcbn1cXG4kLmV4cG9ydHMucmVmcmVzaFRva2VuID0gcmVmcmVzaFRva2VuXFxuJC5leHBvcnRzLmdldEZpbGVzID0gZ2V0RmlsZXNcXG4kLmV4cG9ydHMuY2h1bGkgPSBjaHVsaVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5YiG5LqrXCIsXCJwYXRoXCI6XCJzaGFyZVwiLFwicnVsZVwiOlwianM6XFxudmFyIGQgPSBbXTtcXG5cXG4kLmV4dGVuZCh7XFxuICAgIHRleHQ6IFtcXFwiaHRtXFxcIiwgXFxcImh0bWxcXFwiLCBcXFwieG1sXFxcIiwgXFxcImphdmFcXFwiLCBcXFwicHJvcGVydGllc1xcXCIsIFxcXCJzcWxcXFwiLCBcXFwianNcXFwiLCBcXFwibWRcXFwiLCBcXFwianNvblxcXCIsIFxcXCJjb25mXFxcIiwgXFxcImluaVxcXCIsIFxcXCJ2dWVcXFwiLCBcXFwicGhwXFxcIiwgXFxcInB5XFxcIiwgXFxcImJhdFxcXCIsIFxcXCJnaXRpZ25vcmVcXFwiLCBcXFwieW1sXFxcIiwgXFxcImdvXFxcIiwgXFxcInNoXFxcIiwgXFxcImNcXFwiLCBcXFwiY3BwXFxcIiwgXFxcImhcXFwiLCBcXFwiaHBwXFxcIiwgXFxcInRzeFxcXCJdLFxcbiAgICBhdWRpbzogW1xcXCJtcDNcXFwiLCBcXFwiZmxhY1xcXCIsIFxcXCJvZ2dcXFwiLCBcXFwibTRhXFxcIiwgXFxcIndhdlxcXCIsIFxcXCJvcHVzXFxcIl0sXFxuICAgIG1vdmllOiBbXFxcIm1wNFxcXCIsIFxcXCJta3ZcXFwiLCBcXFwiYXZpXFxcIiwgXFxcIm1vdlxcXCIsIFxcXCJybXZiXFxcIiwgXFxcIndlYm1cXFwiLCBcXFwiZmx2XFxcIiwgXFxcIm00dlxcXCIsIFxcXCJtM3U4XFxcIiwgXFxcInRzXFxcIl0sXFxuICAgIGltZzogW1xcXCJqcGdcXFwiLCBcXFwicG5nXFxcIiwgXFxcImpwZWdcXFwiLCBcXFwiZ2lmXFxcIiwgXFxcInN2Z1xcXCIsIFxcXCJyYXdcXFwiXSxcXG4gICAgc3VidGl0bGU6IFtcXFwidnR0XFxcIiwgXFxcInNydFxcXCIsIFxcXCJhc3NcXFwiXVxcbn0pXFxuXFxuZnVuY3Rpb24gZm9ybWF0RGF0ZSh0aW1lKSB7XFxuICAgIHZhciBkYXRlID0gbmV3IERhdGUodGltZSk7XFxuICAgIHZhciBZWSA9IGRhdGUuZ2V0RnVsbFllYXIoKSArICctJztcXG4gICAgdmFyIE1NID0gKGRhdGUuZ2V0TW9udGgoKSArIDEgPCAxMCA/ICcwJyArIChkYXRlLmdldE1vbnRoKCkgKyAxKSA6IGRhdGUuZ2V0TW9udGgoKSArIDEpICsgJy0nO1xcbiAgICB2YXIgREQgPSAoZGF0ZS5nZXREYXRlKCkgPCAxMCA/ICcwJyArIChkYXRlLmdldERhdGUoKSkgOiBkYXRlLmdldERhdGUoKSk7XFxuICAgIHZhciBoaCA9IChkYXRlLmdldEhvdXJzKCkgPCAxMCA/ICcwJyArIGRhdGUuZ2V0SG91cnMoKSA6IGRhdGUuZ2V0SG91cnMoKSkgKyAnOic7XFxuICAgIHZhciBtbSA9IChkYXRlLmdldE1pbnV0ZXMoKSA8IDEwID8gJzAnICsgZGF0ZS5nZXRNaW51dGVzKCkgOiBkYXRlLmdldE1pbnV0ZXMoKSkgKyAnOic7XFxuICAgIHZhciBzcyA9IChkYXRlLmdldFNlY29uZHMoKSA8IDEwID8gJzAnICsgZGF0ZS5nZXRTZWNvbmRzKCkgOiBkYXRlLmdldFNlY29uZHMoKSk7XFxuICAgIHJldHVybiBZWSArIE1NICsgREQgKyBcXFwiIFxcXCIgKyBoaCArIG1tICsgc3M7XFxufVxcbmlmIChnZXRQYXJhbShcXFwic2hhcmVfdXJsXFxcIikuc3RhcnRzV2l0aChcXFwiaHR0cHM6Ly93d3cuYWxpeXVuZHJpdmUuY29tL3MvXFxcIikpIHtcXG4gICAgdmFyIHNoYXJlVXJsID0gZ2V0UGFyYW0oXFxcInNoYXJlX3VybFxcXCIpXFxuICAgIHZhciBzaGFyZV9pZCA9IHNoYXJlVXJsLnNwbGl0KCdjb20vcy8nKVsxXS5zcGxpdChcXFwiL1xcXCIpWzBdXFxuICAgIGlmIChnZXRJdGVtKHNoYXJlX2lkLCBcXFwiXFxcIikgIT0gXFxcIlxcXCIpIHtcXG4gICAgICAgIHZhciBwYXNzd29yZCA9IGdldEl0ZW0oc2hhcmVfaWQpXFxuICAgIH0gZWxzZSBpZiAoZ2V0UGFyYW0oXFxcInBhc3N3b3JkXFxcIikpIHtcXG4gICAgICAgIHZhciBwYXNzd29yZCA9IGdldFBhcmFtKFxcXCJwYXNzd29yZFxcXCIpXFxuICAgIH0gZWxzZSB7XFxuICAgICAgICB2YXIgcGFzc3dvcmQgPSBcXFwiXFxcIlxcbiAgICB9XFxuICAgIHZhciByZXMgPSBKU09OLnBhcnNlKHBvc3QoXFxcImh0dHBzOi8vYXBpLmFsaXl1bmRyaXZlLmNvbS9hZHJpdmUvdjMvc2hhcmVfbGluay9nZXRfc2hhcmVfYnlfYW5vbnltb3VzP3NoYXJlX2lkPVxcXCIgKyBzaGFyZV9pZCwge1xcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xcbiAgICAgICAgICAgIFxcXCJzaGFyZV9pZFxcXCI6IHNoYXJlX2lkXFxuICAgICAgICB9KVxcbiAgICB9KSlcXG4gICAgdmFyIHNhID0gSlNPTi5wYXJzZShwb3N0KFxcXCJodHRwczovL2FwaS5hbGl5dW5kcml2ZS5jb20vdjIvc2hhcmVfbGluay9nZXRfc2hhcmVfdG9rZW5cXFwiLCB7XFxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XFxuICAgICAgICAgICAgXFxcInNoYXJlX3B3ZFxcXCI6IHBhc3N3b3JkLFxcbiAgICAgICAgICAgIFxcXCJzaGFyZV9pZFxcXCI6IHNoYXJlX2lkXFxuICAgICAgICB9KVxcbiAgICB9KSlcXG4gICAgaWYgKHNhLnNoYXJlX3Rva2VuKSB7XFxuICAgICAgICB2YXIgcyA9IHNhLnNoYXJlX3Rva2VuXFxuICAgICAgICBzZXRQYWdlVGl0bGUocmVzLnNoYXJlX25hbWUpXFxuICAgICAgICB2YXIgcGF0aCA9IE1ZX1BBUkFNUy5wYXRoIHx8IFxcXCJyb290XFxcIlxcbiAgICAgICAgaWYgKE1ZX1BBR0UgPT0gMSkge1xcbiAgICAgICAgICAgIGQudW5zaGlmdCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiByZXMuY3JlYXRvcl9uYW1lLFxcbiAgICAgICAgICAgICAgICBpbWc6IHJlcy5hdmF0YXIsXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiYXZhdGFyXFxcIlxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6IFxcXCLigJzigJzigJ3igJ08c21hbGw+XFxcIiArIGZvcm1hdERhdGUoRGF0ZS5wYXJzZShyZXMudXBkYXRlZF9hdCkpICsgXFxcIjwvc21hbGw+XFxcIixcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJ0ZXh0XzFcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICB0aXRsZTogXFxcIuS/neWtmOWIsOaIkeeahOe9keebmFxcXCIsXFxuICAgICAgICAgICAgICAgIHVybDogYHNtYXJ0ZHJpdmU6Ly9zaGFyZS9icm93c2U/c2hhcmVJZD0ke3NoYXJlX2lkfSZzaGFyZVB3ZD0ke3Bhc3N3b3JkfWAsXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFwidGV4dF9jZW50ZXJfMVxcXCJcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcXFwi5YiH5o2i5qC35byPXFxcIixcXG4gICAgICAgICAgICAgICAgdXJsOiAkKFtcXFwibW92aWVfMV9sZWZ0X3BpY1xcXCIsIFxcXCJjYXJkX3BpY18zXFxcIiwgXFxcImF2YXRhclxcXCJdKS5zZWxlY3QoKCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgc2V0SXRlbShcXFwic3R5bGVcXFwiLCBpbnB1dClcXG4gICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly/lt7LliIfmjaJcXFwiXFxuICAgICAgICAgICAgICAgIH0pLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcInRleHRfMlxcXCJcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcXFwi5o6S5bqP77yaXFxcIiArIChnZXRNeVZhcihcXFwib3JkZXJcXFwiLCBcXFwibmFtZVxcXCIpID09IFxcXCJuYW1lXFxcIiA/IFxcXCLlkI3np7BcXFwiIDogXFxcIuaXtumXtFxcXCIpLFxcbiAgICAgICAgICAgICAgICB1cmw6ICQoXFxcIiNub1JlY29yZEhpc3RvcnkjI25vTG9hZGluZyNcXFwiKS5sYXp5UnVsZSgoKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgbyA9IGdldE15VmFyKFxcXCJvcmRlclxcXCIsIFxcXCJuYW1lXFxcIilcXG4gICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKFxcXCJvcmRlclxcXCIsIChvID09IFxcXCJuYW1lXFxcIiA/IFxcXCJ1cGRhdGVkX2F0XFxcIiA6IFxcXCJuYW1lXFxcIikpXFxuICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8v5YiH5o2i5oiQ5YqfXFxcIlxcbiAgICAgICAgICAgICAgICB9KSxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJ0ZXh0XzJcXFwiXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcImJsYW5rX2Jsb2NrXFxcIlxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9XFxuXFxuICAgICAgICB2YXIgZmlsZXMgPSAkLnJlcXVpcmUoXFxcImFwaVxcXCIpLnNoYXJlZ2V0ZmlsZXMoc2hhcmVfaWQsIHBhdGgsIHMpXFxuICAgICAgICBpZiAoZmlsZXMpIHtcXG4gICAgICAgICAgICBwdXRNeVZhcihwYXRoICsgXFxcIm1hcmtlclxcXCIsIGZpbGVzLm5leHRfbWFya2VyKVxcbiAgICAgICAgICAgIGxpc3QgPSBmaWxlcy5pdGVtc1xcbiAgICAgICAgICAgIGxpc3QuZm9yRWFjaCgoaXRlbSwgaSkgPT4ge1xcbiAgICAgICAgICAgICAgICBsZXQgZmlsZU5hbWUgPSBpdGVtLm5hbWVcXG4gICAgICAgICAgICAgICAgbGV0IGxlbiA9IDQwO1xcbiAgICAgICAgICAgICAgICBsZXQgbGVuMiA9IGxlbiAvIDI7XFxuICAgICAgICAgICAgICAgIGlmIChmaWxlTmFtZS5sZW5ndGggPj0gbGVuKSB7XFxuICAgICAgICAgICAgICAgICAgICBmaWxlTmFtZSA9IGZpbGVOYW1lLnN1YnN0cigwLCBsZW4yKSArICcuLi4nICsgZmlsZU5hbWUuc3Vic3RyKGZpbGVOYW1lLmxlbmd0aCAtIGxlbjIpO1xcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogZmlsZU5hbWUsXFxuICAgICAgICAgICAgICAgICAgICBkZXNjOiBmb3JtYXREYXRlKERhdGUucGFyc2UoaXRlbS51cGRhdGVkX2F0KSksXFxuICAgICAgICAgICAgICAgICAgICBpbWc6IChpdGVtLnRodW1ibmFpbCA/IGl0ZW0udGh1bWJuYWlsIDogKGl0ZW0udHlwZSA9PSBcXFwiZm9sZGVyXFxcIiA/IFxcXCJodHRwczovL2dpdGNvZGUubmV0L3FxXzMyMzk0MzUxL2RyLy0vcmF3L21hc3Rlci9pbWcv5paH5Lu257G75Z6LMi/mlofku7blpLkuc3ZnXFxcIiA6ICQucmVxdWlyZShcXFwiaGlrZXI6Ly9wYWdlL2FwaVxcXCIpLmdldEljb24oaXRlbS5uYW1lKSkpLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAoaXRlbS50eXBlID09IFxcXCJmb2xkZXJcXFwiID8gXFxcImhpa2VyOi8vcGFnZS9zaGFyZT9wYWdlPWZ5cGFnZSZzaGFyZV91cmw9XFxcIiArIGdldFBhcmFtKFxcXCJzaGFyZV91cmxcXFwiKSA6ICQoKS5sYXp5UnVsZSgoc2hhcmVfaWQsIGlkLCBuYW1lLCBzKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICQucmVxdWlyZShcXFwiaGlrZXI6Ly9wYWdlL2FwaVxcXCIpLnNoYXJlY2h1bGkoc2hhcmVfaWQsIGlkLCBuYW1lLCBzKVxcbiAgICAgICAgICAgICAgICAgICAgfSwgc2hhcmVfaWQsIGl0ZW0uZmlsZV9pZCwgaXRlbS5uYW1lLCBzKSksXFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogZ2V0SXRlbShcXFwic3R5bGVcXFwiLCBcXFwibW92aWVfM1xcXCIpLFxcbiAgICAgICAgICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBpdGVtLmZpbGVfaWRcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKHNhLmNvZGUgPT0gXFxcIlNoYXJlTGluay5DYW5jZWxsZWRcXFwiKSB7XFxuICAgICAgICBzZXRSZXN1bHQoW3tcXG4gICAgICAgICAgICB0aXRsZTogXFxcIuadpeaZmuS6hu+8jOWIhuS6q+iiq+WPlua2iOS6huCyoF/gsqBcXFwiLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwidGV4dF9jZW50ZXJfMVxcXCJcXG4gICAgICAgIH1dKVxcbiAgICB9IGVsc2UgaWYgKHNhLmNvZGUgPT0gXFxcIlNoYXJlTGluay5Gb3JiaWRkZW5cXFwiKSB7XFxuICAgICAgICBzZXRSZXN1bHQoW3tcXG4gICAgICAgICAgICB0aXRsZTogXFxcIuadpeaZmuS6hu+8jOWIhuS6q+iiq+WwgeemgeS6huCyoF/gsqBcXFwiLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwidGV4dF9jZW50ZXJfMVxcXCJcXG4gICAgICAgIH1dKVxcbiAgICB9IGVsc2UgaWYgKHNhLmNvZGUgPT0gXFxcIlNoYXJlTGluay5FeHBpcmVkXFxcIikge1xcbiAgICAgICAgc2V0UmVzdWx0KFt7XFxuICAgICAgICAgICAgdGl0bGU6IFxcXCLmnaXmmZrkuobvvIzliIbkuqvov4fmnJ/kuobgsqBf4LKgXFxcIixcXG4gICAgICAgICAgICBjb2xfdHlwZTogXFxcInRleHRfY2VudGVyXzFcXFwiXFxuICAgICAgICB9XSlcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIHNldFJlc3VsdChbe1xcbiAgICAgICAgICAgIHRpdGxlOiBcXFwi6K+36L6T5YWl5o+Q5Y+W56CBXFxcIixcXG4gICAgICAgICAgICB1cmw6ICQoXFxcIlxcXCIpLmlucHV0KChzaGFyZV9pZCkgPT4ge1xcbiAgICAgICAgICAgICAgICBzZXRJdGVtKHNoYXJlX2lkLCBpbnB1dClcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcbiAgICAgICAgICAgIH0sIHNoYXJlX2lkKSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogXFxcInRleHRfY2VudGVyXzFcXFwiXFxuICAgICAgICB9XSlcXG4gICAgfVxcbn1cXG5zZXRSZXN1bHQoZCk7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLmkJzntKJcIixcInBhdGhcIjpcInNlYXJjaFwiLFwicnVsZVwiOlwianM6XFxudmFyIGQgPSBbXTtcXG5hZGRMaXN0ZW5lcignb25DbG9zZScsICQudG9TdHJpbmcoKCkgPT4ge1xcbiAgICBjbGVhck15VmFyKCdzZWFyY2htYXJrZXInKVxcbiAgICBjbGVhck15VmFyKCdzZXJhY2hlbmQnKVxcbn0pKVxcblxcbmFkZExpc3RlbmVyKCdvblJlZnJlc2gnLCAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgY2xlYXJNeVZhcignc2VhcmNobWFya2VyJylcXG4gICAgY2xlYXJNeVZhcignc2VyYWNoZW5kJylcXG59KSlcXG5cXG5cXG5mdW5jdGlvbiBmb3JtYXREYXRlKHRpbWUpIHtcXG4gICAgdmFyIGRhdGUgPSBuZXcgRGF0ZSh0aW1lKTtcXG4gICAgdmFyIFlZID0gZGF0ZS5nZXRGdWxsWWVhcigpICsgJy0nO1xcbiAgICB2YXIgTU0gPSAoZGF0ZS5nZXRNb250aCgpICsgMSA8IDEwID8gJzAnICsgKGRhdGUuZ2V0TW9udGgoKSArIDEpIDogZGF0ZS5nZXRNb250aCgpICsgMSkgKyAnLSc7XFxuICAgIHZhciBERCA9IChkYXRlLmdldERhdGUoKSA8IDEwID8gJzAnICsgKGRhdGUuZ2V0RGF0ZSgpKSA6IGRhdGUuZ2V0RGF0ZSgpKTtcXG4gICAgdmFyIGhoID0gKGRhdGUuZ2V0SG91cnMoKSA8IDEwID8gJzAnICsgZGF0ZS5nZXRIb3VycygpIDogZGF0ZS5nZXRIb3VycygpKSArICc6JztcXG4gICAgdmFyIG1tID0gKGRhdGUuZ2V0TWludXRlcygpIDwgMTAgPyAnMCcgKyBkYXRlLmdldE1pbnV0ZXMoKSA6IGRhdGUuZ2V0TWludXRlcygpKSArICc6JztcXG4gICAgdmFyIHNzID0gKGRhdGUuZ2V0U2Vjb25kcygpIDwgMTAgPyAnMCcgKyBkYXRlLmdldFNlY29uZHMoKSA6IGRhdGUuZ2V0U2Vjb25kcygpKTtcXG4gICAgcmV0dXJuIFlZICsgTU0gKyBERCArIFxcXCIgXFxcIiArIGhoICsgbW0gKyBzcztcXG59XFxuXFxubGV0IGt3ID0gZ2V0UGFyYW0oXFxcImt3XFxcIik7XFxubGV0IHBhZ2UgPSBNWV9QQUdFO1xcblxcbmZ1bmN0aW9uIGdldF9TZWFyY2goYXJyLCBrdywgcGFnZSkge1xcbiAgICB2YXIgbGlua3MgPSBrdy5tYXRjaCgvaHR0cHM6XFxcXC9cXFxcLyh3d3dcXFxcLmFsaXl1bmRyaXZlXFxcXC5jb21cXFxcL3N8YWx5d3BcXFxcLm5ldClcXFxcL1xcXFx3Ki9nKVxcbiAgICBpZiAobGlua3MpIHtcXG4gICAgICAgIGFyci5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogXFxcIuivhuWIq+WIsOmTvuaOpVxcXCIsXFxuICAgICAgICAgICAgdXJsOiBcXFwidG9hc3Q6Ly/jg70oKuKMkuKIh+KMkiop776JXFxcIixcXG4gICAgICAgICAgICBjb2xfdHlwZTogXFxcInRleHRfY2VudGVyXzFcXFwiXFxuICAgICAgICB9KVxcbiAgICAgICAgbGlua3MuZm9yRWFjaChpdGVtID0+IHtcXG4gICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogaXRlbSxcXG4gICAgICAgICAgICAgICAgdXJsOiBcXFwiaGlrZXI6Ly9wYWdlL3NoYXJlP3BhZ2U9ZnlwYWdlJnNoYXJlX3VybD1cXFwiICsgaXRlbSxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJ0ZXh0XzFcXFwiXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgIH0pXFxuICAgICAgICByZXR1cm4gYXJyXFxuICAgIH0gZWxzZSB7XFxuICAgICAgICB2YXIgcGF0aHMgPSBNWV9QQVJBTVMucGF0aCB8fCBcXFwicm9vdFxcXCJcXG4gICAgICAgIGxldCB1ID0gXFxcImh0dHBzOi8vYXBpLmFsaXl1bmRyaXZlLmNvbS9hZHJpdmUvdjMvZmlsZS9zZWFyY2hcXFwiXFxuICAgICAgICB2YXIgY29uZmlnID0gSlNPTi5wYXJzZShyZXF1ZXN0KFxcXCJoaWtlcjovL2ZpbGVzL3J1bGVzL0pvZS9hbGkuanNvblxcXCIpKVxcbiAgICAgICAgdmFyIG1hcmsgPSBnZXRNeVZhcignc2VhcmNobWFya2VyJykgfHwgJyc7XFxuICAgICAgICB2YXIgYm9keSA9IHtcXG4gICAgICAgICAgICBcXFwiZHJpdmVfaWRcXFwiOiBjb25maWcuZGVmYXVsdF9kcml2ZV9pZCxcXG4gICAgICAgICAgICBcXFwibGltaXRcXFwiOiAxMDAsXFxuICAgICAgICAgICAgJ21hcmtlcic6IG1hcmssXFxuICAgICAgICAgICAgXFxcImltYWdlX3RodW1ibmFpbF9wcm9jZXNzXFxcIjogXFxcImltYWdlL3Jlc2l6ZSx3XzQwMC9mb3JtYXQsanBlZ1xcXCIsXFxuICAgICAgICAgICAgXFxcImltYWdlX3VybF9wcm9jZXNzXFxcIjogXFxcImltYWdlL3Jlc2l6ZSx3XzE5MjAvZm9ybWF0LGpwZWdcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ2aWRlb190aHVtYm5haWxfcHJvY2Vzc1xcXCI6IFxcXCJ2aWRlby9zbmFwc2hvdCx0XzEwMDAsZl9qcGcsYXJfYXV0byx3XzMwMFxcXCIsXFxuICAgICAgICAgICAgXFxcInF1ZXJ5XFxcIjogYG5hbWUgbWF0Y2ggXFxcXFxcXCIke2t3fVxcXFxcXFwiYCxcXG4gICAgICAgICAgICBcXFwib3JkZXJfYnlcXFwiOiBcXFwibmFtZSBBU0NcXFwiXFxuICAgICAgICB9XFxuICAgICAgICB2YXIganNvbiA9IEpTT04ucGFyc2UocG9zdCh1LCB7XFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoYm9keSksXFxuICAgICAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgICAgICBcXFwiYXV0aG9yaXphdGlvblxcXCI6IGNvbmZpZy5hY2Nlc3NfdG9rZW5cXG4gICAgICAgICAgICB9XFxuICAgICAgICB9KSlcXG4gICAgICAgIHZhciBsaXN0ID0ganNvbi5pdGVtcztcXG4gICAgICAgIGlmKGxpc3QubGVuZ3RoPT0wKXtcXG4gICAgICAgICAgICBhcnIucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiAn4oCc4oCc4oCd4oCdPHNtYWxsPjxmb250IGNvbG9yPVxcXCJncmV5XFxcIj7ml6DnrKblkIjnu5Pmnpw8L2ZvbnQ+PC9zbWFsbD4nLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcbiAgICAgICAgICAgICAgICB1cmw6ICdoaWtlcjovL2VtcHR5JyxcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIHJldHVybiBhcnI7XFxuICAgICAgICB9XFxuICAgICAgICBpZiAoanNvbi5uZXh0X21hcmtlciAhPSAnJykge1xcbiAgICAgICAgICAgIHB1dE15VmFyKCdzZWFyY2htYXJrZXInLCBqc29uLm5leHRfbWFya2VyKTtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgcHV0TXlWYXIoJ3NlcmFjaGVuZCcsICcxJylcXG4gICAgICAgIH1cXG4gICAgICAgIGlmIChnZXRNeVZhcignc2VyYWNoZW5kJywgJzAnKSA9PSAnMScgJiYgcGFnZSA+IDEpIHtcXG4gICAgICAgICAgICBhcnIucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiAn4oCc4oCc4oCd4oCdPHNtYWxsPjxmb250IGNvbG9yPVxcXCJncmV5XFxcIj7liKvliJLkuobliLDlupXkuoY8L2ZvbnQ+PC9zbWFsbD4nLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcbiAgICAgICAgICAgICAgICB1cmw6ICdoaWtlcjovL2VtcHR5JyxcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIHJldHVybiBhcnI7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIGxpc3QuZm9yRWFjaChpdGVtID0+IHtcXG4gICAgICAgICAgICAgICAgbGV0IGZpbGVOYW1lID0gaXRlbS5uYW1lXFxuICAgICAgICAgICAgICAgIGxldCBsZW4gPSA0MDtcXG4gICAgICAgICAgICAgICAgbGV0IGxlbjIgPSBsZW4gLyAyO1xcbiAgICAgICAgICAgICAgICBpZiAoZmlsZU5hbWUubGVuZ3RoID49IGxlbikge1xcbiAgICAgICAgICAgICAgICAgICAgZmlsZU5hbWUgPSBmaWxlTmFtZS5zdWJzdHIoMCwgbGVuMikgKyAnLi4uJyArIGZpbGVOYW1lLnN1YnN0cihmaWxlTmFtZS5sZW5ndGggLSBsZW4yKTtcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICBhcnIucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogZmlsZU5hbWUsXFxuICAgICAgICAgICAgICAgICAgICBpbWc6IChpdGVtLnRodW1ibmFpbCA/IGl0ZW0udGh1bWJuYWlsIDogKGl0ZW0udHlwZSA9PSBcXFwiZm9sZGVyXFxcIiA/IFxcXCJodHRwczovL2dpdGNvZGUubmV0L3FxXzMyMzk0MzUxL2RyLy0vcmF3L21hc3Rlci9pbWcv5paH5Lu257G75Z6LMi/mlofku7blpLkuc3ZnXFxcIiA6ICQucmVxdWlyZShcXFwiaGlrZXI6Ly9wYWdlL2FwaVxcXCIpLmdldEljb24oaXRlbS5uYW1lKSkpLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAoaXRlbS50eXBlID09IFxcXCJmb2xkZXJcXFwiID8gXFxcImhpa2VyOi8vcGFnZS9ob21lXFxcIiA6ICQoKS5sYXp5UnVsZSgoaWQsIG5hbWUsIHVybCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9hcGlcXFwiKS5jaHVsaShpZCwgbmFtZSwgdXJsKVxcbiAgICAgICAgICAgICAgICAgICAgfSwgaXRlbS5maWxlX2lkLCBpdGVtLm5hbWUsIGl0ZW0udXJsKSksXFxuICAgICAgICAgICAgICAgICAgICBkZXNjOiBmb3JtYXREYXRlKERhdGUucGFyc2UoaXRlbS51cGRhdGVkX2F0KSksXFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcImF2YXRhclxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IGl0ZW0uZmlsZV9pZFxcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgcmV0dXJuIGFyclxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblxcbmdldF9TZWFyY2goZCxrdyxwYWdlKVxcblxcbnNldFJlc3VsdChkKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIumYv+mHjGxhenlcIixcInBhdGhcIjpcImFsaWxhenlcIixcInJ1bGVcIjpcImV2YWxQcml2YXRlSlMoXFxcInJPKzM3dUcrYjJKYmw5MUpYZTFBTGZaekRsSVFnUEZIQzZjUTMrV09QeGxXZW0zL2MrOTM5RUE4aDE3VW9ldUJMemxtRC9LYWVYUnZJSldQeHZSdnNub3cvWTAyZTVjbVAyajBxb0k5cGZ4WHNMMTZCVVVLTk1LeVpwcHhnV0NycGZqRFd5dkhqSGwvVmFIQlNULzFNRHVuVWEyVzJQeVNaVWJVcTI2T3l1QllWai9ZeklqMnpscUxlcFBaZWpqd2tONzFTSlArS24zTDZEWmJtZXBkVlUyVWdwK1NaQ2ZsQkh1eVBIMnkyV1d4Mysyak1iblE0RElJWm1CS3B3NzZwKzhZcE1VMWxWbm90ZThtbUVvMTYyYkw5QytCMVFTWWRPaG90NENJczEyaFFMQ0JXeVh0aGVRMXBtb1l4Ym5vbFh2S1JidjVZWXRwRk1UNU9aQ2c5cHJFamFnWVovL3VkS3p5K3hCU2hBMHVLMEw4U2Rra2NoMk5UaWtTV2RBM2NLa0xEclFublRMdTM0WHFWR2YrTXFURmd1QWtEWVFGNnQ2bXNFWVAxcXJya0JzbUR5bkF3YUVONTIvdE1veVhIL0ZYYnZiR0Q5dXNmcTdrM2NTU3kzL1doU0RPaDlNUzJ3K2tQK2w0S1NKb2p3dnAyeGZDd0RIS2xKQU56d1ZoaWFEM3pYT3lVWnNCcUJ0RW9MLzd6T0tHaE1rRkdVYnZsU3gycnprRnBhWlB1cGwvelZqVTBlUDdUL2FDZWNXelcxVjI2b2lsRll5WEZaK3Y3RUhFOEhReUNpZVpteUxvbXVWdGduZHlIY2RDMXZxV3hGZVhybnlqZWxYVFhUTnFMWVR3MjhyWnpEQ1JVa3dQNmREbjV6RHRNdnhDM1BNZVEwV2RLR3ltc3dFZW5wWVFBcUd6UG9sekw0TUxoOG1nRmFrMjFqU3lXQWtLRWR0ak9NUDYwNlVoaHlOUFloQzFyZDF4VzluajkzQWZDZnFCbVF0RkRpVDNGcU5QRkhYa1o0V01jOFZLYy92OGFqZ1JadmJvbHhyRVZxbUZTdjBvUVJYazlkYy9FU0x5cFBpQzZHNHYwYUN2TkFHZWlMVytvZnptUkN4MTNaQzgwU3BsK1RqOWdhbGd4UExSNnk3eHpQemh3K2NYMW5iZzkxT1R3T3FVeWE3YnZUbTlQSTROeXFHQVZsM21nRklSWEpyYm5BWThGd1YreGVEYTVnV1l6SlBIaUU0bW5CMUNmWjZCdldlaittSklueHFrQjMvTXpFM3VIMlV6eVhVeCs0WWgxRkFDY084N1lzUjA1L3A2WG1ubU8rU05iVDdqUC8zbmFXNmF4MFQvUjVjQUFtNjJWdzNBL2FhV256UGlMTHJ3ZzJlRkhVa3ZBQW5HQVV6TUxZSVlsTTR0bzVGS0ZPVWxkMDMvNEh0enpHK1pUS1g3NHJEL2QrcDZWRGxPOU1ORVpwQVB2TkZocGVIRGQ2QXFxRWNhS04rZHpSYW9LZzY2dTVWSEJNYURUNzMrR2swdWhKc1NZYndNWHNQTEt0TjBTNVhQNzFtRmkzaFNCZ0VJMmNUd2p3VCtqY0w2Z09HMjJYeGhTQ0RYSGxhczlqMTJTaFRsSlhkTi8rQjdjOHh2bVV5bCszYk9HRlNTMFlGS2xuYys4YVRxSFFvd2haajc1L001M3NLWVgyelJnT1NUYUQzMVJvUUtTRWNQRGlORXNaMlRvbU5rQW12ZjAzMStmVzNjaG0xUndLdytYOUd4Zm1IUTdyaURvU1Jpb1VhWndIZWxEMWxvRWVzQ3lENTAxSDdSWTlaeVFVNnFNWmVma2VHVUJPUVpDYVpzQXdFblNEK2k3Q3FFaGcyL1djZnRvemlSSXhoWFkyRjdsVTVwRWxJR3lXcG5EVmdaeU5jRWF4aG5HUUxsTUNRME9GSUpIallEbTJqWEJ0VXZGa3BKL2QrQ2dlREQ0bzZlTkh4TWxBSlJ1c25BaEtwa01NK1VlZzY5V1BsdkRIZzhyWmE1UW5jenBOMTIzRi9BSzRKeVcxVjI2b2lsRll5WEZaK3Y3RUhFOEJwTWtoKzlZMC9EekhEb09PUGdQelhneHFaQVliQUNXYTBrSS9BWkxrRC9lbDZCNUJJamlZSGcxQUltS2xYWFFtY0xTMHN3R2haMkNvVXpjQlNrRXZQT2xETDdEdnp6c09RbksrL2JDYzRuOXM3a2ZFaDVHSCttVjRFMzc3MXA2aWs5QitqdkhyN2phMFNndlFuQ1FNOUhkc2xaU1E5V3lzdFdLM2RhODdJbUYrMHlITGw3cml4S1U0N1dnd1NUVzA2bEFtZGhqU0lVaDZGSzAxekZGT3dOU1pkTXUwcHF1RTdreXhmRm8xekZISFYveThnNE91TXZtSjNxUEVldWFFQkZ4UTdFUGlQMy9ueGEwbGk5cWEydHhjaHlvZ1VkMUgvWjlBNEJ4amVWekVzRkEyS3VBV0dUZitQZnJqNHU5dFhSL0w1d3dVNUZLa2d6VEo1WHQ1dWRXWFJINnRWSk8rTkdCakdIYzFuUHROa0NqVHh6YTFGbkpZRzlGZ0dNazB4akhZemtUTTBvQjBJZ2VmNzdPZThuUFFGYTI2RVlxUUdpczhhRXFVQldRUDdMdks1NGl6OHA5OGN0aDZKSU1GWXBLaUdnRmlaaWJGUTNyUDN0REZ3c3NEMnU1MXY2S1AzUzdOVGdVcGJ0aWNsbmtDbVFzczlnL0gwZUxsMXVFODZVTXZzTy9QT3c1Q2NyNzlzSnppY1BPeVQyQVg0b0ZxOHRqdjRNcHBKdGpvak51QjJ4M3BGNE1LUDNYMmttZllHaEZ0TGxTYzVoWmFEU053SFN2ZnpsRUdhc0s2dUVDTmdTYmgzd01kYUVmclM2TEkyOGJCR0d2d0pVUXhtdWZ5aHlWRE9STXNxOVMwMS9senIrTjJvV0t6UEQrY1M4Y2ZMWklXdGViZXRXOEFNb3dwaVJnUVl0alE0RkxOSUErOEdYajRCZXBNcyt1N1ZkV1pjbmdmOUVWTFpBUFIyaWQva1RVTDB0V1c0MFR3RzJaY2lHM3J2ZGRHMXNOL3VJT2l5VE1QTzVTbjhGQ1BJaklkaEVncWZiTHFHbG9BR0ZlTlNFb0ZCMFJZdTBoVm1iWGN3UkRLVVlpMFhUTDdiRFF1QjZNUk5TdmRxYnVmN2xyZWsxMllDUnlwaHFmV1BGa2ZLZk9iNFZjdnBhdjVVMHJZVzNJSGhxUnIzbmtQWDhiMDB4c1N4QkQxWkdKUEtwRWZscWh3d29ObElGWFU4eHBYd0ZLMmtTaEFMdmFmdmpMN0c2K2l3c2VHS0hxb3hWTGg1Q0Y1ZHNTQjRFYUJzeTFVTm01ZHBSbUZLUEx0UG9kYmhqaEx0bGJ3cjE0a3R5cjhDOTZieFdyTXBOc1VrM0h6QzlOTllQbWtCSTc5ampCK0FnclRQUlYxci9Ic0dwenlNM3Qrd0V2ZCtJamlTTnNlc2hOK3pzaWJZQXQ3UU96cDRPOGt3Y3ArR1FKRU53d1F1VTlueHBET0Uxb2ZaaU1tRjhrdnVYTFluQ0VtQ2VMcjhIeVJ0NkZPclFUOFBjNXRRYjlqRDUwZWtFSU5sdy9Wc2ZGYlJleTU1YmZPRXZLUFhPWVhWWHFmSHQwUGgwOVZGV0Zhb0pPRlMvSlM5OW0rRlN2SURuMGdwem9YaElScXc3QjduSmU0cmhVd1IvMjM2cENsVWprV0tkS3MxWkZ3LzFVdmROM3dkcFE3cDlLZitPVXNqWEMzODAyT2VmcFFvblU3NnlzeUtUbVY0MTRiY1h6T0hnbUdIVEoxUWs2RDdkYTh0ZEdSWnlsbHFXRHM2VU12c08vUE93NUNjcjc5c0p6aWNhaXhBZDNDZXRVQXRza1FWeFlKaHZaT1RldUphTGE0NVpCWmcrbFhtK1lhY2hBTyt5QjZiRGYwb1o1eTQvR2Y0MWlIZjhEQm9QbTIyTm8xR1FqUEFDSTZDaHk3TkErdDBsV1NEbVk2UmJkanp2Y3VYSUVyZ3IxRC9QdWdGbWhPVmtVMUFNemF3RjJmaHg5aUNSbkZKalFlcVB4Z1pTOS9aL3Q0QjNXWFBJQjB3QXFUcnpuNm9SM0RaS05EYTJqM25kWEJSOFlKU1VpT3o1Y3A0ZGhCR3Y5YTNPSjlhVzJuL3J3QWdjNW1xSm55ckN6QzNLT2cxZFZJbDN6QWFtbmJzTDFwTWVDcmdWSGZtRjdJOS9jZnZNT1ZjS1dVa2hORWpta0g3OXp6T3o1RG12S3BhU0dkUWhxeGN5Z2pCem5WNG54c1ROc0JabDFLMFVUay93QVM4WHl5dkxTTlpXYy9zSW4vdldTQUhVOXZiTzVIeEllUmgvcGxlQk4rKzlhZXJPYWRRaDJ0VFVzWWlxcjFhY2J0ZlpsczhYaGxwOWt6blFHR0dMK09SZ2Rwdzl0cHYyVHArZTExMjJIbWc4YjE1WVk3SzdzenhoaUl5SXVtNHlrRHZWTTdvUDdmMmRBYlpuK2ZNL2lJVGJzT2syUDR0Yml0eHN1b0FlcnA0MXRmbFlZS0Mva1c4N3UvWTRpdkFRRm40Umg3YW5ON08vVFJ5VE80djRKVkpUczM5Qm5mSU13UkZkamVZQVFlOUdQYm1nVVpMZERRL0ZvYWtleFhGTEpDc3AyRHE3VmFtcWE4VFQwRHpGZHQwTk5lV3k3c01NWG1tNUNQNE45Rng1MjFiUDBsN3NNendZUlNlaEhVTVovME5IOVBtM3hjZkllMkFZTk5BRExPbklpbTdabW1LaGt0UmR0TFN2akdZRTFVVWVCSy9uRGwwUXVxZENpai9ZQlpPWHNNaE9DbnNFVWNSODhHeWxtNWJQNGQ4YjRpYjZ4L2lEQVBjeVRINXg3OGhOeWFSYmFoL1l1UzRqMDVabkpZcElPOWdQelR5YmJJL3dITnI1b0RLQ2xwNkZvSlZ6ZnpValU3WUJwZFptTTg5aE4xRzg5b2FMQUV2aXh2b05yLzluMDBmTVFLS3BOaC9tdEZBcXVqOHFneTE1Mm1SemdOcEd5NzZMVmplcXdxNmpYWFRYbFhSUEpsQlNJMkJ4RVM1QjBWZGEveDdCcWM4ak43ZnNCTDNmaUhWZFR6ZzZCSyt0RmRJcE83OTRIUnJpaG9USkJSbEc3NVVzZHE4NUJhV21SNE1XSXZrWEx3VmpEOTFlMkdwSERuNnp5Q2pvajl5eTZkS1lIeGdacUJlcFY1QVl2L21vOWlxZWtpdFdQdEtTdjVVMHJZVzNJSGhxUnIzbmtQWDhiOW1NdHEybHBCa1pGNTJYRWJkeTl4U0FpaXlXRHVoRWE4R0hORDhxN29QRGpQYS8xelYrRWlOekFqZ3hrQ3dGajRpMWxKY0htcmVZTFlERk02R1JYUkI0Umh5ZHBtL1FUMlZiRXNXYjloK2w3NkwyMmd0WTdkMkNsSUwzQ2hsNXdzc3J5MGpXVm5QN0NKLzcxa2dCMVBZUDdtT01kd1Zsd1AvQTJ6b1pZS3l3RzJtSFk2U0xlcHIxUDVWK0QwTUZ1RkxWbWROYndKNndiN3RaaGtMRVk3L0xLOHRJMWxaeit3aWYrOVpJQWRUMlo1OEZEUnhWN3VaWlZXNjlUVjhBQUl2N0pJNklZZmNRTW5KNmkvcGprWWlHZG9XYy9hV2dBUGV1Y2tRa1UraFVrOFFPTFh4TWc4M2Q1TmpBMnRWaHU5SnFiOGErM2wxY3lnNnVXMDRtWm9FQmJJcGJjTnd5TUhqajMwbUZ0N0p3V05YalVyeFVuQTU1cWxvSThnZE9RY3NyeTBqV1ZuUDdDSi83MWtnQjFQWnZscXhKZVRWWko1QnZCUHc4S1JRcHdGaXRIU2grRUtKR0NNb1V1RkkyMUJwQlpacnVNbmNFbUtuV21XK09OQjMxVjdoWWlVYVc1Sm5VcVk5aHo4Q1FvejN4VG9WWEd4MnlDMzBxYWVGWEtvZFcxNEtIUlJGOUlwdStnR0NvTEFrcHBQY0VZWUJLQUNzQVA3QTNZZ2tVUnF0VWdGaGswMlRRc2xkTzJUb25JTU5mOVBLVDdER29vL0pUcnJsanhvZW1KeEtMSFJkSzZKaWxmUDhvU1FXa29MSnY3dHJBWmZ5WmV2Z2QrODVFL211R3o4YmMwS3gxOU1odTZQUG45U3FrRHYxdGd0SWwwWmthbTRkYjMxSHNMZm00dmNLSndxbmtmSEgvbEN2NTdmWi9lN0RUV3M1VEd5TkppUEtmbDlFYWZPZ0VzREcycjFBNzJSVWdZalVsOWtZVmlVSC93T2ZDVUlKUWo1blJGak5aSnZuSTFETlpWeklrZHptcndIT21qRW1UdjdDU2dWRWkzU01tSFlGNnMrVU1paDN1bzZnUGJSaE9mczBVanp4MklqaTRDV2RWUEFxT01hWmN0eGxTM1R2anZsYVcwVEkzeUlHYkU5UnJJSEloMWpyYTNBcFl6OTdNZy9ESFhEYzJPYW5EMVZqRWRzeWFKWk9zS1FQdHNpajVwanRZWVFXTVYyVHM3QW9ZRDl3S1FCRGpRdy9KcnhuUU5RK0xOYzhaSEwxV3ZyWkRZc21DandUR0had0xyQ0NFRThKc0ZiMS9qOEVzWlQxZklPWGNxN3NiNlUzM3BQZzA0OTY5L3BPOUpNRnA2ZE1xTVRNUUhvOTNYMk9sd3A5VG9yaVdxQmJxdUZkLzgzWVRrZitoNFdFbThKV0NuT0ZOeXNZa2o0S0ptQ2FkQTdPUk1taVN5S3pkT2tWU2RtVFFtTTFXZzA3bTlqR0xwcTRkYWVYTk5sZFJRb2xpOG50bXBYM3k1b1l3cXBqcFBXYTFET0hQbHdZeVQ0eDdBKzVDdVhXZ3loMjBwWDZFUlRqTG5jRldnQWNLTkJqZzc3KzFid2RWRDFNOUJ1WkQyWVp2OHFkV2Jtc2h2R3NsUStOdU1yNkRtQ1ROQzg1ZmkwdUxEWGx3NkxPQVFQaE14VDY1aTByaGxUSkZFSm1IR0N5TlZKL2RQVUluMCtuNWljMTBDZEV5aXZqeU1NbGhORjRWVGo5SkJnRnUxVUpRWCszdjRSOEhNVnRWZHVxSXBSV01seFdmcit4QnhQQmJGVllEaW1sdUNPMEFKR2tqclhWVFBPOXk1Y2dTdUN2VVA4KzZBV2FFNVFpdUhuWVp6Q1RLM3dsZ3VaaDJOUlpwcUxSRWVaVmdXaEsxdkE0dWxEQUE4Y0VvMTlHNjdZTG1UUUpvenBZM1hjc3J5MGpXVm5QN0NKLzcxa2dCMVBZeGNkU1NPZkFOMkE4QTRwTEx3VmMwWVR1ZmV1dit4NmsvNVE1NFU4Z0hVTXNyeTBqV1ZuUDdDSi83MWtnQjFQYlJKa0RqMlNVSjRpM05sdnhGbkVaL0dLVlFYM29xcnBabTFlTlZ5UHRvSUphVXBPcFlTemdyMTJMYkhGUjVrOS9MSzh0STFsWnord2lmKzlaSUFkVDJnMkJrT2thUUlBZXhkU0FTRzlQTlJreFRRSkNzSk83ZWlxZEZIeHVyYU11a0grM1ZDcmEyMjNZaGZnTi9NNCtJRWdNSDZCeUkvbHp5Q29Iczg4ZXMrRlBWTlM5TkgzcHBhZ0J0YTBRbWFSS2R1cEl5THgyVnd3Nzlsb0VRQjZRSnl5dkxTTlpXYy9zSW4vdldTQUhVOXBLbjNzY0lMc1lvdHltekpRVWxXUmo4T3VhR29vWUc5U1FBaEVGQ291UUR5eXZMU05aV2Mvc0luL3ZXU0FIVTlnV3R1UCtHaUNMVmFGdHcxNWgwUEtMTk1zY0FVNCtSVHdHVVJieXNWUGFSQ1Q0YVJldnRrN3FmcklHMFBwdlMzY3NyeTBqV1ZuUDdDSi83MWtnQjFQWmNBaGNTNHl5aERiMUIvclNxMlZMMzFHSi9jWHVheUQ3TGZGOWlxaG14b1h3Y3R2VXJveVpnbS9IUitnSnowMHVmSDA0azJ0a0RWMURleEFYci82OUpXTGhsZnBrekg5ejlQKzgxSXBCRUhwRG5yWHJ4OUN3SEFmczZ6VWdMU2xxUm54R3FnWmtKNVVJRjNFUGpUVUpDYUFHZnI2Wldsakg2Z2VIWmRJOU5KRXpDNkxnNDdEOHQvcnZIL2MvOUs3TExLOHRJMWxaeit3aWYrOVpJQWRUMmI1YXNTWGsxV1NlUWJ3VDhQQ2tVS1NncUllVThEWkVRa21lM0ZYZUZUTDcxRGdRNkpCSUxNaEVJVjdweWtDN0syaE4wQVVBWFU1Y0lCSWo5dlp0R3A4NlVNdnNPL1BPdzVDY3I3OXNKemllN2Y5N2tLcEROekNrNmNCWDFHa0IwaTNwQU5zajhzY3NKb0hoVDYwU2k0YzZVTXZzTy9QT3c1Q2NyNzlzSnppZG1pMFUvcUlrelJvSVdSUTBnT1R4RTF5UlcxZTlnVUpZOEZDdmVobGQya0RORERscy9UTWlVNjZQOUJlc1Axa1A2RUF0ZkFsUHhweTdMb1VxckJ5NTkyY1lqN0lrWkxsbUV2OWxpZ0ZZQno1OXdYd0lYZ1BkbzU0Z0lMNlJTbjZhMThNV1RDK0RRSjhla2tyWUpHWDZuOWpLTjVuSU9GM3p6RzFPRkFtbmVXUFVwQ2JPSWZSTEZZbnBsR1locW15Q2pDbktzeW5zUjd6WERtN2l4VWtYd2x1V2hWU0hJRFNFbTRLbTJqaldlY3BrNUdYYUhvOERoNkZLMUIxL25Qc3hqdFhSVkcyY1o5djlBeWIwbjRpMkx4b0xtTmxRSjR4NFh0M2w2SXYxY04vUXhxeGs1d3FIVm8rNXZuUUk0cUZWUDZUVWhvcGtXVVRjQnFseEg5em50VWRzMTV1TG9ieWZKMWZxcy9rRXZGdEkrNmlLVFNjWnJBY29PWFVPZDgyZjY3dy9nczZpbDg3dzZUQ085aDEyR01VNG8xcEVHTzZJcWF3YzBhT0dZMXdLbEdJeHpmNkU4eWY2TjlFYUhQQWtGS1VHcXZiK1IxQ0gwTGF2Vm41bGhRcml0WnBMQVhnK1lwZjJqV3NwazFsc1h6ZUUwaXhlWThSa2J1S0Z1R2F6Uk5vOUNEdDZVWlV6NTErYmZCVWFpRXJMSFoxajFycVdpQTFWa3dtYjJMYks3ZzErdXo4UlMrZjUvbW9MM0R1UmtkcFpiQXJhcE5OeXdkOVlCazZCeTZoQnBZQkFBT2lrSXhuRUgzclVDLzEzU1V5SUp6WFJucFdacnMvczMvbHc4U015TG9XRFVCR2k0eTRtWXZPbWxRYTlEbGw2UTBCL3l5SFdtNVpObzZXb2diREkvOGQ5ZHZobkVyMlRKZVJ3MVdub0ZKbWFLLzNuZDZZSG1raWo5SDNubk5WV0R1QlltRlpqb3dvQXBFWThWNThLbDJxZE1UWGIyWjNZTVdWWFJURWZEWDBkNEs1V2c0VXQzWjY0UTJKZVpaZXdpM015OFNGZnFIbEZUdG15UzlVTTU3eURJaHlnTmVMLzhocGZaSXMza1ZLbHo1VnNUWHBEYVo2Y3lNL0IwVTVxVGV5UEppc1BoazZwOU93amlOeGloN0tRVWpOdUpQQkwwcGhJMUNtVXRZald6TWlsTVFUZGtBYVhSUG5ZTFVSRGJZYmMyVXZEMElLMjZSWXhhSElMMGVGVEYyTkVwT2tsbmw4RkNOSVpuRjVYL3REcjhqQ09pMnlGSkEydUtraFcxbm1oSXY4THdLWlZucDU4QVlJc0RBOHhndnhNYTBDRUcvbkZnbHFEbE5XZ3NZaGxGakZkN3BQSG9LWTlqSDZaeE03NGNkWXFiVFIrdFZ0N2c1M0hWcndmTGlNTDhydWhxZEZNRU44aWRhMVFlZThYZjZwZ2xvMWRLY1lidzZCbW44ZVFQc3VEdC9rL3Q5LzdvVHVZdjNGZ3B1ejBsdGFFRk1aV3BHcHN3b2FVc3Z0Mit6SHlSbm0zaS84MjgvNzRLRTNCUFZxeGlRZjc0WEkwbm1tWWRTTEI0YkovWE5ZRzdYaDcwK2JmRng4aDdZQmcwMEFNczZjaUtYbUEwQ3FlS0V4aGZWdjVwSksxQTJXNmVHRmFMa1VDaHhGclp6ajRGS0xTdDVLcmlrRzVEaHpmc21tZ2RKaFhHSm5sQ3BHU3RvQkg4K3loRFUxWmNKM1RIOS8wQTVPSFkyVDFvcG9OUGxzZXNpZ2VtNnZvMG4zUXNzZFpwTGxxazJFOUZDV0NUb05rU29jS25Bb2cxMDNaZWRRM045K0g1SmoxKzhLWG1kMkZrOExWRzNmM202K3NBVUl6cDFWT0s5c3RMMlVwdnhwc0hicU1DeFpWZHVld2pQK0wvbzlhdURhZ2E0dmxlYUsvOHAvTUQvVHpKaW1YUS9sd1RsbndtaVZTbjJYNk9LOTBSZkVxamtDL3JJVktxbmF6ZFJJMW5XWVpuaVhKZTZNdkxLOHRJMWxaeit3aWYrOVpJQWRUMnVIcXY2dUhPWkI4OXBvRE55bkp4eXNzcnkwaldWblA3Q0ovNzFrZ0IxUFkyOExDWVRRUzR5Ulh2MHpWR0pVMVZ5eXZMU05aV2Mvc0luL3ZXU0FIVTlyUFJQeElrVUFPT0ZkUGphQTNSK3BMaXRBY1RhVzA5Z0JPVEJIQWR4bDNqc0QxY3hQK2thOEVGcTBXL05sS1h6NGxVcDlsK2ppdmRFWHhLbzVBdjZ5RytOdkR2S2Z1M2FkeEd0REN6UE1yZXdFcVpsNk5CWVRSL2c3U1JTNURUM0l4TWNKUGRMK2ViUlpDenhRaUsyc3NQVFk5NGxMZnRvMnFwWnpFaHhnUjE0WGtmZEV6RnVuK092aE40RXB2SlZoNnJGcTV4L3N1cnlvbGMvS2dUSVVGWncrb2hUT0VYMUNkbDI0NFpLWHZheXl2TFNOWldjL3NJbi92V1NBSFU5bC9IL2F5SG5VakNwQVNYbmVSOGE2VGFGMlFOZGt0WXpsTXpueXg2OTJmVU84N2NqOHI2aXlnYnBsSkh1OFJwSDhzcnkwaldWblA3Q0ovNzFrZ0IxUGFXSzdvVk9hREkwQWRzcDhyOUJFQTNTeHp5THdwbzNwRVN4NEtObDBvODNmT0Z3NTJ5Ny92Ty9zOVpJMDdWcEFsR3V5STZJMGs5SnFtSklUTGhuL0VVcUNXMW9hTXRLN0VudFN2aU0yMzJKUzJ2Z2I5cjRPYWh3UjA0V3BlMzVGVlVldmVzSTF6bEpER01sK1VFUW1KZGZDRGFQWG9tbGRNUjJ1MkxhVGg4RlJLS00xSTlGQmY1bklpVk5mRmQ4dm53VUN5a2ErWXdIOFNOY0pDd05Ba3Z5eXZMU05aV2Mvc0luL3ZXU0FIVTlpSHFmalVtTW1HazVvOGtCWG52NmRXbkw0SUMxZEZjVGx4T3ZWOEdiU3kveXl2TFNOWldjL3NJbi92V1NBSFU5Z1JDd2FTV09TdElNSURrMWxPaHB6M1dDbG5nZS9CZjQzK3JlY3RyY2tZYUJMbDFXVDdRVWxYNXE2RUdGM2kydGlIZjFaKy9qdzhjRzdhdlNMWkIxTGd4a1o0bWtuNCsyd0RuazdjZ1ZjOHVHS3hmVmNCbEd2ayswd3ZRY1JXMmw4bU9FM2toTjhNMUM0YzBQOXZwak9Cc0NvYTlFWGc3c1pqdllDbW9JTHdtMmtGYUNISTVzdkpsT1VLb090TGZkY3NyeTBqV1ZuUDdDSi83MWtnQjFQWkRtS0lJTHBlT015R2V0UzY2QllGeWhuYUZuUDJsb0FEM3JuSkVKRlBvVkkvSnhsa28zeHFwei9KdDBPN0hKZkpaL3UzNW8xNU9aamRDSjl1eHhNQjUzdEJMeVZYcTJBZlZwWHpqL0ZBZllwL3d5K3dtSTlqUURqV0xKWXJZeUluTEs4dEkxbFp6K3dpZis5WklBZFQyZUlLQUVYQVl1ejdtOWl2VTE0NWdNS0hIbncwNjFqSVE3cVdzRDZrRjBoUzhMVU02M2tyZHd2SkZ1ZFpBeEZmV3l5dkxTTlpXYy9zSW4vdldTQUhVOWw1WERMbnBMNUl0cGk2RGQxbDVuQlVIaFUrTnhqbkdvb05NRGJ2SUlIU25GOTB0NGs5UEZKQkc1Snh4SENHOTBIcExmRTFBNWN1TC9WSGp6MTREUk5tb2s2cVZDV1h1RHF4Q0Yyei9OVXZOMlpNQVllazl4VjR5TUx6MXU2cFNWcHpRRGhDOWtOU0NldlB6UlpqM2hPeWFtNXFkK0tlZ2trRVNPRzhrUVFlcHIyaEFsazA4ZVg5L2hzemdQZ29HOFpWN05hK2crTENSMklldnU4ZDVEMEtnMmhqVUJ5d3lnVUVGcTNaZXhXN1I0c2ozMWlzRUVIV21paFFQQnU1cERDdlNxUktWRlk5aUE5NDlXT2NFMXlHOWE2MUs3TXNMS0FxS29GRHpHckE0S0RkUW9xT1c5Wm1YT1czRHpmUXpiL0hUSkJnRGxOTkl4b0YweG5IQW13TVlBc05OWFRXVzFaNnMvNy9pSmRmYWxYczFyNkQ0c0pIWWg2Kzd4M2tQUXJRcGpCU2p1a2tNNFdwL1doRnkzd2RpSTN6Sjd5MXRMejd5WjZmZVNzYkpLRjFIdGkrWndZUG11ZTM3dnNmUHE0QXpHL2g1YytTZGEzRVBTWEE2MFhUY1BPMlc0ZnZFQk1yMmtWSkRjTE40dWEzQ2dnS00yZmJJMzhvSFJnbUQvZHNqblJJZndzSExoV05qUkZHZzdpQlRlZ29CTTRiSU9xVmpDR1RtRW5kR2YrWEludytzN3AwNUpIS1FqbGdrVUdNa3BQQ05mUWJQdzhCaFFkVHgwaysyMzM1eEQrcUc5RUlFK2FRY0VubWpOMHVlNGF6M05jWkJ5ZUJXNjUyUlJNekNnYXNlM1BTSkxSNllOMVBWY2Yva1F1Rjh5bW0vNFZIRVVWZ1pLYWVvWTUwTFhSMHM4TGV1NDFOT0xpMjNPWEpuYTU2TWhIdGpIaFQzWHJ1NDB3dnU5U2NFN0t1dXpycFRPQWRQZWVhWlE4b0Q2dWpyVVliOWt4TlJxQ0FhbWc4aXVrV0RRWVJLaVFDZnpyMTRIaUpmeFJTTUpwU2RSQkdjOWsxRzFjanlaeUIvTWtQZ3ltVGZBYmZCZXdnZXdKWit6NDR0dW51Z3BZNndsdFZOZmJZL2JFSG43OE13SEt4VU1CNlVqaWxoOHBaT3o2cWtxSjE4b0RBVGZHYk9LRXk1OG1la1BlVGVHYlliVHpYcVlTUkdXM0VKS1JLTER6WmNXYUEwWVB0c3BySjMzMkJtYUtwYkRjUGJhMit3YWhYYmJ5My9vRkcwUXBaeHJsb2loNy9QZXJiSktCSVVZWGJzQ1cvMlJwTTdvelVObDlFcnhWTU1kS0ZtQzVLSzRaY0xQelBabEhFZEh0NS9kZWRKblR6eHYwamx1aWcvTzh2VFVpTDZRQnFHeXl2TFNOWldjL3NJbi92V1NBSFU5cUREZVNFeHMyM3RZcFdjNTRidmpMdjE0OElKRHhwbWJESk9rZEpOSTc1SDZ0ajlEeTdXSy9RZjJ0RWQ0dkNNaldqa2RTamNOZFdyTDFXRGtUZmw0bGM3Nkd5NWF4cjZvK21QR2xnSW81Z0h3emtUcmlvNGpBUkg2WndUWHBSbEgzZ20vUk9NMjdNUHFUdkM4QWJmZ3piYTVnelZ3cjRWNjFOT3phUUsxTTdwdk90M1BJVFlvRnZtQ2ZkaGI3U1FpamZkbDlPeE5jb052TVpZV2crMXpMbkxLOHRJMWxaeit3aWYrOVpJQWRUMndFclVKa2tBTE5INVBZdGlIUEdBOG1jMTZhRzhxbTRuV1ZSUkVmNCthSmV4REF2SDNQeVV4V0QxRUZzQjc5NXZ5eXZMU05aV2Mvc0luL3ZXU0FIVTl2SDcvdlNYMU1WdHA1ak0wbXFJZEt3TzFoZnpURkNYWnhkblpRbmUrMWJHeXl2TFNOWldjL3NJbi92V1NBSFU5ajhuUm1keVA5L2FDdmxtaldOcS9HcXhnTFBGekFocFE5QTUzUkRVa0FtckcrVXdoc0FOSVlZZU0yVk1ETnBrTU1zcnkwaldWblA3Q0ovNzFrZ0IxUFlJNGpjWW9leWtGSXpiaVR3UzlLWVNYTldHUzYzUUVzaVozbTFrM0ZBek5zc3J5MGpXVm5QN0NKLzcxa2dCMVBhV0xNVmFPVkc0L2UxVlBUU0F6WTlIODdPQ0pYZXgraUFPb1crS0FucmlCM0puYTU2TWhIdGpIaFQzWHJ1NDB3dG0rQ0VXWHVvWThYRUpGZHZjRmNIN3l5dkxTTlpXYy9zSW4vdldTQUhVOWxMT0xmck9RTXBDeFFsRGcwMllKQVRMSzh0STFsWnord2lmKzlaSUFkVDJrNmd2dGMxejVhSW1CcUZnbmJRME5URTlHTGZiT0NTRWhkK3JwWTZreXcvTEs4dEkxbFp6K3dpZis5WklBZFQyQ1Z2M29ZdE0wek1BUzF4NFh0eSt6c2ViR1Y0dUZtb2NTMG5PMzRldzhMUExLOHRJMWxaeit3aWYrOVpJQWRUMnVMSjk2S1hSMzZ4eXlwbUdpcEZ6Rk9TUDVJR0NFMmxLcXNJejZXQXZ0dVRMSzh0STFsWnord2lmKzlaSUFkVDIxeC93SHB6WWJxblRCNk1CT25Pb1drRThnOVcrcFpYa3k3RlpJM0pqSHluTEs4dEkxbFp6K3dpZis5WklBZFQyMC8zYXdvRDFJcjc4MGV5cC9YY0k2OWxFU0Z4MTdIVW93dHo2RGdqNk56SExLOHRJMWxaeit3aWYrOVpJQWRUMmZva1BGNnU2YTBlZ1hTQ3RsTER3Y3hPT2NjWWVyOWRnMzRXbWk5aUg1VjQ3bzJLUTZiTmlDTzAycE41MUdmb095eXZMU05aV2Mvc0luL3ZXU0FIVTl2aENZZ2FYK3pKNVlQaUZ1L2duMTB3Mis3YzlwbXprVlltb0VrMG5HcWlieXl2TFNOWldjL3NJbi92V1NBSFU5aFAxU2ttSTViWUJsN1JHbkorVzdTYkxLOHRJMWxaeit3aWYrOVpJQWRUMmxpekZXamxSdVAzdFZUMDBnTTJQUi9PemdpVjNzZm9nRHFGdmlnSjY0Z2R5WjJ1ZWpJUjdZeDRVOTE2N3VOTUxadmdoRmw3cUdQRnhDUlhiM0JYQit3aytHa1hyN1pPNm42eUJ0RDZiMHQzTEs4dEkxbFp6K3dpZis5WklBZFQyZUlLQUVYQVl1ejdtOWl2VTE0NWdNS0hIbncwNjFqSVE3cVdzRDZrRjBoUWVBRS9lQ3JHVWJGMmJWaE4vZThkVFdSOHRvN3lSNHU1aFF5dlVDY2diOFZNOUJ1WkQyWVp2OHFkV2Jtc2h2R3NXMjFPbjlYZzJwNHNEdG1kRnpJdWJXMVYyNm9pbEZZeVhGWit2N0VIRThPQkViVGFvRXdjdlVTTHI4UDJVeVU0aHhwY3dmR1MzcW1zY3ViUE1uSHVxdStLeDFmRWlURWtWVHo2c3pyVkZkTXNyeTBqV1ZuUDdDSi83MWtnQjFQWTNHSGszdlRxZjd2Tno4Z0VzUGRjQzVyU1YrNUxpYkRNa0FydHFyZW52cE9sL1NyV3dCemRnVnMreWdNK1Q2VGMxK2dLajBELzY0b2Y1aHFmRU9Ed0VvaE1qazAvSStSS2RpMDg5RGdvTWI4c3J5MGpXVm5QN0NKLzcxa2dCMVBZa1kydVIzY0dHZU5FcXhnSGZpZWlXQ2Z0OFlobmtyVkFGUmM3d1pvamFGdTJ0WklKcE9UUGp1MDZRZ1VPRUVUVlJWOVMrcTBINmxmam5CVG5aVnRROXZQM3NjRkhialdSZjhGUkpES0lWUTNpMmlrUXBSZE83SXh0azkvam1oU0VmcWVFT2xKU3VVakYrVDYwRGZLL1hNV3BiNkFWMjNlcG8raFpKVWQzbWMxbkswZUR4MkVkdklzNG5ZdHRaUmY3TEs4dEkxbFp6K3dpZis5WklBZFQyVzBOaUVqdUJkQWg0NUlPZy9naU9RcHFibXAzNHA2Q1NRUkk0YnlSQkI2bk9sREw3RHZ6enNPUW5LKy9iQ2M0bmQxdm5sbnRVTnZkVUNWdFpMZWNqcEJSSmRpN0tma3JLWjJOWFNDN2J4bUJjYmRDS1MxL1NYWmFFejJ3OHFQN3JZT0QxNkVQUFVRWmFacDVWZWgrR1ZNL3pHL2pkVEFSS284d2Rkcm1xbkhCYlZYYnFpS1VWakpjVm42L3NRY1R3UVBQYjQwcStndzloQWVIbkVlLzZ2MmVTSXBBc3l1VzRaUkxWL0gzSHQ3ejVHaURrQUpvUTNQWVkzN2RLMlNKRFVkczE1dUxvYnlmSjFmcXMva0V2Rm9RNW1RTVRZSXBqOGRUc1hSd2taZExCZk5waUZrOE05UTZNTnJ4cElWZXFVb1VSYUpYMmZ0cEkyd2hrT0RMaEV5TTdoOWhiK3p5TWVlalk1WUhzemxHUnRCWVlnclYzYkJYU3cvWkxlclZ4STVTeGRmd1VEQ29zeEpoZy8rK0VTekIwSE5weWdLQVpjcG9RbS95aXVUOXVYSjJyc2ozeEV5MWJnekZ6UW5ieXl5dkxTTlpXYy9zSW4vdldTQUhVOXA2aWtFWStTcEg5REMyZSt5Q21KMXphNldrdWd1czU3WHltdW45bE9SVytQUFRCL2dzeW91L3BsendoUTE2VkxNc3J5MGpXVm5QN0NKLzcxa2dCMVBhUHptUkRHWExqbG0vVFViczJLYXYxQjZyTTVaaWN1c3hLWFdLclZEOU8vUUc0S09Pdyt1bUVhdEhUaHFmdjl4UEwwOTg3cEJXRThiaUo2c3dCSW85dTllT1BkNExQbkJ4dUJoWjJldTFJWEEwcStMb3VFTEl5RUJMaW5sbHNEUE0wa0g1bjBVNTc5OFYxMkJJVEZxaFdEUW1zNWM5SEROcFdvS3VZUzZKQ21MbElFaEZ0dnhadnZxMTROejZ0bnFGb1lkc0tnejBhakZpZys3RmltYVU5cmNTVUVHYTVGMHFJaHA0a01NcWdmdDNxWEcwK1dlZXpmUVo4cnVvR1BXSVJqOGI4ZW5HZGdQUUYxaE13Tk9saGtuWmNQUHBaajQxVlU2VCtHemxOeWNzcnkwaldWblA3Q0ovNzFrZ0IxUGIrUGUyYVJmbGYzd090NmE1bis0TWhZb2huTVg3T2pJUk9WNUV6czRBVUM4c3J5MGpXVm5QN0NKLzcxa2dCMVBhYkI0OTdqVWRNam95RW1VQlYzNFhWMXlSVzFlOWdVSlk4RkN2ZWhsZDJrTXNyeTBqV1ZuUDdDSi83MWtnQjFQWjk2dmVGZjVvMDZIbEZoRmtFYmpWTnJ0R3ZrVnZWdk5sYlVsSURpK0VqK09LRldRVjJLSHc3eEg3NEV2TEpnaVI5M2lsY0VYTEE0NU5YMWZHTXpmZzVLVkxBcVRmcWlpU2pFNTNuU0ZRTlpoTVVoYTh2UUVSNUlXV0FBd1RlV3V2eHcwSjlnWi96U1E5UHlXMkxtWEsrdDNIVHhKQ25LM2N6dU1hQUxWVjkrSXZxMjkrbzgyY3FGSCs4OWJvb1hyZUsrZ3AyZU9WcDZwUmU2SUwyV0luWXpwUXkrdzc4ODdEa0p5dnYyd25PSjFGSS82WnZNd3ErZFVFdERlYldoRW5XKytGMjNhMVB6ZncvbUNLWHdsNVB5eXZMU05aV2Mvc0luL3ZXU0FIVTlub0dkelZ0ZGFZMEVQYmJGd0hsbHRVVXhVMUl6Sy81YlVZUWpONzRCVFB0V3ZaQlgrVnc5WUVORkt0bDExQmt6ckxIRWI0YkZJWUJDcUhUaUhBRTJhaWdISjhtbXU1blNHVHZDVGRPMmFRMlAzU1hEWHY2QlFjUXpxNDZoWU91MVFBMS9OSlFORHBvSEQwd05TZ0pyVHBDSGtuODBhTGpEaS8vSkxpaVdWMWpyR1BFd3JxSWxoSzE2Y1didlhKS2JNc3J5MGpXVm5QN0NKLzcxa2dCMVBicFRmOEJTQkhPc0VCZEFlZ2JtTlBFTjFHSkZxTmovQjhWQ0xRV1RHVVFGRU9CMmxvQWt4SWsxNTNiOE1pTkJnWExLOHRJMWxaeit3aWYrOVpJQWRUMkE4ZmtZZ1N4NloyeU9ucXJxWXhaeCtaakVwU2wycVZGTWFORXdIMzBXRmpMSzh0STFsWnord2lmKzlaSUFkVDJpVjd6SU4wZU56anc5dDFvckhaaVVBcC9UL093M0ZYQWRGSkFLMExMbllpL1VnOE1zSXBkTWpYOXc5V3FrNnFWeXl2TFNOWldjL3NJbi92V1NBSFU5cGpqQWZWLzcvcGUxTU9LMUpCdXFaRzRUOHVGWmppUXk2cjUwZUNXK1NZL0ZmYjlSMm9CYmp0U2lHMURpQmdIVDNBV3lBUGRBdzVjL3Z5Sko3SEU2YW5oUldUU0JNcG9FdnVrWXRjZmlVaC95eXZMU05aV2Mvc0luL3ZXU0FIVTlvRFd1ZWxBcWZqTTdmQ0pmT2Fzd1Fna2xwV1VVeWpBc3dvRHc2TlhIN2kwUGx6TnFvWkdTRHdUS1BBdW16WWhIMFdTY2dlakdGdGFhWDJXc1ZNTWhGZUdqOVBIb2pRemhQUy9od0YxKytpbG9nYVk1a3hkckxEVWRUdTQrTUV6bFl6N1BLeVE4S2p5K3p3bWN5VjNTOGRFK21jYWpEQlFEL0ZmYjh0L2hzdm56cFF5K3c3ODg3RGtKeXZ2MnduT0o4c3J5MGpXVm5QN0NKLzcxa2dCMVBZaURLYTFrM0NGbTdVc0ZqWjBXbXB6enBReSt3Nzg4N0RrSnl2djJ3bk9KOHNyeTBqV1ZuUDdDSi83MWtnQjFQWWIybnVCQXo1QjdIcUZ6VE8rY1RaeW1wdWFuZmlub0pKQkVqaHZKRUVIcWM2VU12c08vUE93NUNjcjc5c0p6aWU3dnpsTmlLZGttTUF6dmJaUDk5VUp5eXZMU05aV2Mvc0luL3ZXU0FIVTlvK25mYmtPMVk5dFBEMTloVzdjQXh2bEdpanV3M0JhUDFLM3ZvaG83QTVnR3FQd2RyQlBlN284MnY2VWJ2anNTd3lPQlRwanpLNGU3emI5TVpjU1BpR3pWY0FvL0t1RjZlNkNxZzNmalRmMWZZelhxemVNL1g3QWpDRWNVV0t0aWNzcnkwaldWblA3Q0ovNzFrZ0IxUFpiRlZZRGltbHVDTzBBSkdranJYVlRQTzl5NWNnU3VDdlVQOCs2QVdhRTVkL2cyYWFlcFE0cW8rV1F1Qm9vQXBPeDg3d0ljNmEzT0FOZXBteEpIYndveXl2TFNOWldjL3NJbi92V1NBSFU5c3RyRVhqb2JYejhmMkdaVVVBcnE5NFRVTkVJS0xRdnVEQWxFUkRQUFVYdWNvVWZEV1h2cUFTREdKNzRBeDBFRytFWE13RHE0anhydldNSVRaNjZtVVZCZUhCVUxhbmc2cnkrL2RSVjVOM0V5eXZMU05aV2Mvc0luL3ZXU0FIVTl0aEdFUnZmUEZMd05SRFZaYXpRM1k0eFZYQ3B2OXV4bTV5d05xWCtqd213eXl2TFNOWldjL3NJbi92V1NBSFU5bnpNb0I1elJzdGZxTVRLdThSMm9sSE1JY0VHZVZOL2pMa0ljcDVkYXRlbGR2R2hLckxJanlhMTF5QnAyTE10elA5YUk3UWh0anBQWElRTDNYUFc3KzZ6UkVva2hQdmRSY0pJMlRYbEhCRVpvaG5abUdtaVdDN1U0bzB1a2t5UEF4RWFPTm5JVndsRDlEcG9sdS9RdWtTTU4yM2ttbWxiZ1NtK0l5b2Y2bDFGOTRwNDZVcy9nK2l1V0hBMnNkSHVFQTduSjJ2dWxpRnhZMU8yamZYbEt3Nld5a1NmeWFFYXVPMy9YSW5aYmg5Zzg5SGNpZTh5RmlDa2pwTkpRakxRNzU0QTVNVkhRckE4TEpvNGNkRnlVVHB6dFJxWlZmeGh0QzZjeWVJNFdBWWYvRWhjTUg2VnQrZUt5S3ZvdzJhSWM3YUVwOG5hY2xwcTNDbWVKZXBFaTdqMXpSK1ZGRTY5UXliVXNkYjVPZ2xDenpyVlBackpodjh0NDVKYUlMcUlselhYdmhSanhMcWRGcVlHNjBxazNwRVB5LytML1VESXJ2UUtpNUQ0Z29YRlBPOXk1Y2dTdUN2VVA4KzZBV2FFNVlSR2p6bEU4ZXU5RXpuR0pRb01IZDc0UzNsVnhVK1dRUzBkZ0lGMG9kckpQTzl5NWNnU3VDdlVQOCs2QVdhRTVUNCtQZFNBZ0JPMmNIZnVkbDZLeUtKUjZ3UHdQRnA4cGd2YjJ2YWdVYzBWbGEzQXQ0S2pCOUhKaWFuQlJvbXpjVENJQnhTVURERXBWMXRocElNbW9URmNKaTlHa3VEZllUMlBuTHRDd2lwREM5QTV3UzFjaEJXb0UwZjJneGtyZHFmSzJ2Ry8vYlpvM1VKRWE2eEFJbTZFZStnVVROanVWQkFXRXJQU1FCc0huTzUyOWZFVHphR29yY2hiYmREelZtR1d4Qm1TQm04N2pWdWh4b2NZR0RHYzduYjE4UlBOb2FpdHlGdHQwUE5Xa1JJWCtCVEpZTkYrNWRWMVV4S0xtNFdRYmRtWFlZaDgyVVA3Tk43cFNRRE9sREw3RHZ6enNPUW5LKy9iQ2M0bnVySFUweERkZXVWbXE1L1dEVDF1aER6dmN1WElFcmdyMUQvUHVnRm1oT1dHOTVTV1dGT0t2S255cnBKVUtVUG03R2NHNVFvL3AwUHlKQU5oSi9oY0tTbFptOUtRV20rMExVaERHVnpXUVpzeTlSQzlIZmdrdlJUNm1sdkhMdUtZVkZhcTlIZW1SdHZXZWxWYUM5emhBWm9lVUtuYTVwMklBd2N0eWg0SVJuVW4xOVFSeElkYStUeCtuS2ZENEdSZ0JaeEtQYW1CNmlwTTYvTm5vTkxsYnlySUVCSC9IcVhNS0IvQUtSVnpseFdueXJCRk0za1ZDN1J6Z1k3dFNWQnFjRVJNR3NnUlRFSmc4clROTjhTRldIK1F1MVhzTGMwNVRhM1dDYm5wVloxeHpxZzVGS01zQjM3N2YrTE05b21Cb2xEMEoycFFBVE5GNlBZYi9Ib0NJT082ZjRXYXBPallDd3lScXZnV2RyNXZ6VzIxU25UZEQzaFkyK29TalRvV2ovRE1hU0Z4VmNaN01vV2wyb244R3RHUXpHdERBSjUrVDNoZ01jY29jNzh4VlNrNGRzWWlnd2VrRzBTWEpaSTZNM3ZOckRJWjhyL1pVK2VXUHB2YWdldXdoNWxKQUd6N2UyYVMyUWtuVm8zZnI3M2p3ZzhOUDFJc09CMTkvK2lhMDVvSlEvQVB0N0UyYU5sdjB6elc2M2xDMW1DSWJrbFJhbUpxWnFheWNZRm9xQSs2SzZ5MmF5eEJ1aGZ3NjIwb3BjRTJ4MTY4UU5ETk5MZStxWGpNYURhbXpib21QT2cra25QRUpFb1p0dUZqbVB6bXJnak5HQ050M1grQStNR0JLVDdERlZFdTZtekdhUWlDYXVoM1EzRUorWmdQbjROMkk3Nm1KRk5FeWJZUkdqalp5RmNKUS9RNmFKYnYwTHBFNHVIOUtyRXEvOGM5UGxLMThUdFQ4NWdwM01DVmRPWXpKd1FINHZkOStNRiswa3lmZ3d2MllrU0ZoTmZLWHFPNGZVNXNSUTZGTkwwQTVWZ1hqaVRrank0TUN0YUNraStlSUNEWCtWQ0JNNjVWOXFkcUd6L0xTSm5GeEl2UThrQnhcXFwiKVwifV0iLCJpY29uIjoiaHR0cHM6Ly9sYW5tZWlndW9qaWFuZy5jb20vdHViaWFvL2tlLzMxLnBuZyIsInByb3h5IjoiIn0=
Add Comment
Please, Sign In to add comment