{"remainingRequest":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\ljzc-fvue\\src\\views\\PublicWelfareAssets\\HomePage\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\src\\views\\PublicWelfareAssets\\HomePage\\index.vue","mtime":1703146860948},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQoNCmltcG9ydCAqIGFzIGVjaGFydHMgZnJvbSAnZWNoYXJ0cycNCmltcG9ydCB1dGlscyBmcm9tICdAL3V0aWxzLmpzJw0KaW1wb3J0IFB1YmxpY1RpdGxlIGZyb20gJ0AvY29tcG9uZW50cy9QdWJsaWNUaXRsZS9pbmRleCcNCmltcG9ydCBhcGkgZnJvbSAnQC9hcGkvYXNzZXRzT3BlcmF0aW5nL2Fzc2V0c09wZXJhdGluZy5qcycNCmV4cG9ydCBkZWZhdWx0IHsNCiAgbmFtZTogJ0hvbWVQYWdlJywgLy8g6aaW6aG1DQogIGNvbXBvbmVudHM6IHsNCiAgICBQdWJsaWNUaXRsZSwNCiAgfSwNCiAgZGF0YSgpIHsNCiAgICByZXR1cm4gew0KICAgICAgY29sb3JMaXN0OiBbJyM1NWVkYjAnLCAnIzAwZDRmZicsICcjYzY3OWU1JywgJyMxOThjZmYnXSwNCiAgICAgIGRhdGFMaXN0OiBbDQogICAgICAgIHsNCiAgICAgICAgICBuYW1lOiAn5ZWG5Lia55So5ZywJywNCiAgICAgICAgICB2YWx1ZTogJzEyJScsDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICBuYW1lOiAn5L2P5a6F55So5ZywJywNCiAgICAgICAgICB2YWx1ZTogJzYlJywNCiAgICAgICAgfSwNCiAgICAgIF0sDQogICAgICB0b3BTdGF0aXN0aWNzOiB7fSwvL+mhtumDqOe7n+iuoQ0KICAgICAgb3duZXJzaGlwRGF0YTogW10sLy/mnYPlsZ4NCiAgICAgIHN0YXRzRGF0YTogW10sLy/lsZ7mgKcNCiAgICAgIGNvbW1lcmNpYWxEYXRhOiBbXSwvL+S4muaAgQ0KICAgICAgc291cmNlRGF0YTogW10sLy/mnaXmupANCiAgICAgIHN0YXR1c0RhdGE6IFtdLC8v54q25oCBDQogICAgICB0eXBlRGF0YTogW10sLy/nsbvlnosNCiAgICAgIHZhbHVlMjonMjAyMycNCiAgICB9DQogIH0sDQogIHdhdGNoOiB7fSwNCiAgY3JlYXRlZCgpIHsNCiAgICB0aGlzLmJlbG9uZ1N0YXRpc3RpY3MoKQ0KICAgIHRoaXMubmF0dXJlU3RhdGlzdGljcygpDQogICAgdGhpcy5zb3VyY2VTdGF0aXN0aWNzKCkNCiAgICB0aGlzLnN0YXR1c1N0YXRpc3RpY3MoKQ0KICAgIHRoaXMudHlwZVN0YXRpc3RpY3MoKQ0KICAgIHRoaXMuZ2V0UHJvamVjdEluaXQoKQ0KICB9LA0KICBtb3VudGVkKCkgew0KDQogIH0sDQogIG1ldGhvZHM6IHsNCiAgICAvL+Wtl+WFuOe/u+ivkQ0KICAgIGdldERpY3ROYW1lKGNvZGUsIHZhbHVlKSB7DQogICAgICByZXR1cm4gdXRpbHMuZ2V0RGljdE5hbWUoY29kZSwgdmFsdWUpDQogICAgfSwNCiAgICBiZWxvbmdTdGF0aXN0aWNzKCkgew0KICAgICAgLy8gYXBpLmJlbG9uZ1N0YXRpc3RpY3Moe30sIHJlcyA9PiB7DQogICAgICAvLyAgIGlmIChyZXMuc3RhdGUpIHsNCiAgICAgIC8vICAgICB0aGlzLm93bmVyc2hpcERhdGEgPSByZXMudmFsdWUNCiAgICAgIC8vICAgfQ0KICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4gew0KICAgICAgICB0aGlzLmluaXRPd25lcnNoaXBDaGF0KCkNCiAgICAgIH0pDQogICAgICAvLyB9KQ0KICAgIH0sDQogICAgbmF0dXJlU3RhdGlzdGljcygpIHsNCiAgICAgIC8vIGFwaS5uYXR1cmVTdGF0aXN0aWNzKHt9LCByZXMgPT4gew0KICAgICAgLy8gICBpZiAocmVzLnN0YXRlKSB7DQogICAgICAvLyAgICAgdGhpcy5zdGF0c0RhdGEgPSByZXMudmFsdWUNCiAgICAgIC8vICAgfQ0KICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4gew0KICAgICAgICB0aGlzLmluaXRTdGF0c0NoYXQoKQ0KICAgICAgfSkNCiAgICAgIC8vIH0pDQogICAgfSwNCiAgICBzb3VyY2VTdGF0aXN0aWNzKCkgew0KICAgICAgLy8gYXBpLnNvdXJjZVN0YXRpc3RpY3Moe30sIHJlcyA9PiB7DQogICAgICAvLyAgIGlmIChyZXMuc3RhdGUpIHsNCiAgICAgIC8vICAgICB0aGlzLnNvdXJjZURhdGEgPSByZXMudmFsdWUNCiAgICAgIC8vICAgfQ0KICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4gew0KICAgICAgICB0aGlzLmluaXRDaGF0KCkNCiAgICAgIH0pDQogICAgICAvLyB9KQ0KICAgIH0sDQogICAgc3RhdHVzU3RhdGlzdGljcygpIHsNCiAgICAgIC8vIGFwaS5zdGF0dXNTdGF0aXN0aWNzKHt9LCByZXMgPT4gew0KICAgICAgLy8gICBpZiAocmVzLnN0YXRlKSB7DQogICAgICAvLyAgICAgdGhpcy5zdGF0dXNEYXRhID0gcmVzLnZhbHVlDQogICAgICAvLyAgIH0NCiAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHsNCiAgICAgICAgdGhpcy5pbml0U291cmNlQ2hhdCgpDQogICAgICB9KQ0KICAgICAgLy8gfSkNCiAgICB9LA0KICAgIHR5cGVTdGF0aXN0aWNzKCkgew0KICAgICAgLy8gYXBpLnR5cGVTdGF0aXN0aWNzKHt9LCByZXMgPT4gew0KICAgICAgLy8gICBpZiAocmVzLnN0YXRlKSB7DQogICAgICAvLyAgICAgdGhpcy50eXBlRGF0YSA9IHJlcy52YWx1ZQ0KICAgICAgLy8gICB9DQogICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7DQogICAgICAgIHRoaXMuaW5pdFR5cGVDaGF0KCkNCiAgICAgIH0pDQogICAgICAvLyB9KQ0KICAgIH0sDQogICAgZ2V0UHJvamVjdEluaXQoKSB7DQogICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7DQogICAgICAgIHRoaXMucHJvamVjdEluaXQoKQ0KICAgICAgfSkNCiAgICB9LA0KICAgIC8v6LWE5Lqn5bu66K6+5oOF5Ya1DQogICAgaW5pdE93bmVyc2hpcENoYXQoKSB7DQogICAgICBsZXQgZWNoYXJ0c0RhdGEgPSBbDQogICAgICAgIHsNCiAgICAgICAgICBuYW1lOiAn5bey5bu65oiQ6KeE5qihJywNCiAgICAgICAgICB2YWx1ZTogJzUnLA0KICAgICAgICAgIGl0ZW1TdHlsZTogew0KICAgICAgICAgICAgY29sb3I6ICcjNTVFREIwJywNCiAgICAgICAgICB9LA0KICAgICAgICB9LCB7DQogICAgICAgICAgbmFtZTogJ+WcqOW7uuinhOaooScsDQogICAgICAgICAgdmFsdWU6ICcxNScsDQogICAgICAgICAgaXRlbVN0eWxlOiB7DQogICAgICAgICAgICBjb2xvcjogJyMwMEQ0RkYnLA0KICAgICAgICAgIH0sDQogICAgICAgIH0NCiAgICAgIF0NCiAgICAgIC8vIHRoaXMub3duZXJzaGlwRGF0YS5mb3JFYWNoKChlLCBpbmRleCkgPT4gew0KICAgICAgLy8gICBlY2hhcnRzRGF0YS5wdXNoKHsNCiAgICAgIC8vICAgICBuYW1lOiB0aGlzLmdldERpY3ROYW1lKCd4bWdzJywgZS5hc3NldEJlbG9uZyksDQogICAgICAvLyAgICAgdmFsdWU6IGUuY291bnQsDQogICAgICAvLyAgICAgaXRlbVN0eWxlOiB7DQogICAgICAvLyAgICAgICBjb2xvcjogdGhpcy5jb2xvckxpc3RbaW5kZXhdLA0KICAgICAgLy8gICAgIH0sDQogICAgICAvLyAgIH0pDQogICAgICAvLyB9KQ0KICAgICAgbGV0IGNoYXJ0RG9tID0gZWNoYXJ0cy5pbml0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvd25lcnNoaXAtY2hhcnQnKSkNCiAgICAgIGxldCBvcHRpb24gPSB7DQogICAgICAgIHRvb2x0aXA6IHsNCiAgICAgICAgICB0cmlnZ2VyOiAnaXRlbScsDQogICAgICAgIH0sDQogICAgICAgIGxlZ2VuZDogew0KICAgICAgICAgIG9yaWVudDogJ3ZlcnRpY2FsJywNCiAgICAgICAgICB0b3A6ICdtaWRkbGUnLA0KICAgICAgICAgIHJpZ2h0OiA5MCwNCiAgICAgICAgICBzZWxlY3RlZE1vZGU6IGZhbHNlDQogICAgICAgIH0sDQogICAgICAgIHNlcmllczogWw0KDQogICAgICAgICAgew0KICAgICAgICAgICAgbmFtZTogJ+mdouenrycsDQogICAgICAgICAgICB0eXBlOiAncGllJywNCiAgICAgICAgICAgIHJhZGl1czogWyc1NSUnLCAnNjclJ10sDQogICAgICAgICAgICBjZW50ZXI6IFsnMzUlJywgJzQ4LjQlJ10sDQogICAgICAgICAgICBhdm9pZExhYmVsT3ZlcmxhcDogZmFsc2UsDQogICAgICAgICAgICBpdGVtU3R5bGU6IHsNCiAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6ICcjZmZmJywNCiAgICAgICAgICAgICAgYm9yZGVyV2lkdGg6IDIsDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgbGFiZWw6IHsNCiAgICAgICAgICAgICAgc2hvdzogZmFsc2UsDQogICAgICAgICAgICAgIHBvc2l0aW9uOiAnY2VudGVyJywNCiAgICAgICAgICAgIH0sDQoNCiAgICAgICAgICAgIGVtcGhhc2lzOiB7DQogICAgICAgICAgICAgIGxhYmVsOiB7DQogICAgICAgICAgICAgICAgc2hvdzogdHJ1ZSwNCiAgICAgICAgICAgICAgICBmb250U2l6ZTogMzAsDQogICAgICAgICAgICAgICAgZm9ybWF0dGVyOiBmdW5jdGlvbiAocGFyYW1zKSB7DQogICAgICAgICAgICAgICAgICByZXR1cm4gWw0KICAgICAgICAgICAgICAgICAgICAne251bXwnICsNCiAgICAgICAgICAgICAgICAgICAgcGFyYW1zLnZhbHVlICsNCiAgICAgICAgICAgICAgICAgICAgJ30nICsNCiAgICAgICAgICAgICAgICAgICAgJ3t1bml0fOS4qn0nLA0KICAgICAgICAgICAgICAgICAgICAne2xhYmVsfCcgKyBwYXJhbXMubmFtZSArICd9JywNCiAgICAgICAgICAgICAgICAgIF0uam9pbignXG4nKQ0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgcmljaDogew0KICAgICAgICAgICAgICAgICAgbnVtOiB7DQogICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAzMCwNCiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjMDAwJywNCiAgICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogMzAsDQogICAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDcwMCwNCiAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICB1bml0OiB7DQogICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAxNCwNCiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjMTExJywNCiAgICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogMzAsDQogICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IFswLCA1XSwNCiAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICBsYWJlbDogew0KICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogMjAsDQogICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDMwLA0KICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyM0NDQnLA0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGxhYmVsTGluZTogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBkYXRhOiBlY2hhcnRzRGF0YSwNCiAgICAgICAgICB9LA0KICAgICAgICAgIHsNCiAgICAgICAgICAgIHR5cGU6ICdwaWUnLA0KICAgICAgICAgICAgcmFkaXVzOiBbJzUwJScsICc1MCUnXSwNCiAgICAgICAgICAgIGNlbnRlcjogWyczNSUnLCAnNDguNCUnXSwNCiAgICAgICAgICAgIGhvdmVyQW5pbWF0aW9uOiBmYWxzZSwNCiAgICAgICAgICAgIGNsb2NrV2lzZTogZmFsc2UsDQogICAgICAgICAgICBjdXJzb3I6ICdkZWZhdWx0JywNCiAgICAgICAgICAgIGl0ZW1TdHlsZTogew0KICAgICAgICAgICAgICBub3JtYWw6IHsNCiAgICAgICAgICAgICAgICBib3JkZXJXaWR0aDogMiwNCiAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogJyNlYWVhZWEnLA0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHRvb2x0aXA6IHsNCiAgICAgICAgICAgICAgc2hvdzogZmFsc2UsDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgbGFiZWw6IHsNCiAgICAgICAgICAgICAgc2hvdzogZmFsc2UsDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZGF0YTogWzEwMF0sDQogICAgICAgICAgfSwNCiAgICAgICAgICB7DQogICAgICAgICAgICB0eXBlOiAnZ2F1Z2UnLA0KICAgICAgICAgICAgcmFkaXVzOiAnOTglJywNCiAgICAgICAgICAgIGNlbnRlcjogWyczNSUnLCAnNDguNCUnXSwNCiAgICAgICAgICAgIGNsb2Nrd2lzZTogdHJ1ZSwNCiAgICAgICAgICAgIHN0YXJ0QW5nbGU6ICcxMDAnLA0KICAgICAgICAgICAgZW5kQW5nbGU6ICctMjY5Ljk5OTknLA0KICAgICAgICAgICAgc3BsaXROdW1iZXI6IDIwMCwgLy/nur/nmoTmnaHmlbANCiAgICAgICAgICAgIHBvaW50ZXI6IHsNCiAgICAgICAgICAgICAgc2hvdzogZmFsc2UsDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgYXhpc0xpbmU6IHsNCiAgICAgICAgICAgICAgc2hvdzogZmFsc2UsDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgYXhpc1RpY2s6IHsNCiAgICAgICAgICAgICAgc2hvdzogZmFsc2UsDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdG9vbHRpcDogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzcGxpdExpbmU6IHsNCiAgICAgICAgICAgICAgc2hvdzogdHJ1ZSwNCiAgICAgICAgICAgICAgbGVuZ3RoOiAxNSwNCiAgICAgICAgICAgICAgbGluZVN0eWxlOiB7DQogICAgICAgICAgICAgICAgY29sb3I6ICcjZWFlYWVhJywNCiAgICAgICAgICAgICAgICB3aWR0aDogMSwNCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBheGlzTGFiZWw6IHsNCiAgICAgICAgICAgICAgc2hvdzogZmFsc2UsDQogICAgICAgICAgICB9LA0KICAgICAgICAgIH0sDQogICAgICAgICAgew0KICAgICAgICAgICAgdHlwZTogJ2dhdWdlJywNCiAgICAgICAgICAgIHJhZGl1czogJzgzLjUlJywNCiAgICAgICAgICAgIGNlbnRlcjogWyczNSUnLCAnNDguNCUnXSwNCiAgICAgICAgICAgIGNsb2Nrd2lzZTogdHJ1ZSwNCiAgICAgICAgICAgIHN0YXJ0QW5nbGU6ICcxMDAnLA0KICAgICAgICAgICAgZW5kQW5nbGU6ICctMjY5Ljk5OTknLA0KICAgICAgICAgICAgc3BsaXROdW1iZXI6IDE0MCwgLy/nur/nmoTmnaHmlbANCiAgICAgICAgICAgIHBvaW50ZXI6IHsNCiAgICAgICAgICAgICAgc2hvdzogZmFsc2UsDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgYXhpc0xpbmU6IHsNCiAgICAgICAgICAgICAgc2hvdzogZmFsc2UsDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgYXhpc1RpY2s6IHsNCiAgICAgICAgICAgICAgc2hvdzogZmFsc2UsDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdG9vbHRpcDogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzcGxpdExpbmU6IHsNCiAgICAgICAgICAgICAgc2hvdzogdHJ1ZSwNCiAgICAgICAgICAgICAgbGVuZ3RoOiAxLA0KICAgICAgICAgICAgICBsaW5lU3R5bGU6IHsNCiAgICAgICAgICAgICAgICBjb2xvcjogJyNlYWVhZWEnLA0KICAgICAgICAgICAgICAgIHdpZHRoOiAyLA0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGF4aXNMYWJlbDogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgfSwNCiAgICAgICAgXSwNCiAgICAgIH0NCiAgICAgIGNoYXJ0RG9tLnNldE9wdGlvbihvcHRpb24pDQogICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgKCkgPT4gew0KICAgICAgICBjaGFydERvbS5yZXNpemUoKQ0KICAgICAgfSkNCiAgICAgIGhhbmRsZUNoYXJ0TG9vcChvcHRpb24sIGNoYXJ0RG9tKTsNCiAgICAgIC8vIOmlvOWbvuiHquWKqOi9ruaSrQ0KICAgICAgZnVuY3Rpb24gaGFuZGxlQ2hhcnRMb29wKG9wdGlvbiwgbXlDaGFydCkgew0KICAgICAgICBpZiAoIW15Q2hhcnQpIHsNCiAgICAgICAgICByZXR1cm4NCiAgICAgICAgfQ0KICAgICAgICBsZXQgY3VycmVudEluZGV4ID0gMCAvLyDlvZPliY3pq5jkuq7lm77lvaLlnKjppbzlm77mlbDmja7kuK3nmoTkuIvmoIcNCiAgICAgICAgaGlnaGxpZ2h0UGllKCkNCiAgICAgICAgLy8g5Y+W5raI5omA5pyJ6auY5Lqu5bm26auY5Lqu5b2T5YmN5Zu+5b2iDQogICAgICAgIGZ1bmN0aW9uIGhpZ2hsaWdodFBpZSgpIHsNCiAgICAgICAgICAvLyDpgY3ljobppbzlm77mlbDmja7vvIzlj5bmtojmiYDmnInlm77lvaLnmoTpq5jkuq7mlYjmnpwNCiAgICAgICAgICBmb3IgKHZhciBpZHggaW4gb3B0aW9uLnNlcmllc1swXS5kYXRhKSB7DQogICAgICAgICAgICBteUNoYXJ0LmRpc3BhdGNoQWN0aW9uKHsNCiAgICAgICAgICAgICAgdHlwZTogJ2Rvd25wbGF5JywNCiAgICAgICAgICAgICAgc2VyaWVzSW5kZXg6IDAsDQogICAgICAgICAgICAgIGRhdGFJbmRleDogaWR4DQogICAgICAgICAgICB9KQ0KICAgICAgICAgIH0NCiAgICAgICAgICAvLyDpq5jkuq7lvZPliY3lm77lvaINCiAgICAgICAgICBteUNoYXJ0LmRpc3BhdGNoQWN0aW9uKHsNCiAgICAgICAgICAgIHR5cGU6ICdoaWdobGlnaHQnLA0KICAgICAgICAgICAgc2VyaWVzSW5kZXg6IDAsDQogICAgICAgICAgICBkYXRhSW5kZXg6IGN1cnJlbnRJbmRleA0KICAgICAgICAgIH0pDQogICAgICAgIH0NCiAgICAgICAgLy8gLy8g55So5oi36byg5qCH5oKs5rWu5Yiw5p+Q5LiA5Zu+5b2i5pe277yM5YGc5q2i6Ieq5Yqo5YiH5o2i5bm26auY5Lqu6byg5qCH5oKs5rWu55qE5Zu+5b2iDQogICAgICAgIG15Q2hhcnQub24oJ21vdXNlb3ZlcicsIChwYXJhbXMpID0+IHsNCiAgICAgICAgICBpZiAocGFyYW1zLmNvbXBvbmVudFR5cGUgPT0gJ2dyYXBoaWMnKSB7DQogICAgICAgICAgICByZXR1cm4NCiAgICAgICAgICB9DQogICAgICAgICAgY3VycmVudEluZGV4ID0gcGFyYW1zLmRhdGFJbmRleA0KICAgICAgICAgIGhpZ2hsaWdodFBpZSgpDQogICAgICAgIH0pDQogICAgICB9DQogICAgfSwNCiAgICAvL+i1hOS6p+S9v+eUqOaDheWGtQ0KICAgIGluaXRTdGF0c0NoYXQoKSB7DQogICAgICBsZXQgZWNoYXJ0c0RhdGEgPSBbDQogICAgICAgIHsNCiAgICAgICAgICBuYW1lOiAn5pyq5L2/55So6KeE5qihJywNCiAgICAgICAgICB2YWx1ZTogJzE1JywNCiAgICAgICAgICBpdGVtU3R5bGU6IHsNCiAgICAgICAgICAgIGNvbG9yOiAnIzU1RURCMCcsDQogICAgICAgICAgfSwNCiAgICAgICAgfSwgew0KICAgICAgICAgIG5hbWU6ICfmipXlhaXkvb/nlKjop4TmqKEnLA0KICAgICAgICAgIHZhbHVlOiAnNScsDQogICAgICAgICAgaXRlbVN0eWxlOiB7DQogICAgICAgICAgICBjb2xvcjogJyMwMEQ0RkYnLA0KICAgICAgICAgIH0sDQogICAgICAgIH0NCiAgICAgIF0NCiAgICAgIC8vIHRoaXMuc3RhdHNEYXRhLmZvckVhY2goKGUsIGluZGV4KSA9PiB7DQoNCiAgICAgIC8vICAgZWNoYXJ0c0RhdGEucHVzaCh7DQogICAgICAvLyAgICAgbmFtZTogdGhpcy5nZXREaWN0TmFtZSgneG1zeCcsIGUuYXNzZXROYXR1cmUpLA0KICAgICAgLy8gICAgIHZhbHVlOiBlLmNvdW50LA0KICAgICAgLy8gICAgIGl0ZW1TdHlsZTogew0KICAgICAgLy8gICAgICAgY29sb3I6IHRoaXMuY29sb3JMaXN0WzIgKyBpbmRleF0sDQogICAgICAvLyAgICAgfSwNCiAgICAgIC8vICAgfSkNCiAgICAgIC8vIH0pDQogICAgICBsZXQgY2hhcnREb20gPSBlY2hhcnRzLmluaXQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0YXRzLWNoYXJ0JykpDQogICAgICBsZXQgb3B0aW9uID0gew0KICAgICAgICB0b29sdGlwOiB7DQogICAgICAgICAgdHJpZ2dlcjogJ2l0ZW0nLA0KICAgICAgICB9LA0KICAgICAgICBsZWdlbmQ6IHsNCiAgICAgICAgICBvcmllbnQ6ICd2ZXJ0aWNhbCcsDQogICAgICAgICAgdG9wOiAnbWlkZGxlJywNCiAgICAgICAgICByaWdodDogOTAsDQogICAgICAgICAgc2VsZWN0ZWRNb2RlOiBmYWxzZQ0KICAgICAgICB9LA0KICAgICAgICBzZXJpZXM6IFsNCiAgICAgICAgICB7DQogICAgICAgICAgICBuYW1lOiAn6Z2i56evJywNCiAgICAgICAgICAgIHR5cGU6ICdwaWUnLA0KICAgICAgICAgICAgcmFkaXVzOiBbJzU1JScsICc2NyUnXSwNCiAgICAgICAgICAgIGNlbnRlcjogWyczNSUnLCAnNDguNCUnXSwNCiAgICAgICAgICAgIGF2b2lkTGFiZWxPdmVybGFwOiBmYWxzZSwNCiAgICAgICAgICAgIGl0ZW1TdHlsZTogew0KICAgICAgICAgICAgICBib3JkZXJDb2xvcjogJyNmZmYnLA0KICAgICAgICAgICAgICBib3JkZXJXaWR0aDogMiwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBsYWJlbDogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgICAgcG9zaXRpb246ICdjZW50ZXInLA0KICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgZW1waGFzaXM6IHsNCiAgICAgICAgICAgICAgbGFiZWw6IHsNCiAgICAgICAgICAgICAgICBzaG93OiB0cnVlLA0KICAgICAgICAgICAgICAgIGZvbnRTaXplOiAzMCwNCiAgICAgICAgICAgICAgICBmb3JtYXR0ZXI6IGZ1bmN0aW9uIChwYXJhbXMpIHsNCiAgICAgICAgICAgICAgICAgIHJldHVybiBbDQogICAgICAgICAgICAgICAgICAgICd7bnVtfCcgKw0KICAgICAgICAgICAgICAgICAgICBwYXJhbXMudmFsdWUgKw0KICAgICAgICAgICAgICAgICAgICAnfScgKw0KICAgICAgICAgICAgICAgICAgICAne3VuaXR85LiqfScsDQogICAgICAgICAgICAgICAgICAgICd7bGFiZWx8JyArIHBhcmFtcy5uYW1lICsgJ30nLA0KICAgICAgICAgICAgICAgICAgXS5qb2luKCdcbicpDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICByaWNoOiB7DQogICAgICAgICAgICAgICAgICBudW06IHsNCiAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IDMwLA0KICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyMwMDAnLA0KICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAzMCwNCiAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogNzAwLA0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgIHVuaXQ6IHsNCiAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IDE0LA0KICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyMxMTEnLA0KICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAzMCwNCiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogWzAsIDVdLA0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgIGxhYmVsOiB7DQogICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAyMCwNCiAgICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogMzAsDQogICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzQ0NCcsDQogICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgbGFiZWxMaW5lOiB7DQogICAgICAgICAgICAgIHNob3c6IGZhbHNlLA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGRhdGE6IGVjaGFydHNEYXRhLA0KICAgICAgICAgIH0sDQogICAgICAgICAgLy8g5aSW5ZyI6IOM5pmvDQogICAgICAgICAgew0KICAgICAgICAgICAgdHlwZTogJ3BpZScsDQogICAgICAgICAgICByYWRpdXM6IFsnNTAlJywgJzUwJSddLA0KICAgICAgICAgICAgY2VudGVyOiBbJzM1JScsICc0OC40JSddLA0KICAgICAgICAgICAgaG92ZXJBbmltYXRpb246IGZhbHNlLA0KICAgICAgICAgICAgY2xvY2tXaXNlOiBmYWxzZSwNCiAgICAgICAgICAgIGN1cnNvcjogJ2RlZmF1bHQnLA0KICAgICAgICAgICAgaXRlbVN0eWxlOiB7DQogICAgICAgICAgICAgIG5vcm1hbDogew0KICAgICAgICAgICAgICAgIGJvcmRlcldpZHRoOiAyLA0KICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yOiAnI2VhZWFlYScsDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdG9vbHRpcDogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBsYWJlbDogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBkYXRhOiBbMTAwXSwNCiAgICAgICAgICB9LA0KICAgICAgICAgIHsNCiAgICAgICAgICAgIHR5cGU6ICdnYXVnZScsDQogICAgICAgICAgICByYWRpdXM6ICc5OCUnLA0KICAgICAgICAgICAgY2VudGVyOiBbJzM1JScsICc0OC40JSddLA0KICAgICAgICAgICAgY2xvY2t3aXNlOiB0cnVlLA0KICAgICAgICAgICAgc3RhcnRBbmdsZTogJzEwMCcsDQogICAgICAgICAgICBlbmRBbmdsZTogJy0yNjkuOTk5OScsDQogICAgICAgICAgICBzcGxpdE51bWJlcjogMjAwLCAvL+e6v+eahOadoeaVsA0KICAgICAgICAgICAgcG9pbnRlcjogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBheGlzTGluZTogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBheGlzVGljazogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB0b29sdGlwOiB7DQogICAgICAgICAgICAgIHNob3c6IGZhbHNlLA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNwbGl0TGluZTogew0KICAgICAgICAgICAgICBzaG93OiB0cnVlLA0KICAgICAgICAgICAgICBsZW5ndGg6IDE1LA0KICAgICAgICAgICAgICBsaW5lU3R5bGU6IHsNCiAgICAgICAgICAgICAgICBjb2xvcjogJyNlYWVhZWEnLA0KICAgICAgICAgICAgICAgIHdpZHRoOiAxLA0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGF4aXNMYWJlbDogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgfSwNCiAgICAgICAgICB7DQogICAgICAgICAgICB0eXBlOiAnZ2F1Z2UnLA0KICAgICAgICAgICAgcmFkaXVzOiAnODMuNSUnLA0KICAgICAgICAgICAgY2VudGVyOiBbJzM1JScsICc0OC40JSddLA0KICAgICAgICAgICAgY2xvY2t3aXNlOiB0cnVlLA0KICAgICAgICAgICAgc3RhcnRBbmdsZTogJzEwMCcsDQogICAgICAgICAgICBlbmRBbmdsZTogJy0yNjkuOTk5OScsDQogICAgICAgICAgICBzcGxpdE51bWJlcjogMTQwLCAvL+e6v+eahOadoeaVsA0KICAgICAgICAgICAgcG9pbnRlcjogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBheGlzTGluZTogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBheGlzVGljazogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB0b29sdGlwOiB7DQogICAgICAgICAgICAgIHNob3c6IGZhbHNlLA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNwbGl0TGluZTogew0KICAgICAgICAgICAgICBzaG93OiB0cnVlLA0KICAgICAgICAgICAgICBsZW5ndGg6IDEsDQogICAgICAgICAgICAgIGxpbmVTdHlsZTogew0KICAgICAgICAgICAgICAgIGNvbG9yOiAnI2VhZWFlYScsDQogICAgICAgICAgICAgICAgd2lkdGg6IDIsDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgYXhpc0xhYmVsOiB7DQogICAgICAgICAgICAgIHNob3c6IGZhbHNlLA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICB9LA0KDQogICAgICAgIF0sDQogICAgICB9DQogICAgICBjaGFydERvbS5zZXRPcHRpb24ob3B0aW9uKQ0KICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsICgpID0+IHsNCiAgICAgICAgY2hhcnREb20ucmVzaXplKCkNCiAgICAgIH0pDQogICAgICBoYW5kbGVDaGFydExvb3Aob3B0aW9uLCBjaGFydERvbSk7DQogICAgICAvLyDppbzlm77oh6rliqjova7mkq0NCiAgICAgIGZ1bmN0aW9uIGhhbmRsZUNoYXJ0TG9vcChvcHRpb24sIG15Q2hhcnQpIHsNCiAgICAgICAgaWYgKCFteUNoYXJ0KSB7DQogICAgICAgICAgcmV0dXJuDQogICAgICAgIH0NCiAgICAgICAgbGV0IGN1cnJlbnRJbmRleCA9IDAgLy8g5b2T5YmN6auY5Lqu5Zu+5b2i5Zyo6aW85Zu+5pWw5o2u5Lit55qE5LiL5qCHDQogICAgICAgIGhpZ2hsaWdodFBpZSgpDQogICAgICAgIC8vIOWPlua2iOaJgOaciemrmOS6ruW5tumrmOS6ruW9k+WJjeWbvuW9og0KICAgICAgICBmdW5jdGlvbiBoaWdobGlnaHRQaWUoKSB7DQogICAgICAgICAgLy8g6YGN5Y6G6aW85Zu+5pWw5o2u77yM5Y+W5raI5omA5pyJ5Zu+5b2i55qE6auY5Lqu5pWI5p6cDQogICAgICAgICAgZm9yICh2YXIgaWR4IGluIG9wdGlvbi5zZXJpZXNbMF0uZGF0YSkgew0KICAgICAgICAgICAgbXlDaGFydC5kaXNwYXRjaEFjdGlvbih7DQogICAgICAgICAgICAgIHR5cGU6ICdkb3ducGxheScsDQogICAgICAgICAgICAgIHNlcmllc0luZGV4OiAwLA0KICAgICAgICAgICAgICBkYXRhSW5kZXg6IGlkeA0KICAgICAgICAgICAgfSkNCiAgICAgICAgICB9DQogICAgICAgICAgLy8g6auY5Lqu5b2T5YmN5Zu+5b2iDQogICAgICAgICAgbXlDaGFydC5kaXNwYXRjaEFjdGlvbih7DQogICAgICAgICAgICB0eXBlOiAnaGlnaGxpZ2h0JywNCiAgICAgICAgICAgIHNlcmllc0luZGV4OiAwLA0KICAgICAgICAgICAgZGF0YUluZGV4OiBjdXJyZW50SW5kZXgNCiAgICAgICAgICB9KQ0KICAgICAgICB9DQogICAgICAgIC8vIC8vIOeUqOaIt+m8oOagh+aCrOa1ruWIsOafkOS4gOWbvuW9ouaXtu+8jOWBnOatouiHquWKqOWIh+aNouW5tumrmOS6rum8oOagh+aCrOa1rueahOWbvuW9og0KICAgICAgICBteUNoYXJ0Lm9uKCdtb3VzZW92ZXInLCAocGFyYW1zKSA9PiB7DQogICAgICAgICAgY29uc29sZS5sb2coMSk7DQogICAgICAgICAgaWYgKHBhcmFtcy5jb21wb25lbnRUeXBlID09ICdncmFwaGljJykgew0KICAgICAgICAgICAgcmV0dXJuDQogICAgICAgICAgfQ0KICAgICAgICAgIGN1cnJlbnRJbmRleCA9IHBhcmFtcy5kYXRhSW5kZXgNCiAgICAgICAgICBoaWdobGlnaHRQaWUoKQ0KICAgICAgICB9KQ0KDQogICAgICB9DQogICAgfSwNCiAgICAvLyDotYTkuqfnu7Tkv64NCiAgICBpbml0VHlwZUNoYXQoKSB7DQogICAgICBsZXQgZWNoYXJ0c0RhdGEgPSBbDQogICAgICAgIHsNCiAgICAgICAgICBuYW1lOiAn5pyq57u05L+uJywNCiAgICAgICAgICB2YWx1ZTogNSwNCiAgICAgICAgICBpdGVtU3R5bGU6IHsNCiAgICAgICAgICAgIGNvbG9yOiAnI0ZGQUU1RScsDQogICAgICAgICAgfSwNCiAgICAgICAgfSwgew0KICAgICAgICAgIG5hbWU6ICfmraPlnKjnu7Tkv64nLA0KICAgICAgICAgIHZhbHVlOiA1LA0KICAgICAgICAgIGl0ZW1TdHlsZTogew0KICAgICAgICAgICAgY29sb3I6ICcjNTVFREIwICcsDQogICAgICAgICAgfSwNCiAgICAgICAgfSwgew0KICAgICAgICAgIG5hbWU6ICflt7Lnu7Tkv64nLA0KICAgICAgICAgIHZhbHVlOiAxNSwNCiAgICAgICAgICBpdGVtU3R5bGU6IHsNCiAgICAgICAgICAgIGNvbG9yOiAnIzY2QjJGRiAnLA0KICAgICAgICAgIH0sDQogICAgICAgIH0NCiAgICAgIF0NCiAgICAgIC8vIHRoaXMudHlwZURhdGEuZm9yRWFjaCgoZSwgaW5kZXgpID0+IHsNCiAgICAgIC8vICAgZWNoYXJ0c0RhdGEucHVzaCh7DQogICAgICAvLyAgICAgbmFtZTogdGhpcy5nZXREaWN0TmFtZSgnemNseCcsIGUuYXNzZXRUeXBlKSwNCiAgICAgIC8vICAgICB2YWx1ZTogZS5jb3VudCwNCiAgICAgIC8vICAgICBpdGVtU3R5bGU6IHsNCiAgICAgIC8vICAgICAgIGNvbG9yOiB0aGlzLmNvbG9yTGlzdFtpbmRleF0sDQogICAgICAvLyAgICAgfSwNCiAgICAgIC8vICAgfSkNCiAgICAgIC8vIH0pDQogICAgICBsZXQgY2hhcnREb20gPSBlY2hhcnRzLmluaXQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3R5cGUtY2hhcnQnKSkNCiAgICAgIGxldCBvcHRpb24gPSB7DQogICAgICAgIHRvb2x0aXA6IHsNCiAgICAgICAgICB0cmlnZ2VyOiAnaXRlbScsDQogICAgICAgIH0sDQogICAgICAgIGxlZ2VuZDogew0KICAgICAgICAgIG9yaWVudDogJ3ZlcnRpY2FsJywNCiAgICAgICAgICB0b3A6ICdtaWRkbGUnLA0KICAgICAgICAgIHJpZ2h0OiAxMTAsDQogICAgICAgICAgc2VsZWN0ZWRNb2RlOiBmYWxzZQ0KICAgICAgICB9LA0KICAgICAgICBzZXJpZXM6IFsNCiAgICAgICAgICB7DQogICAgICAgICAgICBuYW1lOiAn6Z2i56evJywNCiAgICAgICAgICAgIHR5cGU6ICdwaWUnLA0KICAgICAgICAgICAgcmFkaXVzOiBbJzU1JScsICc2NyUnXSwNCiAgICAgICAgICAgIGNlbnRlcjogWyczNSUnLCAnNDguNCUnXSwNCiAgICAgICAgICAgIGF2b2lkTGFiZWxPdmVybGFwOiBmYWxzZSwNCiAgICAgICAgICAgIGl0ZW1TdHlsZTogew0KICAgICAgICAgICAgICBib3JkZXJDb2xvcjogJyNmZmYnLA0KICAgICAgICAgICAgICBib3JkZXJXaWR0aDogMiwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBsYWJlbDogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgICAgcG9zaXRpb246ICdjZW50ZXInLA0KICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgZW1waGFzaXM6IHsNCiAgICAgICAgICAgICAgbGFiZWw6IHsNCiAgICAgICAgICAgICAgICBzaG93OiB0cnVlLA0KICAgICAgICAgICAgICAgIGZvbnRTaXplOiAzMCwNCiAgICAgICAgICAgICAgICBmb3JtYXR0ZXI6IGZ1bmN0aW9uIChwYXJhbXMpIHsNCiAgICAgICAgICAgICAgICAgIHJldHVybiBbDQogICAgICAgICAgICAgICAgICAgICd7bnVtfCcgKw0KICAgICAgICAgICAgICAgICAgICBwYXJhbXMudmFsdWUgKw0KICAgICAgICAgICAgICAgICAgICAnfScgKw0KICAgICAgICAgICAgICAgICAgICAne3VuaXR85LiqfScsDQogICAgICAgICAgICAgICAgICAgICd7bGFiZWx8JyArIHBhcmFtcy5uYW1lICsgJ30nLA0KICAgICAgICAgICAgICAgICAgXS5qb2luKCdcbicpDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICByaWNoOiB7DQogICAgICAgICAgICAgICAgICBudW06IHsNCiAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IDMwLA0KICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyMwMDAnLA0KICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAzMCwNCiAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogNzAwLA0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgIHVuaXQ6IHsNCiAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IDE0LA0KICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyMxMTEnLA0KICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAzMCwNCiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogWzAsIDVdLA0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgIGxhYmVsOiB7DQogICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAyMCwNCiAgICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogMzAsDQogICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzQ0NCcsDQogICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgbGFiZWxMaW5lOiB7DQogICAgICAgICAgICAgIHNob3c6IGZhbHNlLA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGRhdGE6IGVjaGFydHNEYXRhLA0KICAgICAgICAgIH0sDQogICAgICAgICAgLy8g5aSW5ZyI6IOM5pmvDQogICAgICAgICAgew0KICAgICAgICAgICAgdHlwZTogJ3BpZScsDQogICAgICAgICAgICByYWRpdXM6IFsnNTAlJywgJzUwJSddLA0KICAgICAgICAgICAgY2VudGVyOiBbJzM1JScsICc0OC40JSddLA0KICAgICAgICAgICAgaG92ZXJBbmltYXRpb246IGZhbHNlLA0KICAgICAgICAgICAgY2xvY2tXaXNlOiBmYWxzZSwNCiAgICAgICAgICAgIGN1cnNvcjogJ2RlZmF1bHQnLA0KICAgICAgICAgICAgaXRlbVN0eWxlOiB7DQogICAgICAgICAgICAgIG5vcm1hbDogew0KICAgICAgICAgICAgICAgIGJvcmRlcldpZHRoOiAyLA0KICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yOiAnI2VhZWFlYScsDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdG9vbHRpcDogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBsYWJlbDogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBkYXRhOiBbMTAwXSwNCiAgICAgICAgICB9LA0KICAgICAgICAgIHsNCiAgICAgICAgICAgIHR5cGU6ICdnYXVnZScsDQogICAgICAgICAgICByYWRpdXM6ICc5OCUnLA0KICAgICAgICAgICAgY2VudGVyOiBbJzM1JScsICc0OC40JSddLA0KICAgICAgICAgICAgY2xvY2t3aXNlOiB0cnVlLA0KICAgICAgICAgICAgc3RhcnRBbmdsZTogJzEwMCcsDQogICAgICAgICAgICBlbmRBbmdsZTogJy0yNjkuOTk5OScsDQogICAgICAgICAgICBzcGxpdE51bWJlcjogMjAwLCAvL+e6v+eahOadoeaVsA0KICAgICAgICAgICAgcG9pbnRlcjogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBheGlzTGluZTogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBheGlzVGljazogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB0b29sdGlwOiB7DQogICAgICAgICAgICAgIHNob3c6IGZhbHNlLA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNwbGl0TGluZTogew0KICAgICAgICAgICAgICBzaG93OiB0cnVlLA0KICAgICAgICAgICAgICBsZW5ndGg6IDE1LA0KICAgICAgICAgICAgICBsaW5lU3R5bGU6IHsNCiAgICAgICAgICAgICAgICBjb2xvcjogJyNlYWVhZWEnLA0KICAgICAgICAgICAgICAgIHdpZHRoOiAxLA0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGF4aXNMYWJlbDogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgfSwNCiAgICAgICAgICB7DQogICAgICAgICAgICB0eXBlOiAnZ2F1Z2UnLA0KICAgICAgICAgICAgcmFkaXVzOiAnODMuNSUnLA0KICAgICAgICAgICAgY2VudGVyOiBbJzM1JScsICc0OC40JSddLA0KICAgICAgICAgICAgY2xvY2t3aXNlOiB0cnVlLA0KICAgICAgICAgICAgc3RhcnRBbmdsZTogJzEwMCcsDQogICAgICAgICAgICBlbmRBbmdsZTogJy0yNjkuOTk5OScsDQogICAgICAgICAgICBzcGxpdE51bWJlcjogMTQwLCAvL+e6v+eahOadoeaVsA0KICAgICAgICAgICAgcG9pbnRlcjogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBheGlzTGluZTogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBheGlzVGljazogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB0b29sdGlwOiB7DQogICAgICAgICAgICAgIHNob3c6IGZhbHNlLA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNwbGl0TGluZTogew0KICAgICAgICAgICAgICBzaG93OiB0cnVlLA0KICAgICAgICAgICAgICBsZW5ndGg6IDEsDQogICAgICAgICAgICAgIGxpbmVTdHlsZTogew0KICAgICAgICAgICAgICAgIGNvbG9yOiAnI2VhZWFlYScsDQogICAgICAgICAgICAgICAgd2lkdGg6IDIsDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgYXhpc0xhYmVsOiB7DQogICAgICAgICAgICAgIHNob3c6IGZhbHNlLA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICB9LA0KDQoNCiAgICAgICAgXSwNCiAgICAgIH0NCiAgICAgIGNoYXJ0RG9tLnNldE9wdGlvbihvcHRpb24pDQogICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgKCkgPT4gew0KICAgICAgICBjaGFydERvbS5yZXNpemUoKQ0KICAgICAgfSkNCiAgICAgIGhhbmRsZUNoYXJ0TG9vcChvcHRpb24sIGNoYXJ0RG9tKTsNCiAgICAgIC8vIOmlvOWbvuiHquWKqOi9ruaSrQ0KICAgICAgZnVuY3Rpb24gaGFuZGxlQ2hhcnRMb29wKG9wdGlvbiwgbXlDaGFydCkgew0KICAgICAgICBpZiAoIW15Q2hhcnQpIHsNCiAgICAgICAgICByZXR1cm4NCiAgICAgICAgfQ0KICAgICAgICBsZXQgY3VycmVudEluZGV4ID0gMCAvLyDlvZPliY3pq5jkuq7lm77lvaLlnKjppbzlm77mlbDmja7kuK3nmoTkuIvmoIcNCiAgICAgICAgaGlnaGxpZ2h0UGllKCkNCiAgICAgICAgLy8g5Y+W5raI5omA5pyJ6auY5Lqu5bm26auY5Lqu5b2T5YmN5Zu+5b2iDQogICAgICAgIGZ1bmN0aW9uIGhpZ2hsaWdodFBpZSgpIHsNCiAgICAgICAgICAvLyDpgY3ljobppbzlm77mlbDmja7vvIzlj5bmtojmiYDmnInlm77lvaLnmoTpq5jkuq7mlYjmnpwNCiAgICAgICAgICBmb3IgKHZhciBpZHggaW4gb3B0aW9uLnNlcmllc1swXS5kYXRhKSB7DQogICAgICAgICAgICBteUNoYXJ0LmRpc3BhdGNoQWN0aW9uKHsNCiAgICAgICAgICAgICAgdHlwZTogJ2Rvd25wbGF5JywNCiAgICAgICAgICAgICAgc2VyaWVzSW5kZXg6IDAsDQogICAgICAgICAgICAgIGRhdGFJbmRleDogaWR4DQogICAgICAgICAgICB9KQ0KICAgICAgICAgIH0NCiAgICAgICAgICAvLyDpq5jkuq7lvZPliY3lm77lvaINCiAgICAgICAgICBteUNoYXJ0LmRpc3BhdGNoQWN0aW9uKHsNCiAgICAgICAgICAgIHR5cGU6ICdoaWdobGlnaHQnLA0KICAgICAgICAgICAgc2VyaWVzSW5kZXg6IDAsDQogICAgICAgICAgICBkYXRhSW5kZXg6IGN1cnJlbnRJbmRleA0KICAgICAgICAgIH0pDQogICAgICAgIH0NCiAgICAgICAgLy8gLy8g55So5oi36byg5qCH5oKs5rWu5Yiw5p+Q5LiA5Zu+5b2i5pe277yM5YGc5q2i6Ieq5Yqo5YiH5o2i5bm26auY5Lqu6byg5qCH5oKs5rWu55qE5Zu+5b2iDQogICAgICAgIG15Q2hhcnQub24oJ21vdXNlb3ZlcicsIChwYXJhbXMpID0+IHsNCiAgICAgICAgICBpZiAocGFyYW1zLmNvbXBvbmVudFR5cGUgPT0gJ2dyYXBoaWMnKSB7DQogICAgICAgICAgICByZXR1cm4NCiAgICAgICAgICB9DQogICAgICAgICAgY3VycmVudEluZGV4ID0gcGFyYW1zLmRhdGFJbmRleA0KICAgICAgICAgIGhpZ2hsaWdodFBpZSgpDQogICAgICAgIH0pDQogICAgICB9DQogICAgfSwNCiAgICAvLyDmnKrmnaXop4TliJINCiAgICBwcm9qZWN0SW5pdCgpIHsNCiAgICAgIGxldCB4RGF0YSA9IFsn5q6h5bm2JywgJ+WfjumVh+adkemBk+i3rycsICflt6XkuJonLCAn5YWs6LevJywgJ+WFrOeUqOiuvuaWvScsICflhazlm63kuI7nu7/lnLAnLCAn5Lqk6YCa5pyN5Yqh5Zy656uZJywgJ+aVmeiCsicsICfpm7bllK7llYbkuJonLCAn5ZWG5Yqh6YeR6J6NJywgJ+WFtuS7luWVhuacjScsICfnpL7kvJrnpo/liKknXQ0KICAgICAgbGV0IGJvb2tEYXRhID0gWzIyLCA0NCwgMjIsIDExLCAyMCwgNDQsIDIzLCA1NiwgNzcsIDQ0LCA0MiwgMzFdDQogICAgICBsZXQgc3RydWN0dXJlRGF0YSA9IFsyMiwgNDQsIDIyLCAxMSwgMjAsIDQ0LCAyMywgNTYsIDc3LCA0NCwgNDIsIDMxXQ0KICAgICAgbGV0IGNoYXJ0RG9tID0gZWNoYXJ0cy5pbml0KA0KICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncHJvamVjdC1jaGFydCcpDQogICAgICApDQogICAgICBsZXQgb3B0aW9uID0gew0KICAgICAgICB0b29sdGlwOiB7DQogICAgICAgICAgdHJpZ2dlcjogJ2F4aXMnLA0KICAgICAgICAgIGF4aXNQb2ludGVyOiB7DQogICAgICAgICAgICAvLyDlnZDmoIfovbTmjIfnpLrlmajvvIzlnZDmoIfovbTop6blj5HmnInmlYgNCiAgICAgICAgICAgIHR5cGU6ICdzaGFkb3cnLCAvLyDpu5jorqTkuLrnm7Tnur/vvIzlj6/pgInkuLrvvJonbGluZScgfCAnc2hhZG93Jw0KICAgICAgICAgIH0sDQogICAgICAgIH0sDQogICAgICAgIGxlZ2VuZDogew0KICAgICAgICAgIGRhdGE6IFsn6LSm6Z2i5YeA5YC8JywgJ+mdouenryddLA0KICAgICAgICAgIGFsaWduOiAnbGVmdCcsDQogICAgICAgICAgcGFkZGluZzogWzE1LCAwLCAwLCAwXSwNCiAgICAgICAgfSwNCiAgICAgICAgZ3JpZDogew0KICAgICAgICAgIGxlZnQ6ICczJScsDQogICAgICAgICAgcmlnaHQ6ICc0JScsDQogICAgICAgICAgYm90dG9tOiAnMCcsDQogICAgICAgICAgY29udGFpbkxhYmVsOiB0cnVlLA0KICAgICAgICB9LA0KICAgICAgICB4QXhpczogWw0KICAgICAgICAgIHsNCiAgICAgICAgICAgIHR5cGU6ICdjYXRlZ29yeScsDQogICAgICAgICAgICBkYXRhOiB4RGF0YSwNCiAgICAgICAgICAgIGF4aXNUaWNrOiB7DQogICAgICAgICAgICAgIHNob3c6IGZhbHNlLA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGF4aXNMYWJlbDogew0KICAgICAgICAgICAgICBpbnRlcnZhbDogMCwgLy/lnZDmoIfliLvluqbkuYvpl7TnmoTmmL7npLrpl7TpmpTvvIzpu5jorqTlsLHlj6/ku6XkuobvvIjpu5jorqTmmK/kuI3ph43lj6DvvIkNCiAgICAgICAgICAgICAgcm90YXRlOiAzOCAgIC8v6LCD5pW05pWw5YC85pS55Y+Y5YC+5pac55qE5bmF5bqm77yI6IyD5Zu0LTkw5YiwOTDvvIkNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBheGlzTGluZTogew0KICAgICAgICAgICAgICBzaG93OiB0cnVlLA0KICAgICAgICAgICAgICBsaW5lU3R5bGU6IHsNCiAgICAgICAgICAgICAgICBjb2xvcjogJyNBMUE5QjInLCAvLyDmtYXngbDoibINCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgfSwNCiAgICAgICAgXSwNCiAgICAgICAgeUF4aXM6IFsNCiAgICAgICAgICB7DQogICAgICAgICAgICB0eXBlOiAndmFsdWUnLA0KICAgICAgICAgICAgbmFtZTogJ+WNleS9je+8muS4h+WFgycsDQogICAgICAgICAgICBheGlzTGFiZWw6IHsNCiAgICAgICAgICAgICAgZm9ybWF0dGVyOiAne3ZhbHVlfScsDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc3BsaXRMaW5lOiB7DQogICAgICAgICAgICAgIHNob3c6IGZhbHNlLA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGF4aXNMaW5lOiB7DQogICAgICAgICAgICAgIHNob3c6IHRydWUsDQogICAgICAgICAgICAgIGxpbmVTdHlsZTogew0KICAgICAgICAgICAgICAgIGNvbG9yOiAnI0ExQTlCMicsIC8vIOa1heeBsOiJsg0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICB9LA0KICAgICAgICAgIHsNCiAgICAgICAgICAgIHR5cGU6ICd2YWx1ZScsDQogICAgICAgICAgICBuYW1lOiAn5Y2V5L2N77ya446hJywNCiAgICAgICAgICAgIGF4aXNMYWJlbDogew0KICAgICAgICAgICAgICBmb3JtYXR0ZXI6ICd7dmFsdWV9JywNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBwb3NpdGlvbjogJ3JpZ2h0JywNCiAgICAgICAgICAgIHNwbGl0TGluZTogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBheGlzTGluZTogew0KICAgICAgICAgICAgICBzaG93OiB0cnVlLA0KICAgICAgICAgICAgICBsaW5lU3R5bGU6IHsNCiAgICAgICAgICAgICAgICBjb2xvcjogJyNBMUE5QjInLCAvLyDmtYXngbDoibINCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgfSwNCiAgICAgICAgXSwNCiAgICAgICAgc2VyaWVzOiBbDQogICAgICAgICAgew0KICAgICAgICAgICAgbmFtZTogJ+i0pumdouWHgOWAvCcsDQogICAgICAgICAgICB0eXBlOiAnYmFyJywNCiAgICAgICAgICAgIGRhdGE6IGJvb2tEYXRhLA0KICAgICAgICAgICAgYmFyV2lkdGg6ICcxNScsDQogICAgICAgICAgICB5QXhpc0luZGV4OiAwLA0KICAgICAgICAgICAgaXRlbVN0eWxlOiB7DQogICAgICAgICAgICAgIGNvbG9yOiB7DQogICAgICAgICAgICAgICAgdHlwZTogJ2xpbmVhcicsDQogICAgICAgICAgICAgICAgeDogMCwNCiAgICAgICAgICAgICAgICB5OiAwLA0KICAgICAgICAgICAgICAgIHgyOiAwLA0KICAgICAgICAgICAgICAgIHkyOiAxLA0KICAgICAgICAgICAgICAgIGNvbG9yU3RvcHM6IFsNCiAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLA0KICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyM1NUVEQjAnLCAvLyDmuJDlj5jotbflp4vpopzoibLvvIjnu7/oibLvvIkNCiAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIG9mZnNldDogMSwNCiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDg1LDIzNywxNzYsMC4yKScsIC8vIOa4kOWPmOe7k+adn+minOiJsu+8iOa3see7v+iJsu+8iQ0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6IFszLCAzLCAwLCAwXSwgLy8g6K6+572u5ZyG6KeS5aSn5bCPDQogICAgICAgICAgICB9LA0KICAgICAgICAgIH0sDQogICAgICAgICAgew0KICAgICAgICAgICAgbmFtZTogJ+mdouenrycsDQogICAgICAgICAgICB0eXBlOiAnYmFyJywNCiAgICAgICAgICAgIGRhdGE6IHN0cnVjdHVyZURhdGEsDQogICAgICAgICAgICBiYXJXaWR0aDogJzE1JywNCiAgICAgICAgICAgIHlBeGlzSW5kZXg6IDEsDQogICAgICAgICAgICBpdGVtU3R5bGU6IHsNCiAgICAgICAgICAgICAgY29sb3I6IHsNCiAgICAgICAgICAgICAgICB0eXBlOiAnbGluZWFyJywNCiAgICAgICAgICAgICAgICB4OiAwLA0KICAgICAgICAgICAgICAgIHk6IDAsDQogICAgICAgICAgICAgICAgeDI6IDAsDQogICAgICAgICAgICAgICAgeTI6IDEsDQogICAgICAgICAgICAgICAgY29sb3JTdG9wczogWw0KICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IDAsDQogICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzhBQzRGRicsIC8vIOa4kOWPmOi1t+Wni+minOiJsu+8iOe7v+iJsu+8iQ0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAxLA0KICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoNTEsMTUzLDI1NSwwLjIpJywgLy8g5riQ5Y+Y57uT5p2f6aKc6Imy77yI5rex57u/6Imy77yJDQogICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgIGJvcmRlclJhZGl1czogWzMsIDMsIDAsIDBdLCAvLyDorr7nva7lnIbop5LlpKflsI8NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgfSwNCiAgICAgICAgXSwNCiAgICAgIH0NCiAgICAgIGNoYXJ0RG9tLnNldE9wdGlvbihvcHRpb24pDQogICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgKCkgPT4gew0KICAgICAgICBjaGFydERvbS5yZXNpemUoKQ0KICAgICAgfSkNCiAgICB9LA0KICAgIC8vIOi1hOS6p+WkhOe9rg0KICAgIGluaXRDaGF0KCkgew0KICAgICAgbGV0IHhEYXRhID0gWycx5pyIJywgJzLmnIgnLCAnM+aciCcsICc05pyIJywgJzXmnIgnLCAnNuaciCcsICc35pyIJywgJzjmnIgnLCAnOeaciCcsICcxMOaciCcsICcxMeaciCcsICcxMuaciCddDQogICAgICBsZXQgYm9va0RhdGEgPSBbMjIsIDQ0LCAyMiwgMTEsIDIwLCA0NCwgMjMsIDU2LCA3NywgNDQsIDQyLCAzMV0NCiAgICAgIGxldCBib29rRGF0YTEgPSBbMTIsIDI0LCAxMiwgMSwgMTAsIDM0LCAxMywgMzYsIDU3LCAxNCwgMTIsIDIxXQ0KDQogICAgICBsZXQgY2hhcnREb20gPSBlY2hhcnRzLmluaXQoDQogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnRlcmVzdC1jaGFydCcpDQogICAgICApDQogICAgICBsZXQgb3B0aW9uID0gew0KICAgICAgICB0b29sdGlwOiB7DQogICAgICAgICAgdHJpZ2dlcjogJ2F4aXMnLCAvLyDorr7nva7op6blj5HnsbvlnovkuLrlnZDmoIfovbTovbTnur/op6blj5ENCiAgICAgICAgfSwNCiAgICAgICAgbGVnZW5kOiB7DQogICAgICAgICAgZGF0YTogWyfotYTkuqfovazorqknLCAn6LWE5Lqn5oql5bqfJ10sDQogICAgICAgICAgYWxpZ246ICdsZWZ0JywNCiAgICAgICAgICBwYWRkaW5nOiBbMTUsIDAsIDAsIDBdLA0KICAgICAgICB9LA0KICAgICAgICBncmlkOiB7DQogICAgICAgICAgdG9wOiAnMjElJywNCiAgICAgICAgICBib3R0b206ICc1JScsDQogICAgICAgICAgcmlnaHQ6ICc1JScsDQogICAgICAgIH0sDQogICAgICAgIHhBeGlzOiB7DQogICAgICAgICAgdHlwZTogJ2NhdGVnb3J5JywNCiAgICAgICAgICBkYXRhOiB4RGF0YSwNCiAgICAgICAgICBib3VuZGFyeUdhcDogZmFsc2UsDQogICAgICAgICAgYXhpc1RpY2s6IHsNCiAgICAgICAgICAgIHNob3c6IGZhbHNlLA0KICAgICAgICAgIH0sDQogICAgICAgICAgYXhpc0xpbmU6IHsNCiAgICAgICAgICAgIHNob3c6IHRydWUsDQogICAgICAgICAgICBsaW5lU3R5bGU6IHsNCiAgICAgICAgICAgICAgY29sb3I6ICcjQTFBOUIyJywgLy8g5rWF54Gw6ImyDQogICAgICAgICAgICB9LA0KICAgICAgICAgIH0sDQogICAgICAgIH0sDQogICAgICAgIHlBeGlzOiB7DQogICAgICAgICAgdHlwZTogJ3ZhbHVlJywNCiAgICAgICAgICBuYW1lOiAn5Y2V5L2N77ya5LiH5YWDJywNCiAgICAgICAgICBtaW46IDAsDQogICAgICAgICAgYXhpc0xpbmU6IHsNCiAgICAgICAgICAgIHNob3c6IHRydWUsDQogICAgICAgICAgICBsaW5lU3R5bGU6IHsNCiAgICAgICAgICAgICAgY29sb3I6ICcjQTFBOUIyJywgLy8g5rWF54Gw6ImyDQogICAgICAgICAgICB9LA0KICAgICAgICAgIH0sDQogICAgICAgICAgc3BsaXRMaW5lOiB7DQogICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICB9LA0KICAgICAgICB9LA0KICAgICAgICBzZXJpZXM6IFsNCiAgICAgICAgICB7DQogICAgICAgICAgICBuYW1lOiAn6LWE5Lqn6L2s6K6pJywNCiAgICAgICAgICAgIHR5cGU6ICdsaW5lJywNCiAgICAgICAgICAgIGRhdGE6IGJvb2tEYXRhLA0KICAgICAgICAgICAgdHlwZTogJ2xpbmUnLA0KICAgICAgICAgICAgc21vb3RoOiB0cnVlLA0KICAgICAgICAgICAgLy8gc3ltYm9sOiAnbm9uZScsIC8vIOWPlua2iOWwj+WchueCueeahOaYvuekug0KICAgICAgICAgICAgc2hvd1N5bWJvbDogZmFsc2UsIC8vIOWPlua2iOWwj+WchueCueeahOaYvuekug0KICAgICAgICAgICAgbGluZVN0eWxlOiB7DQogICAgICAgICAgICAgIGNvbG9yOiAnIzU1RURCMCcsIC8vIOiuvue9rue6v+adoeeahOminOiJsuS4uue6ouiJsg0KICAgICAgICAgICAgfSwNCiAgICAgICAgICB9LCB7DQogICAgICAgICAgICBuYW1lOiAn6LWE5Lqn5oql5bqfJywNCiAgICAgICAgICAgIHR5cGU6ICdsaW5lJywNCiAgICAgICAgICAgIGRhdGE6IGJvb2tEYXRhMSwNCiAgICAgICAgICAgIHR5cGU6ICdsaW5lJywNCiAgICAgICAgICAgIHNtb290aDogdHJ1ZSwNCiAgICAgICAgICAgIC8vIHN5bWJvbDogJ25vbmUnLCAvLyDlj5bmtojlsI/lnIbngrnnmoTmmL7npLoNCiAgICAgICAgICAgIHNob3dTeW1ib2w6IGZhbHNlLCAvLyDlj5bmtojlsI/lnIbngrnnmoTmmL7npLoNCiAgICAgICAgICAgIGxpbmVTdHlsZTogew0KICAgICAgICAgICAgICBjb2xvcjogJyNGRkFFNUUnLCAvLyDorr7nva7nur/mnaHnmoTpopzoibLkuLrnuqLoibINCiAgICAgICAgICAgIH0sDQogICAgICAgICAgfSwNCiAgICAgICAgXSwNCiAgICAgIH0NCiAgICAgIGNoYXJ0RG9tLnNldE9wdGlvbihvcHRpb24pDQogICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgKCkgPT4gew0KICAgICAgICBjaGFydERvbS5yZXNpemUoKQ0KICAgICAgfSkNCiAgICB9LA0KICAgIC8vIOWQhOS4muaAgei1hOS6p+enu+S6pOaDheWGtQ0KICAgIGluaXRTb3VyY2VDaGF0KCkgew0KICAgICAgbGV0IHhEYXRhID0gWyfmrqHlubYnLCAn5Z+O6ZWH5p2R6YGT6LevJywgJ+W3peS4micsICflhazot68nLCAn5YWs55So6K6+5pa9JywgJ+WFrOWbreS4jue7v+WcsCcsICfkuqTpgJrmnI3liqHlnLrnq5knLCAn5pWZ6IKyJywgJ+mbtuWUruWVhuS4micsICfllYbliqHph5Hono0nXQ0KICAgICAgbGV0IGJvb2tEYXRhID0gWzIzLCAzMywgNDEsIDE1LCAzMiwgNDUsIDMyLCAxMywgNTQsIDc2XQ0KICAgICAgLy8gdGhpcy5zdGF0dXNEYXRhLmZvckVhY2goZSA9PiB7DQogICAgICAvLyAgIHhEYXRhLnB1c2godGhpcy5nZXREaWN0TmFtZSgnemN6dCcsIGUuYXNzZXRTdGF0dXMpKQ0KICAgICAgLy8gICBib29rRGF0YS5wdXNoKGUuYm9va1ZhbHVlKQ0KICAgICAgLy8gICBzdHJ1Y3R1cmVEYXRhLnB1c2goZS5zdHJ1Y3R1cmVfYXJlYV8pDQogICAgICAvLyB9KQ0KICAgICAgbGV0IGNoYXJ0RG9tID0gZWNoYXJ0cy5pbml0KA0KICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc291cmNlLWNoYXJ0JykNCiAgICAgICkNCiAgICAgIGxldCBvcHRpb24gPSB7DQogICAgICAgIHRvb2x0aXA6IHsNCiAgICAgICAgICB0cmlnZ2VyOiAnYXhpcycsDQogICAgICAgICAgYXhpc1BvaW50ZXI6IHsNCiAgICAgICAgICAgIC8vIOWdkOagh+i9tOaMh+ekuuWZqO+8jOWdkOagh+i9tOinpuWPkeacieaViA0KICAgICAgICAgICAgdHlwZTogJ3NoYWRvdycsIC8vIOm7mOiupOS4uuebtOe6v++8jOWPr+mAieS4uu+8midsaW5lJyB8ICdzaGFkb3cnDQogICAgICAgICAgfSwNCiAgICAgICAgfSwNCiAgICAgICAgbGVnZW5kOiB7DQogICAgICAgICAgZGF0YTogWyfmgLvmlbAnLCAn5bey56e75LqkJ10sDQogICAgICAgICAgYWxpZ246ICdsZWZ0JywNCiAgICAgICAgICBwYWRkaW5nOiBbMTUsIDAsIDAsIDBdLA0KICAgICAgICB9LA0KICAgICAgICBncmlkOiB7DQogICAgICAgICAgbGVmdDogJzMlJywNCiAgICAgICAgICByaWdodDogJzQlJywNCiAgICAgICAgICBib3R0b206ICcwJywNCiAgICAgICAgICBjb250YWluTGFiZWw6IHRydWUsDQogICAgICAgIH0sDQogICAgICAgIHhBeGlzOiBbDQogICAgICAgICAgew0KICAgICAgICAgICAgdHlwZTogJ2NhdGVnb3J5JywNCiAgICAgICAgICAgIGRhdGE6IHhEYXRhLA0KICAgICAgICAgICAgYXhpc1RpY2s6IHsNCiAgICAgICAgICAgICAgc2hvdzogZmFsc2UsDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgYXhpc0xhYmVsOiB7DQogICAgICAgICAgICAgIGludGVydmFsOiAwLCAvL+WdkOagh+WIu+W6puS5i+mXtOeahOaYvuekuumXtOmalO+8jOm7mOiupOWwseWPr+S7peS6hu+8iOm7mOiupOaYr+S4jemHjeWPoO+8iQ0KICAgICAgICAgICAgICByb3RhdGU6IDM4ICAgLy/osIPmlbTmlbDlgLzmlLnlj5jlgL7mlpznmoTluYXluqbvvIjojIPlm7QtOTDliLA5MO+8iQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGF4aXNMaW5lOiB7DQogICAgICAgICAgICAgIHNob3c6IHRydWUsDQogICAgICAgICAgICAgIGxpbmVTdHlsZTogew0KICAgICAgICAgICAgICAgIGNvbG9yOiAnI0ExQTlCMicsIC8vIOa1heeBsOiJsg0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICB9LA0KICAgICAgICBdLA0KICAgICAgICB5QXhpczogWw0KICAgICAgICAgIHsNCiAgICAgICAgICAgIHR5cGU6ICd2YWx1ZScsDQogICAgICAgICAgICBuYW1lOiAn5Y2V5L2N77ya5LqpJywNCiAgICAgICAgICAgIGF4aXNMYWJlbDogew0KICAgICAgICAgICAgICBmb3JtYXR0ZXI6ICd7dmFsdWV9JywNCg0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNwbGl0TGluZTogew0KICAgICAgICAgICAgICBzaG93OiBmYWxzZSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBheGlzTGluZTogew0KICAgICAgICAgICAgICBzaG93OiB0cnVlLA0KICAgICAgICAgICAgICBsaW5lU3R5bGU6IHsNCiAgICAgICAgICAgICAgICBjb2xvcjogJyNBMUE5QjInLCAvLyDmtYXngbDoibINCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgfQ0KICAgICAgICBdLA0KICAgICAgICBzZXJpZXM6IFsNCiAgICAgICAgICB7DQogICAgICAgICAgICBuYW1lOiAn5bey56e75LqkJywNCiAgICAgICAgICAgIHR5cGU6ICdiYXInLA0KICAgICAgICAgICAgZGF0YTogYm9va0RhdGEsDQogICAgICAgICAgICBiYXJXaWR0aDogJzE1JywNCiAgICAgICAgICAgIHN0YWNrOiAndXNlcicsDQogICAgICAgICAgICBpdGVtU3R5bGU6IHsNCiAgICAgICAgICAgICAgY29sb3I6ICcjNTVFREIwJywgLy8g5riQ5Y+Y6LW35aeL6aKc6Imy77yI57u/6Imy77yJDQogICAgICAgICAgICB9LA0KICAgICAgICAgIH0sDQogICAgICAgICAgew0KICAgICAgICAgICAgbmFtZTogJ+aAu+aVsCcsDQogICAgICAgICAgICB0eXBlOiAnYmFyJywNCiAgICAgICAgICAgIGRhdGE6IGJvb2tEYXRhLA0KICAgICAgICAgICAgYmFyV2lkdGg6ICcxNScsDQogICAgICAgICAgICBzdGFjazogJ3VzZXInLA0KICAgICAgICAgICAgaXRlbVN0eWxlOiB7DQogICAgICAgICAgICAgIGNvbG9yOiAnIzY2QjJGRicsIC8vIOa4kOWPmOi1t+Wni+minOiJsu+8iOe7v+iJsu+8iQ0KICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6IFszLCAzLCAwLCAwXSwgLy8g6K6+572u5ZyG6KeS5aSn5bCPDQogICAgICAgICAgICB9LA0KICAgICAgICAgIH0sDQogICAgICAgIF0sDQogICAgICB9DQogICAgICBjaGFydERvbS5zZXRPcHRpb24ob3B0aW9uKQ0KICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsICgpID0+IHsNCiAgICAgICAgY2hhcnREb20ucmVzaXplKCkNCiAgICAgIH0pDQogICAgfSwNCg0KICB9LA0KICBiZWZvcmVEZXN0cm95KCkgeyB9LA0KfQ0K"},null]}