Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@看奈飞7@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6Ii5tb2R1bGUtcGxheS1saXN0LWNvbnRlbnQmJmEsLTEmJlRleHQuanM6J+abtOaWsOiHs++8micraW5wdXQiLCJ0aXRsZSI6Iueci+WliOmjnjciLCJhdXRob3IiOiLok53ojpPmnpzphbFVWCZzc2wm5aaE54KBIiwidXJsIjoiaGlrZXI6Ly9lbXB0eSMjaHR0cHM6Ly93d3cua2FuZXRmbGl4LmNvbS8iLCJ2ZXJzaW9uIjoyLCJjb2xfdHlwZSI6Im1vdmllXzMiLCJjbGFzc19uYW1lIjoiIiwidHlwZSI6InZpZGVvIiwiY2xhc3NfdXJsIjoiIiwiYXJlYV9uYW1lIjoiIiwiYXJlYV91cmwiOiIiLCJzb3J0X25hbWUiOiIiLCJ5ZWFyX25hbWUiOiIiLCJzb3J0X3VybCI6IiIsInllYXJfdXJsIjoiIiwiZmluZF9ydWxlIjoianM6XG52YXIgZCA9IFtdO1xuTVlfVVJMID0gTVlfVVJMLnNwbGl0KCcjIycpO1xuY29uc3QgaG9zdCA9ICdodHRwczovL3d3dy5rYW5ldGZsaXguY29tLyc7XG52YXIgaHRtbCA9IGZldGNoKGhvc3QsIHtcbiAgICBoZWFkZXJzOiB7XG4gICAgICAgICdVc2VyLUFnZW50JzogTU9CSUxFX1VBXG4gICAgfVxufSk7XG5cbnZhciBJY29uX3ByZWZpeCA9ICdodHRwczovL2xhbm1laWd1b2ppYW5nLmNvbS90dWJpYW8vbW9yZS8nO1xuXG5cbiAgICAgICBcbmQucHVzaCh7XG4gICAgICAgICAgICB0aXRsZTogJ+WIt+aWsOS4gOS4iycsXG4gICAgICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5Yi35paw5oiQ5YqfJyAgXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHBpY191cmw6IEljb25fcHJlZml4ICsgJzI1LnBuZycrIFwiQFJlZmVyZXI9XCIsXG4gICAgICAgICAgICBjb2xfdHlwZTogXCJpY29uXzRcIlxuICAgICAgICB9KTtcbiAgICAgICAgXG5cbmQucHVzaCh7XG4gICAgICAgICAgICB0aXRsZTogJ+etm+mAieWIhuexuycsXG4gICAgICAgICAgICB1cmw6ICdoaWtlcjovL3BhZ2UvY2F0ZWdvcnk/cGFnZT1meXBhZ2Ujbm9IaXN0b3J5IycsXG4gICAgICAgICAgICBwaWNfdXJsOiBJY29uX3ByZWZpeCArICcyNi5wbmcnICsgXCJAUmVmZXJlcj1cIixcbiAgICAgICAgICAgIGNvbF90eXBlOiBcImljb25fNFwiXG4gICAgICAgIH0pO1xuXG5cbmQucHVzaCh7XG4gICAgICAgICAgICB0aXRsZTogJ+S6keebmOaQnOe0oicsXG4gICAgICAgICAgICB1cmw6ICdoaWtlcjovL3BhZ2Uvc3MnLFxuICAgICAgICAgICAgcGljX3VybDogSWNvbl9wcmVmaXggKyAnMTAxLnBuZycgKyBcIkBSZWZlcmVyPVwiLFxuICAgICAgICAgICAgY29sX3R5cGU6IFwiaWNvbl80XCJcbiAgICAgICAgfSk7XG5jb25zdCBmb2xkID0gZ2V0TXlWYXIoJ2xpZS5ncm91cCcsIFwiMVwiKVxuXG5cbmQucHVzaCh7XG4gICAgICAgICAgICB0aXRsZTogJ+WIh+aNouaooeW8jycsXG4gICAgICAgICAgICB1cmw6ICQoJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKGZvbGQpID0+IHtcbiAgICAgICAgICAgICAgICBwdXRNeVZhcignbGllLmdyb3VwJywgZm9sZCA9PT0gJzEnID8gJzAnIDogJzEnKTtcblxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcbiAgICAgICAgICAgICAgIHJldHVybiBcImhpa2VyOi8vZW1wdHlcIlxuICAgICAgICAgICAgfSwgZm9sZCksXG4gICAgICAgICAgICBjb2xfdHlwZTogJ2ljb25fNCcsXG4gICAgICAgICAgICBwaWNfdXJsOiBJY29uX3ByZWZpeCArICc4My5wbmcnICsgXCJAUmVmZXJlcj1cIixcbiAgICAgICAgfSk7XG5kLnB1c2goe1xuICAgICAgICAgICAgY29sX3R5cGU6IFwibGluZVwiXG4gICAgICAgIH0pO1xuZC5wdXNoKHtcbiAgICAgICAgICAgIGNvbF90eXBlOiBcImJpZ19ibGFua19ibG9ja1wiXG4gICAgICAgIH0pO1xuXG5cbmlmIChmb2xkID09PSAwKSB7XG5kLnB1c2goeyBcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXCJibGFua19ibG9ja1wiXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChmb2xkID09PSAnMScpIHtcbnZhciB3ZWVrcyA9IG5ldyBBcnJheShcIuWRqOaXpVwiLCBcIuWRqOS4gFwiLCBcIuWRqOS6jFwiLCBcIuWRqOS4iVwiLCBcIuWRqOWbm1wiLCBcIuWRqOS6lFwiLCBcIuWRqOWFrVwiKTtcblxuZnVuY3Rpb24gZ2V0V2Vla0RhdGUoKSB7XG4gICAgdmFyIG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgdmFyIGRheSA9IG5vdy5nZXREYXkoKTtcbiAgICB2YXIgd2VlayA9IHdlZWtzW2RheV07XG4gICAgLy9sb2cod2VlaylcbiAgICByZXR1cm4gd2Vlaztcbn1cbmxldCBub3dfV2VlayA9IGdldFdlZWtEYXRlKCk7XG4vL2xvZyhub3dfV2Vlayk7XG4gICAgd2Vla3MuZm9yRWFjaChpdCA9PiB7XG4gICAgICAgIGQucHVzaCh7XG4gICAgICAgICAgICB0aXRsZTogZ2V0TXlWYXIoJ3dlZWsnLCBub3dfV2VlaykgPT09IGl0ID8gJ+KYgCcgKyAn4oCc4oCc4oCd4oCdPGI+PGZvbnQgY29sb3I9I0ZBNzI5OD4nICsgaXQgKyAnPC9mb250PjwvYj4nIDogaXQucmVwbGFjZSgn5ZGoJywnJyksXG4gICAgICAgICAgICB1cmw6ICQoJyNub0xvYWRpbmcjI25vSGlzdG9yeSMnKS5sYXp5UnVsZSgoaXQpID0+IHtcbiAgICAgICAgICAgICAgICBwdXRNeVZhcihcIndlZWtcIiwgaXQpO1xuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiaGlrZXI6Ly9lbXB0eVwiXG4gICAgICAgICAgICB9LCBpdCksXG4gICAgICAgICAgICBjb2xfdHlwZTogXCJzY3JvbGxfYnV0dG9uXCJcbiAgICAgICAgfSk7XG4gICAgfSlcblxudmFyIGxpZT1wZGZhKGh0bWwsICcubW9kdWxlLXRhYi13ZWVrJiYubW9kdWxlLXRhYi1pdGVtJyk7XG5sZXQgY2hvc2Vfd2VlayA9IGdldE15VmFyKCd3ZWVrJywgbm93X1dlZWspO1xudmFyIHdrVG9udW0gPSBmdW5jdGlvbih3aykge1xuICAgICAgICBpZiAoL+WRqHzmmJ/mnJ8vLnRlc3Qod2spKSB7XG4gICAgICAgICAgICB3ayA9IHdrLnJlcGxhY2UoL+WRqHzmmJ/mnJ8vLCBcIlwiKVxuICAgICAgICB9XG4gICAgICAgIHZhciBtYXAgPSB7XG4gICAgICAgICAgICBcIuaXpVwiOiAwLFxuICAgICAgICAgICAgXCLkuIBcIjogMSxcbiAgICAgICAgICAgIFwi5LqMXCI6IDIsXG4gICAgICAgICAgICBcIuS4iVwiOiAzLFxuICAgICAgICAgICAgXCLlm5tcIjogNCxcbiAgICAgICAgICAgIFwi5LqUXCI6IDUsXG4gICAgICAgICAgICBcIuWFrVwiOiA2XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBtYXBbd2tdXG4gICAgfVxuICAgIGxldCB3a19udW0gPSB3a1RvbnVtKGNob3NlX3dlZWspO1xuLy9sb2cod2tfbnVtKVxudmFyIHdrMCA9cGRmYShodG1sLCAnLm1vZHVsZS1tYWluLDYmJi5tb2R1bGUtcG9zdGVyLWl0ZW0nKSxcbiAgICB3azEgPSBwZGZhKGh0bWwsICcubW9kdWxlLW1haW4sMCYmLm1vZHVsZS1wb3N0ZXItaXRlbScpLFxuICAgIHdrMiA9IHBkZmEoaHRtbCwgJy5tb2R1bGUtbWFpbiwxJiYubW9kdWxlLXBvc3Rlci1pdGVtJyksXG4gICAgd2szID0gcGRmYShodG1sLCAnLm1vZHVsZS1tYWluLDImJi5tb2R1bGUtcG9zdGVyLWl0ZW0nKSxcbiAgICB3azQgPSBwZGZhKGh0bWwsICcubW9kdWxlLW1haW4sMyYmLm1vZHVsZS1wb3N0ZXItaXRlbScpLFxuICAgIHdrNSA9IHBkZmEoaHRtbCwgJy5tb2R1bGUtbWFpbiw0JiYubW9kdWxlLXBvc3Rlci1pdGVtJyksXG4gICAgd2s2ID1wZGZhKGh0bWwsICcubW9kdWxlLW1haW4sNSYmLm1vZHVsZS1wb3N0ZXItaXRlbScpO1xuXG4gICAgaWYgKHdrX251bSA9PSAxKSB7XG4gICAgICAgIHdrMS5mb3JFYWNoKGl0ZW0gPT4geyAgXG52YXIgdXJsbCA9J2h0dHBzOi8vd3d3LmthbmV0ZmxpeC5jb20vJytwZGZoKGl0ZW0sICdhJiZocmVmJykgKyAnI2ltbWVyc2l2ZVRoZW1lIyc7XG4gICAgZC5wdXNoKHtcbiAgICAgICAgdGl0bGU6IHBkZmgoaXRlbSwgJy5tb2R1bGUtcG9zdGVyLWl0ZW0tdGl0bGUmJlRleHQnKSxcbiAgICAgICAgZGVzYzogcGRmaChpdGVtLCAnLm1vZHVsZS1pdGVtLXRleHR8fC5tb2R1bGUtaXRlbS1ub3RlJiZUZXh0JyksXG4gICAgICAgIGltZzogcGRmaChpdGVtLCAnaW1nJiZkYXRhLW9yaWdpbmFsJykgKyBcIkBSZWZlcmVyPVwiLFxuICAgICAgICB1cmw6ICdoaWtlcjovL3BhZ2UvZWojbm9IaXN0b3J5IyNpbW1lcnNpdmVUaGVtZSMnLFxuICAgICAgICBleHRyYToge3VybDogdXJsbH0sXG4gICAgICAgIGNvbF90eXBlOiAnbW92aWVfMycsXG4gICAgfSk7XG59KVxuICAgIH0gZWxzZSBpZiAod2tfbnVtPT0gMikge1xuICAgICAgICB3azIuZm9yRWFjaChpdGVtID0+IHsgIFxudmFyIHVybGwgPSdodHRwczovL3d3dy5rYW5ldGZsaXguY29tLycrcGRmaChpdGVtLCAnYSYmaHJlZicpICsgJyNpbW1lcnNpdmVUaGVtZSMnO1xuICAgIGQucHVzaCh7XG4gICAgICAgIHRpdGxlOiBwZGZoKGl0ZW0sICcubW9kdWxlLXBvc3Rlci1pdGVtLXRpdGxlJiZUZXh0JyksXG4gICAgICAgIGRlc2M6IHBkZmgoaXRlbSwgJy5tb2R1bGUtaXRlbS10ZXh0fHwubW9kdWxlLWl0ZW0tbm90ZSYmVGV4dCcpLFxuICAgICAgICBpbWc6IHBkZmgoaXRlbSwgJ2ltZyYmZGF0YS1vcmlnaW5hbCcpICsgXCJAUmVmZXJlcj1cIixcbiAgICAgICAgdXJsOiAnaGlrZXI6Ly9wYWdlL2VqI25vSGlzdG9yeSMjaW1tZXJzaXZlVGhlbWUjJyxcbiAgICAgICAgZXh0cmE6IHt1cmw6IHVybGx9LFxuICAgICAgICBjb2xfdHlwZTogJ21vdmllXzMnLFxuICAgIH0pO1xufSlcbiAgICB9ICBlbHNlIGlmICh3a19udW0gPT0gMykge1xuICAgICAgICB3azMuZm9yRWFjaChpdGVtID0+IHsgIFxudmFyIHVybGwgPSdodHRwczovL3d3dy5rYW5ldGZsaXguY29tLycrcGRmaChpdGVtLCAnYSYmaHJlZicpICsgJyNpbW1lcnNpdmVUaGVtZSMnO1xuICAgIGQucHVzaCh7XG4gICAgICAgIHRpdGxlOiBwZGZoKGl0ZW0sICcubW9kdWxlLXBvc3Rlci1pdGVtLXRpdGxlJiZUZXh0JyksXG4gICAgICAgIGRlc2M6IHBkZmgoaXRlbSwgJy5tb2R1bGUtaXRlbS10ZXh0fHwubW9kdWxlLWl0ZW0tbm90ZSYmVGV4dCcpLFxuICAgICAgICBpbWc6IHBkZmgoaXRlbSwgJ2ltZ3x8LmxhenkmJmRhdGEtc3JjfHxkYXRhLW9yaWdpbmFsJykgKyBcIkBSZWZlcmVyPVwiLFxuICAgICAgICB1cmw6ICdoaWtlcjovL3BhZ2UvZWojbm9IaXN0b3J5IyNpbW1lcnNpdmVUaGVtZSMnLFxuICAgICAgICBleHRyYToge3VybDogdXJsbH0sXG4gICAgICAgIGNvbF90eXBlOiAnbW92aWVfMycsXG4gICAgfSk7XG59KVxuICAgIH0gIGVsc2UgaWYgKHdrX251bT09IDQpIHtcbiAgICAgICAgd2s0LmZvckVhY2goaXRlbSA9PiB7ICBcbnZhciB1cmxsID0naHR0cHM6Ly93d3cua2FuZXRmbGl4LmNvbS8nK3BkZmgoaXRlbSwgJ2EmJmhyZWYnKSArICcjaW1tZXJzaXZlVGhlbWUjJztcbiAgICBkLnB1c2goe1xuICAgICAgICB0aXRsZTogcGRmaChpdGVtLCAnLm1vZHVsZS1wb3N0ZXItaXRlbS10aXRsZSYmVGV4dCcpLFxuICAgICAgICBkZXNjOiBwZGZoKGl0ZW0sICcubW9kdWxlLWl0ZW0tdGV4dHx8Lm1vZHVsZS1pdGVtLW5vdGUmJlRleHQnKSxcbiAgICAgICAgaW1nOiBwZGZoKGl0ZW0sICdpbWd8fC5sYXp5JiZkYXRhLXNyY3x8ZGF0YS1vcmlnaW5hbCcpICsgXCJAUmVmZXJlcj1cIixcbiAgICAgICAgdXJsOiAnaGlrZXI6Ly9wYWdlL2VqI25vSGlzdG9yeSMjaW1tZXJzaXZlVGhlbWUjJyxcbiAgICAgICAgZXh0cmE6IHt1cmw6IHVybGx9LFxuICAgICAgICBjb2xfdHlwZTogJ21vdmllXzMnLFxuICAgIH0pO1xufSlcbiAgICB9IGVsc2UgaWYgKHdrX251bSA9PSA1KSB7XG4gICAgICAgIHdrNS5mb3JFYWNoKGl0ZW0gPT4geyAgXG52YXIgdXJsbCA9J2h0dHBzOi8vd3d3LmthbmV0ZmxpeC5jb20vJytwZGZoKGl0ZW0sICdhJiZocmVmJykgKyAnI2ltbWVyc2l2ZVRoZW1lIyc7XG4gICAgZC5wdXNoKHtcbiAgICAgICAgdGl0bGU6IHBkZmgoaXRlbSwgJy5tb2R1bGUtcG9zdGVyLWl0ZW0tdGl0bGUmJlRleHQnKSxcbiAgICAgICAgZGVzYzogcGRmaChpdGVtLCAnLm1vZHVsZS1pdGVtLXRleHR8fC5tb2R1bGUtaXRlbS1ub3RlJiZUZXh0JyksXG4gICAgICAgIGltZzogcGRmaChpdGVtLCAnaW1nfHwubGF6eSYmZGF0YS1zcmN8fGRhdGEtb3JpZ2luYWwnKSArIFwiQFJlZmVyZXI9XCIsXG4gICAgICAgIHVybDogJ2hpa2VyOi8vcGFnZS9laiNub0hpc3RvcnkjI2ltbWVyc2l2ZVRoZW1lIycsXG4gICAgICAgIGV4dHJhOiB7dXJsOiB1cmxsfSxcbiAgICAgICAgY29sX3R5cGU6ICdtb3ZpZV8zJyxcbiAgICB9KTtcbn0pXG4gICAgfSBlbHNlIGlmICh3a19udW0gPT0gNikge1xuICAgICAgICB3azYuZm9yRWFjaChpdGVtID0+IHsgIFxudmFyIHVybGwgPSdodHRwczovL3d3dy5rYW5ldGZsaXguY29tLycrcGRmaChpdGVtLCAnYSYmaHJlZicpICsgJyNpbW1lcnNpdmVUaGVtZSMnO1xuICAgIGQucHVzaCh7XG4gICAgICAgIHRpdGxlOiBwZGZoKGl0ZW0sICcubW9kdWxlLXBvc3Rlci1pdGVtLXRpdGxlJiZUZXh0JyksXG4gICAgICAgIGRlc2M6IHBkZmgoaXRlbSwgJy5tb2R1bGUtaXRlbS10ZXh0fHwubW9kdWxlLWl0ZW0tbm90ZSYmVGV4dCcpLFxuICAgICAgICBpbWc6IHBkZmgoaXRlbSwgJ2ltZ3x8LmxhenkmJmRhdGEtc3JjfHxkYXRhLW9yaWdpbmFsJykgKyBcIkBSZWZlcmVyPVwiLFxuICAgICAgICB1cmw6ICdoaWtlcjovL3BhZ2UvZWojbm9IaXN0b3J5IyNpbW1lcnNpdmVUaGVtZSMnLFxuICAgICAgICBleHRyYToge3VybDogdXJsbH0sXG4gICAgICAgIGNvbF90eXBlOiAnbW92aWVfMycsXG4gICAgfSk7XG59KVxuICAgIH0gIGVsc2UgIHtcbiAgICAgICAgd2swLmZvckVhY2goaXRlbSA9PiB7ICBcbnZhciB1cmxsID0naHR0cHM6Ly93d3cua2FuZXRmbGl4LmNvbS8nK3BkZmgoaXRlbSwgJ2EmJmhyZWYnKSArICcjaW1tZXJzaXZlVGhlbWUjJztcbiAgICBkLnB1c2goe1xuICAgICAgICB0aXRsZTogcGRmaChpdGVtLCAnLm1vZHVsZS1wb3N0ZXItaXRlbS10aXRsZSYmVGV4dCcpLFxuICAgICAgICBkZXNjOiBwZGZoKGl0ZW0sICcubW9kdWxlLWl0ZW0tdGV4dHx8Lm1vZHVsZS1pdGVtLW5vdGUmJlRleHQnKSxcbiAgICAgICAgaW1nOiBwZGZoKGl0ZW0sICdpbWd8fC5sYXp5JiZkYXRhLXNyY3x8ZGF0YS1vcmlnaW5hbCcpICsgXCJAUmVmZXJlcj1cIixcbiAgICAgICAgdXJsOiAnaGlrZXI6Ly9wYWdlL2VqI25vSGlzdG9yeSMjaW1tZXJzaXZlVGhlbWUjJyxcbiAgICAgICAgZXh0cmE6IHt1cmw6IHVybGx9LFxuICAgICAgICBjb2xfdHlwZTogJ21vdmllXzMnLFxuICAgIH0pXG59KVxufVxuZC5wdXNoKHtcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXCJibGFua19ibG9ja1wiXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG5cblxuXG5jb25zdCBmb2xkMSA9IGdldE15VmFyKCdyYi5ncm91cCcsIFwiMVwiKVxuZC5wdXNoKHtcbiAgICB0aXRsZTpmb2xkMSA9PT0gJzEnID8gJzxiPjxzcGFuIHN0eWxlPVwiY29sb3I6ICNmNzM4NTlcIj7nlLXlvbFcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHTwn42APC9zcGFuPjwvYj4nIDogJ+eUteW9sVxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdOKYmO+4jycsXG4gICAgdXJsOiAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChmb2xkMSkgPT4ge1xuICAgICAgICAgICAgICAgIHB1dE15VmFyKCdyYi5ncm91cCcsIGZvbGQxID09PSAnMScgPyAnMCcgOiAnMScpO1xuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJoaWtlcjovL2VtcHR5XCJcbiAgICAgICAgICAgIH0sIGZvbGQxKSxcbiAgICBwaWNfdXJsOiAnaHR0cHM6Ly9sYW5tZWlndW9qaWFuZy5jb20vdHViaWFvL2tlLzEyMC5wbmcnLFxuICAgIGNvbF90eXBlOiBcImF2YXRhclwiXG59KTtcbmlmIChmb2xkMSA9PT0gMCkge1xuZC5wdXNoKHsgXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFwiYmxhbmtfYmxvY2tcIlxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZm9sZDEgPT09ICcxJykge1xudmFyIHp6cmI9cGRmYShodG1sLCAnLm1vZHVsZSwxJiYubW9kdWxlLXBvc3Rlci1pdGVtJyk7XG56enJiLmZvckVhY2goaXRlbSA9PiB7ICBcbnZhciB1cmxsID0naHR0cHM6Ly93d3cua2FuZXRmbGl4LmNvbS8nK3BkZmgoaXRlbSwgJ2EmJmhyZWYnKSArICcjaW1tZXJzaXZlVGhlbWUjJztcbiAgICBkLnB1c2goe1xuICAgICAgICB0aXRsZTogcGRmaChpdGVtLCAnYSYmdGl0bGUnKSxcbiAgICAgICAgZGVzYzogcGRmaChpdGVtLCAnLm1vZHVsZS1pdGVtLXRleHR8fC5tb2R1bGUtaXRlbS1ub3RlJiZUZXh0JyksXG4gICAgICAgIGltZzogcGRmaChpdGVtLCAnaW1nJiZkYXRhLW9yaWdpbmFsJykgKyBcIkBSZWZlcmVyPVwiLFxuICAgICAgICB1cmw6ICdoaWtlcjovL3BhZ2UvZWojbm9IaXN0b3J5IyNpbW1lcnNpdmVUaGVtZSMnLFxuICAgICAgICBleHRyYToge3VybDogdXJsbH0sXG4gICAgICAgIGNvbF90eXBlOiAnbW92aWVfMicsXG4gICAgICAgfSk7XG4gICB9KVxufVxuXG5jb25zdCBmb2xkMiA9IGdldE15VmFyKCdoai5ncm91cCcsIFwiMVwiKVxuZC5wdXNoKHtcbiAgICB0aXRsZTpmb2xkMiA9PT0gJzEnID8gJzxiPjxzcGFuIHN0eWxlPVwiY29sb3I6ICNmZjg0N2NcIj7nlLXop4bliadcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHTwn5KTPC9zcGFuPjwvYj4nIDogJ+eUteinhuWJp1xcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdPCfkpcnLFxuICAgIHVybDogJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgoZm9sZDIpID0+IHtcbiAgICAgICAgICAgICAgICBwdXRNeVZhcignaGouZ3JvdXAnLCBmb2xkMiA9PT0gJzEnID8gJzAnIDogJzEnKTtcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiaGlrZXI6Ly9lbXB0eVwiXG4gICAgICAgICAgICB9LCBmb2xkMiksXG4gICAgcGljX3VybDogJ2h0dHBzOi8vbGFubWVpZ3VvamlhbmcuY29tL3R1Ymlhby9rZS80MC5wbmcnICsgXCJAUmVmZXJlcj1cIixcbiAgICBjb2xfdHlwZTogXCJhdmF0YXJcIlxufSk7XG5pZiAoZm9sZDIgPT09IDApIHtcbmQucHVzaCh7IFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcImJsYW5rX2Jsb2NrXCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChmb2xkMiA9PT0gJzEnKSB7XG52YXIgeGRoaj1wZGZhKGh0bWwsICcubW9kdWxlLDImJi5tb2R1bGUtbWFpbiwwJiYubW9kdWxlLXBvc3Rlci1pdGVtJyk7XG54ZGhqLmZvckVhY2goaXRlbSA9PiB7ICBcbnZhciB1cmxsID0naHR0cHM6Ly93d3cua2FuZXRmbGl4LmNvbS8nK3BkZmgoaXRlbSwgJ2EmJmhyZWYnKSArICcjaW1tZXJzaXZlVGhlbWUjJztcbiAgICBkLnB1c2goe1xuICAgICAgICB0aXRsZTogcGRmaChpdGVtLCAnYSYmdGl0bGUnKSxcbiAgICAgICAgZGVzYzogcGRmaChpdGVtLCAnLm1vZHVsZS1pdGVtLXRleHR8fC5tb2R1bGUtaXRlbS1ub3RlJiZUZXh0JyksXG4gICAgICAgIGltZzogcGRmaChpdGVtLCAnaW1nJiZkYXRhLW9yaWdpbmFsJykgKyBcIkBSZWZlcmVyPVwiLFxuICAgICAgICB1cmw6ICdoaWtlcjovL3BhZ2UvZWojbm9IaXN0b3J5IyNpbW1lcnNpdmVUaGVtZSMnLFxuICAgICAgICBleHRyYToge3VybDogdXJsbH0sXG4gICAgICAgIGNvbF90eXBlOiAnbW92aWVfMycsXG4gICAgfSk7XG59KVxufVxuXG5jb25zdCBmb2xkMyA9IGdldE15VmFyKCdzeC5ncm91cCcsIFwiMVwiKVxuZC5wdXNoKHtcbiAgICB0aXRsZTpmb2xkMyA9PT0gJzEnID8gJzxiPjxzcGFuIHN0eWxlPVwiY29sb3I6ICNGQTcyOThcIj7nu7zoibpcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHTwn4y4PC9zcGFuPjwvYj4nIDogJ+e7vOiJulxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdPCfkq4nLFxuICAgIHVybDogJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgoZm9sZDMpID0+IHtcbiAgICAgICAgICAgICAgICBwdXRNeVZhcignc3guZ3JvdXAnLCBmb2xkMyA9PT0gJzEnID8gJzAnIDogJzEnKTtcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiaGlrZXI6Ly9lbXB0eVwiXG4gICAgICAgICAgICB9LCBmb2xkMyksXG4gICAgcGljX3VybDogJ2h0dHBzOi8vbGFubWVpZ3VvamlhbmcuY29tL3R1Ymlhby9rZS82My5wbmcnICsgXCJAUmVmZXJlcj1cIixcbiAgICBjb2xfdHlwZTogXCJhdmF0YXJcIlxufSk7XG5pZiAoZm9sZDMgPT09IDApIHtcbmQucHVzaCh7IFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcImJsYW5rX2Jsb2NrXCJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKGZvbGQzID09PSAnMScpIHtcbnZhciBqanN4PXBkZmEoaHRtbCwgJy5tb2R1bGUsMyYmLm1vZHVsZS1wb3N0ZXItaXRlbScpO1xuampzeC5mb3JFYWNoKGl0ZW0gPT4geyAgXG52YXIgdXJsbCA9J2h0dHBzOi8vd3d3LmthbmV0ZmxpeC5jb20vJytwZGZoKGl0ZW0sICdhJiZocmVmJykgKyAnI2ltbWVyc2l2ZVRoZW1lIyc7XG4gICAgZC5wdXNoKHtcbiAgICAgICAgdGl0bGU6IHBkZmgoaXRlbSwgJ2EmJnRpdGxlJyksXG4gICAgICAgIGRlc2M6IHBkZmgoaXRlbSwgJy5tb2R1bGUtaXRlbS10ZXh0fHwubW9kdWxlLWl0ZW0tbm90ZSYmVGV4dCcpLFxuICAgICAgICBpbWc6IHBkZmgoaXRlbSwgJ2ltZyYmZGF0YS1vcmlnaW5hbCcpICsgXCJAUmVmZXJlcj1cIixcbiAgICAgICAgdXJsOiAnaGlrZXI6Ly9wYWdlL2VqI25vSGlzdG9yeSMjaW1tZXJzaXZlVGhlbWUjJyxcbiAgICAgICAgZXh0cmE6IHt1cmw6IHVybGx9LFxuICAgICAgICBjb2xfdHlwZTogJ21vdmllXzMnLFxuICAgIH0pO1xufSlcbn1cbmNvbnN0IGZvbGQ0ID0gZ2V0TXlWYXIoJ3N4Lmdyb3VwJywgXCIxXCIpXG5kLnB1c2goe1xuICAgIHRpdGxlOmZvbGQ0ID09PSAnMScgPyAnPGI+PHNwYW4gc3R5bGU9XCJjb2xvcjogI0ZBNzI5OFwiPuWKqOa8q1xcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdPCfkpA8L3NwYW4+PC9iPicgOiAn5Yqo5ryrXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx08J+SricsXG4gICAgdXJsOiAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChmb2xkNCkgPT4ge1xuICAgICAgICAgICAgICAgIHB1dE15VmFyKCdzeC5ncm91cCcsIGZvbGQ0ID09PSAnMScgPyAnMCcgOiAnMScpO1xuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJoaWtlcjovL2VtcHR5XCJcbiAgICAgICAgICAgIH0sIGZvbGQ0KSxcbiAgICBwaWNfdXJsOiAnaHR0cHM6Ly9sYW5tZWlndW9qaWFuZy5jb20vdHViaWFvL3EvMTAwLnBuZycgKyBcIkBSZWZlcmVyPVwiLFxuICAgIGNvbF90eXBlOiBcImF2YXRhclwiXG59KTtcbmlmIChmb2xkNCA9PT0gMCkge1xuZC5wdXNoKHsgXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFwiYmxhbmtfYmxvY2tcIlxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZm9sZDQgPT09ICcxJykge1xudmFyIGpqc3g9cGRmYShodG1sLCAnLm1vZHVsZSw0JiYubW9kdWxlLXBvc3Rlci1pdGVtJyk7XG5qanN4LmZvckVhY2goaXRlbSA9PiB7ICBcbnZhciB1cmxsID0naHR0cHM6Ly93d3cua2FuZXRmbGl4LmNvbS8nK3BkZmgoaXRlbSwgJ2EmJmhyZWYnKSArICcjaW1tZXJzaXZlVGhlbWUjJztcbiAgICBkLnB1c2goe1xuICAgICAgICB0aXRsZTogcGRmaChpdGVtLCAnYSYmdGl0bGUnKSxcbiAgICAgICAgZGVzYzogcGRmaChpdGVtLCAnLm1vZHVsZS1pdGVtLXRleHR8fC5tb2R1bGUtaXRlbS1ub3RlJiZUZXh0JyksXG4gICAgICAgIGltZzogcGRmaChpdGVtLCAnaW1nJiZkYXRhLW9yaWdpbmFsJykgKyBcIkBSZWZlcmVyPVwiLFxuICAgICAgICB1cmw6ICdoaWtlcjovL3BhZ2UvZWojbm9IaXN0b3J5IyNpbW1lcnNpdmVUaGVtZSMnLFxuICAgICAgICBleHRyYToge3VybDogdXJsbH0sXG4gICAgICAgIGNvbF90eXBlOiAnbW92aWVfMycsXG4gICAgfSk7XG59KVxufVxuc2V0UmVzdWx0KGQpOyIsInNlYXJjaF91cmwiOiJoaWtlcjovL2VtcHR5IyNodHRwczovL3d3dy5rYW5ldGZsaXguY29tL3ZvZHNlYXJjaC8tLS0tLS0tLS0tLS0tL3BhZ2UvZnlwYWdlL3dkLyoqLmh0bWwiLCJncm91cCI6IiPvuI/ig6Pku5PlupMiLCJzZWFyY2hGaW5kIjoianM6XG52YXIgZCA9IFtdO1xuTVlfVVJMPU1ZX1VSTC5zcGxpdCgnIyMnKVsxXTtcbmxldCBkaHRtbCA9IGZldGNoKE1ZX1VSTCwge1xuICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ1VzZXItQWdlbnQnOiBNT0JJTEVfVUEsXG4gICAgICAgICdyZWZlcmVyJzogTVlfVVJMXG4gICAgfVxufSk7XG4vL2xvZyhkaHRtbClcbmNvbnN0IGRsaXN0ID0gcGRmYShkaHRtbCwgJy5tb2R1bGUmJi5tb2R1bGUtY2FyZC1pdGVtJyk7XG5kbGlzdC5mb3JFYWNoKGl0ZW0gPT4geyAgXG52YXIgdXJsbCA9J2h0dHBzOi8vd3d3LmthbmV0ZmxpeC5jb20vJytwZGZoKGl0ZW0sICdhJiZocmVmJykgKyAnI2ltbWVyc2l2ZVRoZW1lIyc7XG4gICAgZC5wdXNoKHtcbiAgICAgICAgdGl0bGU6IHBkZmgoaXRlbSwgJy5tb2R1bGUtY2FyZC1pdGVtLXRpdGxlJiZUZXh0JyksXG4gICAgICAgICAgZGVzYzogcGRmaChpdGVtLCAnLm1vZHVsZS1pdGVtLW5vdGUmJlRleHQnKSxcbiAgICAgICAgaW1nOiBwZGZoKGl0ZW0sICdpbWcmJmRhdGEtb3JpZ2luYWwnKSArIFwiQFJlZmVyZXI9XCIsXG4gICAgICAgIGNvbnRlbnQ6cGRmaChpdGVtLCAnLm1vZHVsZS1pbmZvLWl0ZW0sMSYmVGV4dCcpLFxuICAgICAgICB1cmw6ICdoaWtlcjovL3BhZ2UvZWojbm9IaXN0b3J5IyNpbW1lcnNpdmVUaGVtZSMnLFxuICAgICAgICBleHRyYToge3VybDogdXJsbH0sXG4gICAgICAgIGNvbF90eXBlOiAnbW92aWVfMycsXG4gICAgfSlcbn0pXG5zZXRSZXN1bHQoZCk7IiwiZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsImRldGFpbF9maW5kX3J1bGUiOiIiLCJzZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsInNkZXRhaWxfZmluZF9ydWxlIjoiKiIsInVhIjoibW9iaWxlIiwicHJlUnVsZSI6IiIsInBhZ2VzIjoiW3tcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLliqjmgIHliIbnsbtcIixcInBhdGhcIjpcImR0XCIsXCJydWxlXCI6XCJjb25zdCBlbXB0eSA9IFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcblxcbnRyeSB7XFxuICAgIHZhciBjYXRlZ29yaWVzID0gcGRmYShodG1sLCDlpKfnsbvlrprkvY0pLmNvbmNhdChwZGZhKGh0bWwsIOaLvOaOpeWIhuexuykpXFxufSBjYXRjaCAoZSkge1xcbiAgICB2YXIgY2F0ZWdvcmllcyA9IHBkZmEoaHRtbCwg5aSn57G75a6a5L2NKVxcbn1cXG5cXG5sZXQgaW5pdF9jYXRlID0gW11cXG5cXG5mb3IgKGxldCBpID0gMDsgaSA8IDIwOyBpKyspIHtcXG4gICAgaW5pdF9jYXRlLnB1c2goXFxcIjBcXFwiKVxcbn1cXG5cXG5jb25zdCBmb2xkID0gZ2V0TXlWYXIoJ2hlYWRlci5ncm91cCcsIFxcXCIwXFxcIilcXG5jb25zdCBjYXRlX3RlbXBfanNvbiA9IGdldE15VmFyKCdoZWFkZXIuY2F0ZWdvcnknLCBKU09OLnN0cmluZ2lmeShpbml0X2NhdGUpKVxcbmNvbnN0IGNhdGVfdGVtcCA9IEpTT04ucGFyc2UoY2F0ZV90ZW1wX2pzb24pXFxuXFxuaWYgKHBhcnNlSW50KHBhZ2UpID09PSAxKSB7XFxuXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IFxcXCLwn5SNXFxcIixcXG4gICAgdXJsOiBcXFwiJ2hpa2VyOi8vc2VhcmNoP3M9JytpbnB1dCsnJnJ1bGU955yL5aWI6aOeNydcXFwiLFxcbiAgICBjb2xfdHlwZTogXFxcImlucHV0XFxcIixcXG4gICAgZGVzYzogXFxcIuaQnOe0ouS9oOaDs+imgeeahOW9seinhuOAgeWKqOa8q+OAgee7vOiJuuetiS4uLlxcXCIsXFxuICAgIH0pO1xcblxcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IGZvbGQgPT09ICcxJyA/ICfigJzigJzigJ3igJ08Yj48c3BhbiBzdHlsZT1cXFwiY29sb3I6ICNGRjAwMDBcXFwiPvCfkK48L3NwYW4+PC9iPicgOiAn4oCc4oCc4oCd4oCdPGI+PHNwYW4gc3R5bGU9XFxcImNvbG9yOiAjMWFhZDE5XFxcIj7wn5CuPC9zcGFuPjwvYj4nLFxcbiAgICAgICAgdXJsOiAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChmb2xkKSA9PiB7XFxuICAgICAgICAgICAgcHV0TXlWYXIoJ2hlYWRlci5ncm91cCcsIGZvbGQgPT09ICcxJyA/ICcwJyA6ICcxJyk7XFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcbiAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgICAgIH0sIGZvbGQpLFxcbiAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXG4gICAgfSlcXG5cXG5cXG4gICAgY2F0ZWdvcmllcy5mb3JFYWNoKChjYXRlZ29yeSwgaW5kZXgpID0+IHtcXG4gICAgICAgIGxldCBzdWJfY2F0ZWdvcmllcyA9IHBkZmEoY2F0ZWdvcnksIOWwj+exu+WumuS9jSk7XFxuICAgICAgICBpZiAoaW5kZXggPT09IDApIHtcXG4gICAgICAgICAgICBzdWJfY2F0ZWdvcmllcy5mb3JFYWNoKChpdGVtLCBrZXkpID0+IHtcXG4gICAgICAgICAgICAgICAgbGV0IHRpdGxlID0gcGRmaChpdGVtLCDliIbnsbvmoIfpopgpXFxuICAgICAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZToga2V5LnRvU3RyaW5nKCkgPT09IGNhdGVfdGVtcFtpbmRleF0gPyAn4oCc4oCc4oCd4oCdPGI+PHNwYW4gc3R5bGU9XFxcImNvbG9yOiAnICsg5YiG57G76aKc6ImyICsgJ1xcXCI+JyArIHRpdGxlICsgJzwvc3Bhbj48L2I+JyA6IHRpdGxlLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAkKHBkKGl0ZW0sIOWIhuexu+mTvuaOpSkgKyAnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgocGFyYW1zKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5ld19jYXRlID0gW11cXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXMuY2F0ZV90ZW1wLmZvckVhY2goKGNhdGUsIGluZGV4KSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19jYXRlLnB1c2goaW5kZXggPT09IDAgPyBwYXJhbXMua2V5LnRvU3RyaW5nKCkgOiBcXFwiMFxcXCIpXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcignaGVhZGVyLmNhdGVnb3J5JywgSlNPTi5zdHJpbmdpZnkobmV3X2NhdGUpKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKCdoZWFkZXIudXJsJywgaW5wdXQpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UodHJ1ZSlcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICAgICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZV90ZW1wOiBjYXRlX3RlbXAsXFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBrZXksXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZTogcGFnZSxcXG4gICAgICAgICAgICAgICAgICAgIH0pLFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXG4gICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiYmxhbmtfYmxvY2tcXFwiXFxuICAgICAgICAgICAgfSk7XFxuICAgICAgICB9IGVsc2UgaWYgKGZvbGQgPT09ICcxJykge1xcbiAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzLmZvckVhY2goKGl0ZW0sIGtleSkgPT4ge1xcbiAgICAgICAgICAgICAgICBsZXQgdGl0bGUgPSBwZGZoKGl0ZW0sIOWIhuexu+agh+mimClcXG4gICAgICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBrZXkudG9TdHJpbmcoKSA9PT0gY2F0ZV90ZW1wW2luZGV4XSA/ICfigJzigJzigJ3igJ08Yj48c3BhbiBzdHlsZT1cXFwiY29sb3I6ICcgKyDliIbnsbvpopzoibIgKyAnXFxcIj4nICsgdGl0bGUgKyAnPC9zcGFuPjwvYj4nIDogdGl0bGUsXFxuICAgICAgICAgICAgICAgICAgICB1cmw6ICQocGQoaXRlbSwg5YiG57G76ZO+5o6lKSArICcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChwYXJhbXMpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXMuY2F0ZV90ZW1wW3BhcmFtcy5pbmRleF0gPSBwYXJhbXMua2V5LnRvU3RyaW5nKClcXG5cXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcignaGVhZGVyLmNhdGVnb3J5JywgSlNPTi5zdHJpbmdpZnkocGFyYW1zLmNhdGVfdGVtcCkpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0TXlWYXIoJ2hlYWRlci51cmwnLCBpbnB1dClcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSh0cnVlKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgICAgICAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRlX3RlbXA6IGNhdGVfdGVtcCxcXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBrZXksXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZTogcGFnZSxcXG4gICAgICAgICAgICAgICAgICAgIH0pLFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXG4gICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiYmxhbmtfYmxvY2tcXFwiXFxuICAgICAgICAgICAgfSk7XFxuICAgICAgICB9XFxuICAgIH0pXFxufVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi6Kej5p6Q6aG16Z2iXCIsXCJwYXRoXCI6XCJsYXp5XCIsXCJydWxlXCI6XCJ2YXIgbGF6eSA9ICQoJycpLmxhenlSdWxlKCgpID0+IHtcXG4gICAgdmFyIGh0bWwgPSBKU09OLnBhcnNlKHJlcXVlc3QoaW5wdXQpLm1hdGNoKC9yIHBsYXllcl8uKj89KC4qPyk8LylbMV0pXFxuICAgIHZhciB1cmwgPSBodG1sLnVybFxcbiAgIGlmIChodG1sLmVuY3J5cHQgPT0gJzEnKSB7XFxuICAgICAgICB1cmwgPSB1bmVzY2FwZSh1cmwpO1xcbiAgICB9IGVsc2UgaWYgKGh0bWwuZW5jcnlwdCA9PSAnMicpIHtcXG4gICAgICAgIHVybCA9IHVuZXNjYXBlKGJhc2U2NERlY29kZSh1cmwpKTtcXG4gICAgfVxcbmxvZyh1cmwpXFxuaWYgKHVybC5zZWFyY2goL1xcXFwubXA0fFxcXFwuZmx2fFxcXFwubTN1OC8pID4gLTEpIHtcXG4gICAgICAgIHJldHVybiB1cmw7XFxuICAgIH0gZWxzZSB7XFxuICAgIHZhciBqdSA9IHBkKGZldGNoKGlucHV0KSwgJy5wbGF5ZXItYm94JiZzY3JpcHQsMSYmc3JjJyk7XFxuICAgICAgICBldmFsKGZldGNoKGp1KSk7XFxuICAgIHZhciBqeCA9ICBNYWNQbGF5ZXJDb25maWcucGxheWVyX2xpc3RbaHRtbC5mcm9tXS5wYXJzZVxcbiAgICBpZiAoanggPT0gJycpIHtcXG4gICAgICAgICAgICBqeCA9IE1hY1BsYXllckNvbmZpZy5wYXJzZVxcbiAgICAgICAgfVxcbiAgICAgICAgdmFyIGp4dXJsID0ganggKyB1cmw7bG9nKGp4dXJsKX1cXG4gICAgICAgIHNob3dMb2FkaW5nKFxcXCLnvZHpobXop6PmnpDnm7Tov57ll4XmjqLkuK0s6K+356iN5ZCOLi4uXFxcIik7XFxuICAgICAgICB2YXIgdmlkZW8gPSAnd2ViUnVsZTovLycgKyBqeHVybCArICdAJysgJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICAgICAgdmFyIHVybHMgPSBfZ2V0VXJscygpXFxuICAgICAgICAgICAgZm9yICh2YXIgaSBpbiB1cmxzKSB7XFxuICAgICAgICAgICAgICAgIGlmICh1cmxzW2ldLm1hdGNoKC9cXFxcLmZsdnxcXFxcLm1wNHxcXFxcLm0zdTgvKSkge1xcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVybHNbaV07XFxuICAgICAgICAgICAgICAgIH0gXFxuZWxzZSBpZiAodXJsc1tpXS5tYXRjaCgvXFxcXC5mbHYvKSkge1xcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVybHNbaV0gKyAgJzt7UmVmZXJlckBodHRwczovL3d3dy5iaWxpYmlsaS5jb20vJiZVc2VyLUFnZW50QE1vemlsbGEvNS4wfSc7XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcXG4gICAgcmV0dXJuIHZpZGVvXFxufSlcXG5cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuS6jOe6p+mhtemdolwiLFwicGF0aFwiOlwiZWpcIixcInJ1bGVcIjpcImpzOlxcbnZhciBkID0gW107XFxudmFyIGh0bWwgPSBnZXRSZXNDb2RlKCk7XFxuXFxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9sYXp5JykpLnJ1bGUpO1xcbi8v57q/6Lev5ZCN5YiX6KGo55qE5a6a5L2NXFxudmFyIGFydHMgPSBwYXJzZURvbUZvckFycmF5KGh0bWwsICdib2R5JiYubW9kdWxlLXRhYi1pdGVtJyk7XFxuXFxuLy/nur/ot6/lkI3liJfooajlkI3np7DnmoTlrprkvY1cXG52YXIgdGFicyA9IFtdO1xcbmZvciAodmFyIGkgaW4gYXJ0cykge1xcbiAgICB0YWJzLnB1c2gocGFyc2VEb21Gb3JIdG1sKGFydHNbaV0sICdzcGFuJiZUZXh0JykpXFxufVxcblxcbi8v5pKt5pS+5YiX6KGo55qE5YiX6KGo55qE5a6a5L2NXFxudmFyIGNvbnRzID0gcGFyc2VEb21Gb3JBcnJheShodG1sLCAnYm9keSYmLm1vZHVsZS1wbGF5LWxpc3QtY29udGVudCcpO1xcbnZhciBsaXN0cyA9IFtdO1xcbmZvciAodmFyIGkgaW4gY29udHMpIHtcXG4gICAgbGlzdHMucHVzaChwYXJzZURvbUZvckFycmF5KGNvbnRzW2ldLCAnYm9keSYmYScpKVxcbn1cXG5cXG52YXIg5a+85ryUID0gcGFyc2VEb21Gb3JIdG1sKGh0bWwsICcubW9kdWxlLWluZm8tdGFnJiZUZXh0JykucmVwbGFjZSgvXFxcXC8vZywnICcpLnJlcGxhY2UoJyAgJywnJyk7XFxuXFxudmFyIOS4u+a8lCA9IHBhcnNlRG9tRm9ySHRtbChodG1sLCAnLm1vZHVsZS1pbmZvLWl0ZW0sMSYmVGV4dCcpLnJlcGxhY2UoL1xcXFwvL2csJyAnKS5yZXBsYWNlKCcgICcsJycpO1xcblxcbnZhciDmm7TmlrAgPSBwYXJzZURvbUZvckh0bWwoaHRtbCwgJy5tb2R1bGUtaW5mby1pdGVtLDQmJlRleHQnKTtcXG5cXG52YXIg54q25oCBID0gcGFyc2VEb21Gb3JIdG1sKGh0bWwsICcubW9kdWxlLWluZm8taXRlbSwzJiZUZXh0Jyk7XFxuXFxudmFyIOWbvueJhyA9IHBhcnNlRG9tKGh0bWwsICcubGF6eSYmZGF0YS1vcmlnaW5hbCcpO1xcblxcbnZhciDnroDku4sgPSBwYXJzZURvbUZvckh0bWwoaHRtbCwgJy5tb2R1bGUtaW5mby1pbnRyb2R1Y3Rpb24tY29udGVudCYmVGV4dCcpLnJlcGxhY2UoJ1vmlLbotbfpg6jliIZdJywnJyk7XFxuXFxudmFyIENvbG9yID0gXFxcIiNmMTNiNjZhXFxcIjtcXG52YXIgQ29sb3IxID0gXFxcIiMwOThBQzFcXFwiO1xcbmZ1bmN0aW9uIGdldEhlYWQodGl0bGUpIHtcXG4gICAgcmV0dXJuICfigJjigJjigJnigJk8c3Ryb25nPjxmb250IGNvbG9yPVxcXCInICsgQ29sb3IgKyAnXFxcIj4nICsgdGl0bGUgKyAnPC9mcm9udD48L3N0cm9uZz4nO1xcbn1cXG5sZXQgbGluZV9tb2RlbCA9IDg7XFxubGV0IGxpbmVfdHlwZV9tb2RlbCA9ICdibGFua19ibG9jayc7XFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IOWvvOa8lCArICdcXFxcbicgKyDkuLvmvJQsXFxuICAgIGRlc2M6IOabtOaWsCArICdcXFxcbicgKyDnirbmgIEsXFxuICAgIHBpY191cmw6IOWbvueJhyxcXG4gICAgdXJsOk1ZX1VSTCxcXG4gICAgY29sX3R5cGU6ICdtb3ZpZV8xX3ZlcnRpY2FsX3BpY19ibHVyJyxcXG4gICAgZXh0cmE6e2dyYWRpZW50OiB0cnVlfVxcbn0pO1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn4oCY4oCY4oCZ4oCZPHNtYWxsPjxmb250IGNvbG9yPVxcXCIjZmYxNDhlOGVcXFwiPueugOS7i++8micgKyDnroDku4suc3Vic3RyKDAsIDU1KSArICcuLi48L2ZvbnQ+PHNtYWxsPjxmb250IGNvbG9yPVxcXCJyZWRcXFwiPuivpuaDhTwvZm9udD48L3NtYWxsPjwvc21hbGw+JyxcXG4gICAgdXJsOiAnaGlrZXI6Ly9lbXB0eSMnICsgJ1xcXFxuJyArIOeugOS7iyArIGBAcnVsZT1qczp2YXIgcmVzID0ge307IHZhciBkID0gW107ZC5wdXNoKHt0aXRsZTon5b2x54mH566A5LuL77yaJysgTVlfVVJMLnNwbGl0KCdoaWtlcjovL2VtcHR5IycpWzFdLGNvbF90eXBlOiAnbG9uZ190ZXh0J30pO3Jlcy5kYXRhID0gZDsgc2V0SG9tZVJlc3VsdChyZXMpO2AsXFxuICAgIGNvbF90eXBlOiAndGV4dF8xJ1xcbn0pO1xcblxcblxcbmZvciAobGV0IGkgPSAwOyBpIDwgbGluZV9tb2RlbDsgaSsrKSB7XFxuICAgIGQucHVzaCh7XFxuICAgICAgICBjb2xfdHlwZTogbGluZV90eXBlX21vZGVsXFxuICAgIH0pXFxufVxcbmZ1bmN0aW9uIHNldFRhYnModGFicywgdmFyaSkge1xcbiAgICBmb3IgKHZhciBpIGluIHRhYnMpIHtcXG4gICAgICAgIHZhciB1cmwgPSBcXFwiI25vTG9hZGluZyNAbGF6eVJ1bGU9LmpzOnB1dFZhcignXFxcIiArIHZhcmkgKyBcXFwiJywgJ1xcXCIgKyBpICsgXFxcIicpO3JlZnJlc2hQYWdlKGZhbHNlKTsndG9hc3Q6Ly/liIfmjaLmiJDlip/vvIEnOycjbm9IaXN0b3J5I2hpa2VyOi8vZW1wdHknXFxcIjtcXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IGdldFZhcih2YXJpLCAnMCcpID09IGkgPyBnZXRIZWFkKHRhYnNbaV0pIDogdGFic1tpXSxcXG4gICAgICAgICAgICB1cmw6IHVybCxcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nXFxuICAgICAgICB9KVxcbiAgICB9XFxuICAgIFxcbn1cXG5mdW5jdGlvbiBzZXRMaXN0cyhsaXN0cywgaW5kZXgpIHtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIGNvbF90eXBlOiAnbGluZV9ibGFuaydcXG4gICAgfSlcXG59XFxuaWYgKGdldFZhcignc2hzb3J0JykgPT0gJzAnKSB7XFxuICAgIHZhciBzeCA9ICfigJjigJjigJnigJk8Zm9udCBjb2xvcj1cXFwiIzY2MzlhNlxcXCI+5o6S5bqPPC9mb250Pjwvc21hbGw+JyArICc8c21hbGw+PGZvbnQgY29sb3I9XFxcIiNmNjQxNmNcXFwiPuKGkTwvZm9udD48L3NtYWxsPicgKyAnPHNtYWxsPjxmb250IGNvbG9yPVxcXCIjMmIyZTRhXFxcIj7ihpM8L2ZvbnQ+PC9zbWFsbD4nO1xcbn0gZWxzZSB7XFxuICAgIHZhciBzeCA9ICfigJjigJjigJnigJk8Zm9udCBjb2xvcj1cXFwiIzBhYTM0NFxcXCI+5o6S5bqPPC9mb250Pjwvc21hbGw+JyArICc8c21hbGw+PGZvbnQgY29sb3I9XFxcIiMyYjJlNGFcXFwiPuKGkTwvZm9udD48L3NtYWxsPicgKyAnPHNtYWxsPjxmb250IGNvbG9yPVxcXCIjZjY0MTZjXFxcIj7ihpM8L2ZvbnQ+PC9zbWFsbD4nO1xcbn1cXG5cXG52YXIgQ29sb3IgPSBcXFwiIzM0OTBkZVxcXCI7XFxudmFyIENvbG9yMSA9IFxcXCIjZWE1NDU1XFxcIjtcXG5cXG5mdW5jdGlvbiBzZXRMaXN0cyhsaXN0cywgaW5kZXgpIHtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiAn4oCY4oCY4oCZ4oCZPHNwYW4gc3R5bGU9XFxcImNvbG9yOicgKyBDb2xvcjEgKyAnXFxcIj48c21hbGw+6YCJ6ZuG5YiX6KGoPC9zbWFsbD4nICsgJ1xcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHQ8c3BhbiBzdHlsZT1cXFwiZmxvYXQ6cmlnaHRcXFwiPicgKyAnPHNtYWxsPicgKyBzeCArICc8L3NtYWxsPicsXFxuICAgICAgICB1cmw6IGAjbm9Mb2FkaW5nI0BsYXp5UnVsZT0uanM6bGV0IGNvbmYgPSBnZXRWYXIoJ3Noc29ydCcpO2lmKGNvbmY9PScxJyl7cHV0VmFyKHtrZXk6J3Noc29ydCcsIHZhbHVlOicwJ30pO31lbHNle3B1dFZhcih7a2V5OidzaHNvcnQnLCB2YWx1ZTonMSd9KX07cmVmcmVzaFBhZ2UoKTsndG9hc3Q6Ly/liIfmjaLmjpLluo/miJDlip8nOycjbm9IaXN0b3J5I2hpa2VyOi8vZW1wdHknYCxcXG4gICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMSdcXG4gICAgfSlcXG4gICAgdmFyIGxpc3QgPSBsaXN0c1tpbmRleF07XFxuXFxuICAgIGlmIChnZXRWYXIoJ3Noc29ydCcpID09ICcxJykge1xcbiAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICBmb3IgKHZhciBqID0gbGlzdC5sZW5ndGggLSAxOyBqID49IDA7IGotLSkge1xcbiAgICAgICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHBhcnNlRG9tRm9ySHRtbChsaXN0W2pdLCAnYSYmVGV4dCcpLnJlcGxhY2UoL+esrHzpm4Z86K+dfOacny9nLCAnJyksXFxuICAgICAgICAgICAgICAgICAgICB1cmw6cGFyc2VEb20obGlzdFtqXSwgJ2EmJmhyZWYnKStsYXp5LFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6IGxpc3QubGVuZ3RoID4gMyA/ICd0ZXh0XzQnIDogJ3RleHRfMidcXG4gICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiAn5rKh5pyJ6YCJ6ZuG5ZOf77yM5LiN5L+h54K55Zu+54mH5Y6755yL55yL8J+RgCcsXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMSdcXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBsaXN0Lmxlbmd0aDsgaisrKSB7XFxuICAgICAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogcGFyc2VEb21Gb3JIdG1sKGxpc3Rbal0sICdhJiZUZXh0JykucmVwbGFjZSgv56ysfOmbhnzor5185pyfL2csICcnKSxcXG4gICAgICAgICAgICAgICAgICAgIHVybDpwYXJzZURvbShsaXN0W2pdLCAnYSYmaHJlZicpICtsYXp5LGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgICAgICBibG9ja1J1bGVzOiBbJy5jc3MnLCAnLmdpZicsICcuanBnJywgJy5qcGVnJywgJy5wbmcnLCAnLmljbycsICcuc3ZnJywgJy5tM3U4JywgJy5tcDQnXVxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6IGxpc3QubGVuZ3RoID4gMyA/ICd0ZXh0XzQnIDogJ3RleHRfMidcXG4gICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiAn5rKh5pyJ6YCJ6ZuG5ZOf77yM5LiN5L+h54K55Zu+54mH5Y6755yL55yL8J+RgCcsXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMSdcXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgIH1cXG5cXG4gICAgfVxcbn1cXG5zZXRUYWJzKHRhYnMsIE1ZX1VSTCk7XFxuc2V0TGlzdHMobGlzdHMsIGdldFZhcihNWV9VUkwsICcwJykpO1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAnPGJyPicsXFxuICAgIGNvbF90eXBlOiAncmljaF90ZXh0J1xcbn0pO1xcbnNldFJlc3VsdChkKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNfbWFycXVlZVwiLFwibmFtZVwiOlwi5a+86Iiq6aG16Z2iXCIsXCJwYXRoXCI6XCJjYXRlZ29yeVwiLFwicnVsZVwiOlwianM6XFxudmFyIGQgPSBbXTtcXG5jb25zdCBiYXNlX3VybCA9ICdodHRwczovL3d3dy5rYW5ldGZsaXguY29tL3ZvZHNob3cvLS0tLS0tLS0tLS0vaWQvMi9wYWdlLzIuaHRtbCc7XFxudmFyIGdldFJhbmdlQ29sb3JzID0gZnVuY3Rpb24oKSB7wqDCoMKgwqDCoMKgwqBcXG4gICAgcmV0dXJuICcjJyArICgnMDAwMDAnICsgKE1hdGgucmFuZG9tKCkgKiAweDEwMDAwMDAgPDwgMCkudG9TdHJpbmcoMTYpKS5zdWJzdHIoLTYpO8KgwqDCoMKgwqBcXG59XFxuY29uc3Qg5YiG57G76aKc6ImyID0gZ2V0UmFuZ2VDb2xvcnMoKVxcbmNvbnN0IOWkp+exu+WumuS9jSA9ICdib2R5JiYubmF2YmFyLWl0ZW1zJ1xcbmNvbnN0IOWwj+exu+WumuS9jSA9ICdib2R5JiZhOm5vdCg6bWF0Y2hlcyjpppZ8QVBQKSknXFxuY29uc3Qg5ou85o6l5YiG57G7ID0gJ2JvZHkmJi5tb2R1bGUtY2xhc3MtaXRlbXMnXFxuY29uc3Qg5ou85o6l5YiG57G7MiA9ICdib2R5JiYubmF2J1xcbmNvbnN0IOaLvOaOpeWumuS9jSA9ICdib2R5JiZhJ1xcbmNvbnN0IOWIhuexu+agh+mimCA9ICdhJiZUZXh0J1xcbmNvbnN0IOWIhuexu+mTvuaOpSA9ICdhJiZocmVmJ1xcbk1ZX1VSTD1iYXNlX3VybDtcXG5sZXQgdHJ1ZV91cmwgPSBnZXRNeVZhcignaGVhZGVyLnVybCcsIE1ZX1VSTCk7XFxuY29uc3QgcGFnZSA9IE1ZX1BBR0U7XFxuaWYoZ2V0TXlWYXIoJ2hlYWRlci51cmwnKSl7XFxudHJ1ZV91cmwgPSB0cnVlX3VybC5yZXBsYWNlKC92b2R0eXBlXFxcXC8oLio/KVxcXFwuaHRtbC8sICd2b2RzaG93Ly0tLS0tLS0tLS0tL2lkLyQxLmh0bWwnKVxcbiAgICAgICAgLnJlcGxhY2UoJy5odG1sJywgJy9wYWdlLycgKyBwYWdlICsgJy5odG1sJyl9O1xcblxcblxcbi8vbG9nKHRydWVfdXJsKTtcXG52YXIgaHRtbCA9IGZldGNoKHRydWVfdXJsLCB7XFxuICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICdVc2VyLUFnZW50JzogTU9CSUxFX1VBXFxuICAgIH1cXG59KTtcXG4vL2xvZyhodG1sKTtcXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2R0JykpLnJ1bGUpO1xcbmNvbnN0IGxpc3QgPSBwZGZhKGh0bWwsICdib2R5JiZhOmhhcygubW9kdWxlLWl0ZW0tcGljKScpXFxubGlzdC5mb3JFYWNoKGl0ZW0gPT4geyAgXFxudmFyIHVybGwgPXBkKGl0ZW0sICdhJiZocmVmJykgKyAnI2ltbWVyc2l2ZVRoZW1lIyc7XFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogcGRmaChpdGVtLCAnYSYmdGl0bGUnKSxcXG4gICAgICAgIGRlc2M6IHBkZmgoaXRlbSwgJy5tb2R1bGUtaXRlbS10ZXh0fHwubW9kdWxlLWl0ZW0tbm90ZSYmVGV4dCcpLFxcbiAgICAgICAgaW1nOiBwZChpdGVtLCAnaW1nfHwubGF6eSYmZGF0YS1zcmN8fGRhdGEtb3JpZ2luYWwnKSArIFxcXCJAUmVmZXJlcj1cXFwiLFxcbiAgICAgICAgdXJsOiAnaGlrZXI6Ly9wYWdlL2VqI25vSGlzdG9yeSMjaW1tZXJzaXZlVGhlbWUjJyxcXG4gICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgdXJsOiB1cmxsLFxcbiAgICAgICAgfSxcXG4gICAgICAgIGNvbF90eXBlOiAnbW92aWVfM19tYXJxdWVlJyxcXG4gICAgfSlcXG59KVxcbnNldFJlc3VsdChkKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuaQnOe0oumhtemdolwiLFwicGF0aFwiOlwic3NcIixcInJ1bGVcIjpcImpzOlxcbnZhciBkID0gW107XFxuTVlfVVJMID0gTVlfVVJMLnNwbGl0KCcjIycpO1xcbmNvbnN0IGhvc3QgPSBNWV9VUkxbMV07XFxudmFyIGh0bWwgPSBmZXRjaChob3N0LCB7XFxuICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICdVc2VyLUFnZW50JzogTU9CSUxFX1VBXFxuICAgIH1cXG59KTtcXG5cXG52YXIgSWNvbl9wcmVmaXggPSAnaHR0cHM6Ly9sYW5tZWlndW9qaWFuZy5jb20vdHViaWFvL21vcmUvJztcXG5cXG5kLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiAn6L+U5ZueJyxcXG4gICAgICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgoKSA9PiB7XFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKCk7ICAgICBcXG4gICAgICAgICAgICAgICAgYmFjayhmYWxzZSlcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly/ov5Tlm57op4TliJnpppbpobVcXFwiICBcXG4gICAgICAgICAgICB9KSxcXG4gICAgICAgICAgICBwaWNfdXJsOiBJY29uX3ByZWZpeCArICc0Ny5wbmcnKyBcXFwiQFJlZmVyZXI9XFxcIixcXG4gICAgICAgICAgICBjb2xfdHlwZTogXFxcImljb25fc21hbGxfM1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXG4gICAgICAgIH0pO1xcblxcblxcbmQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6ICfnrZvpgIknLFxcbiAgICAgICAgICAgIHVybDogJ2hpa2VyOi8vcGFnZS9jYXRlZ29yeT9wYWdlPWZ5cGFnZSNub0hpc3RvcnkjJyxcXG4gICAgICAgICAgICBwaWNfdXJsOiBJY29uX3ByZWZpeCArICcyMTMucG5nJyArIFxcXCJAUmVmZXJlcj1cXFwiLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiaWNvbl9zbWFsbF8zXFxcIlxcbiAgICAgICAgfSk7XFxuXFxuZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogJ+WOhuWPsicsXFxuICAgICAgICAgICAgdXJsOiAnaGlrZXI6Ly9oaXN0b3J5JyxcXG4gICAgICAgICAgICBwaWNfdXJsOiBJY29uX3ByZWZpeCArICcxOTIucG5nJyArIFxcXCJAUmVmZXJlcj1cXFwiLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiaWNvbl9zbWFsbF8zXFxcIlxcbiAgICAgICAgfSk7XFxuXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IFxcXCLwn5SNXFxcIixcXG4gICAgdXJsOiBcXFwiJ2hpa2VyOi8vc2VhcmNoP3M9JytpbnB1dCsnJnJ1bGU95LqR55uY5rGH5b2xJ1xcXCIsXFxuICAgIGNvbF90eXBlOiBcXFwiaW5wdXRcXFwiLFxcbiAgICBkZXNjOiBcXFwi6LCD55So5LqR55uY5rGH5b2x5pCc57SiXFxcIixcXG59KTtcXG4gICBcXG5zZXRSZXN1bHQoZCk7XCJ9XSIsImljb24iOiJodHRwczovL3AwLm1laXR1YW4ubmV0L2RwcGxhdGZvcm0vNDcyYjc3MTliZjhkYWE5MWEyODg4ZTg3NWM1YzFkNTE1NjAwLnBuZyIsInByb3h5IjoiIn0=
Add Comment
Please, Sign In to add comment