You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
35 KiB
1 lines
35 KiB
{"remainingRequest":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\thread-loader\\dist\\cjs.js!F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js!F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\src\\views\\project\\report\\copyInport.vue?vue&type=script&lang=js&","dependencies":[{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\src\\views\\project\\report\\copyInport.vue","mtime":1644573163574},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRjovd29ya3NwYWNlL2djeS9SSy1odG1sL1JLLXByb2plY3QvcnVveWktdWkvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFNwcmVhZDIiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuc2xpY2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmluZC1pbmRleC5qcyI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCmltcG9ydCBCYXJMaW5lQ2hhcnQgZnJvbSAiLi4vLi4vZGFzaGJvYXJkL0JhckxpbmVDaGFydCI7CmltcG9ydCBEdWlkaWVDaGFydCBmcm9tICIuLi8uLi9kYXNoYm9hcmQvRHVpZGllQ2hhcnQiOwppbXBvcnQgU2VjcmV0UGllQ2hhcnQgZnJvbSAiLi4vLi4vZGFzaGJvYXJkL1NlY3JldFBpZUNoYXJ0IjsKaW1wb3J0IFR5cGVQaWVDaGFydCBmcm9tICIuLi8uLi9kYXNoYm9hcmQvVHlwZVBpZUNoYXJ0IjsKaW1wb3J0IEJMWWlUdW9DaGFydCBmcm9tICIuLi8uLi9kYXNoYm9hcmQvQkxZaVR1b0NoYXJ0IjsKaW1wb3J0IFBpZUNoYXJ0IGZyb20gIi4uLy4uL2Rhc2hib2FyZC9QaWVDaGFydCI7CmltcG9ydCBCYXJDaGFydDMgZnJvbSAiLi4vLi4vL2Rhc2hib2FyZC9CYXJDaGFydDMiOwppbXBvcnQgQWR2aXNlTmFtZUNoYXJ0IGZyb20gIi4uLy4uL2Rhc2hib2FyZC9BZHZpc2VOYW1lQ2hhcnQiOwppbXBvcnQgQ2lyY2xlQ2hhcnQyIGZyb20gIi4uLy4uL2Rhc2hib2FyZC9DaXJjbGVDaGFydDIiOwppbXBvcnQgeyBsZWZ0MURhdGEsIGNlbnRlcjVEYXRhLCBjZW50ZXIyRGF0YSwgcmlnaHQzRGF0YSwgbGVmdDREYXRhLCByaWdodDZEYXRhLCBsZWZ0N0RhdGEsIGNlbnRlcjhEYXRhLCBzdGF0aXN0aWNzLCBjb3VudFByb2plY3QsIGxlZnQxRGF0YTIgfSBmcm9tICJAL2FwaS9wcm9qZWN0L2luZm8zIjsKaW1wb3J0IHsgc2hpdHVEYXRhMiwgc2hpdHVEYXRhOCB9IGZyb20gIkAvYXBpL3Byb2plY3QvaW5zdHJ1Y3Rpb24iOwppbXBvcnQgVXRpbHMgZnJvbSAiQC91dGlscy91dGlscyI7CmltcG9ydCB7IG1hcE11dGF0aW9ucyB9IGZyb20gJ3Z1ZXgnOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogImluZGV4IiwKICBjb21wb25lbnRzOiB7CiAgICBCYXJMaW5lQ2hhcnQ6IEJhckxpbmVDaGFydCwKICAgIER1aWRpZUNoYXJ0OiBEdWlkaWVDaGFydCwKICAgIFNlY3JldFBpZUNoYXJ0OiBTZWNyZXRQaWVDaGFydCwKICAgIFR5cGVQaWVDaGFydDogVHlwZVBpZUNoYXJ0LAogICAgQkxZaVR1b0NoYXJ0OiBCTFlpVHVvQ2hhcnQsCiAgICBQaWVDaGFydDogUGllQ2hhcnQsCiAgICBCYXJDaGFydDM6IEJhckNoYXJ0MywKICAgIEFkdmlzZU5hbWVDaGFydDogQWR2aXNlTmFtZUNoYXJ0LAogICAgQ2lyY2xlQ2hhcnQyOiBDaXJjbGVDaGFydDIKICB9LAogIHByb3BzOiB7fSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgYWN0aXZlOiAienRnayIsCiAgICAgIHllYXI6ICI5OTkiLAogICAgICB5ZWFyMjogJzIwMTblubToh7Pku4onLAogICAgICB5ZWFyUmFkaW8yOiAiOTk5IiwKICAgICAgYXBwcnB2YWw6ICcnLAogICAgICBpbnN0cnVjdGlvbnM6ICcnLAogICAgICBwcm9wb3NhbDogJycsCiAgICAgIHJlcG9ydDogJycsCiAgICAgIHpqZjogJycsCiAgICAgIGJsVGl0bGU6ICIiLAogICAgICBibFg6IFtdLAogICAgICBibExnOiBbXSwKICAgICAgYmxTZXI6IFtdLAogICAgICBkZFg6IFtdLAogICAgICBkZExnOiBbXSwKICAgICAgZGRTZXI6IFtdLAogICAgICBzZWNyZXREYXRhOiBbXSwKICAgICAgb3RUaXRsZTogIiIsCiAgICAgIHR5cGVsZzogW10sCiAgICAgIHR5cGVEYXRhOiBbXSwKICAgICAgeEF4aXNDZW50ZXI3OiBbXSwKICAgICAgYXhpc0NlbnRlcjdUb3A0OiBbXSwKICAgICAgcHJvamVjdENvdW50OiBbXSwKICAgICAgc2VyaWVzQ2VudGVyNzogW10sCiAgICAgIHBpZURhdGE6IFtdLAogICAgICBwaWVMZ0RhdGE6IFtdLAogICAgICB4QXhpc0NlbnRlcjg6IFtdLAogICAgICBzZXJpZXNDZW50ZXI4OiBbXSwKICAgICAgeEF4aXNDZW50ZXI5OiBbXSwKICAgICAgc2VyaWVzQ2VudGVyOTogW10sCiAgICAgIGltS2V5RGF0YTogW10sCiAgICAgIGltS2V5RGF0YTI6IFtdLAogICAgICBqeUFycmF5OiBbXSwKICAgICAgbGVmdE1lbnU6IFt7CiAgICAgICAgdHlwZTogInp0Z2siLAogICAgICAgIG5hbWU6ICLmgLvkvZPmpoLlhrUiCiAgICAgIH0sIHsKICAgICAgICB0eXBlOiAieG1mbCIsCiAgICAgICAgbmFtZTogIumhueebruWIhuexuyIKICAgICAgfSwgewogICAgICAgIHR5cGU6ICJjZGR3IiwKICAgICAgICBuYW1lOiAi5om/5ouF5Y2V5L2NIgogICAgICB9LCB7CiAgICAgICAgdHlwZTogInF0eXMiLAogICAgICAgIG5hbWU6ICLnibXlpLTpmaLlo6siCiAgICAgIH0sIHsKICAgICAgICB0eXBlOiAieWpyZCIsCiAgICAgICAgbmFtZTogIueglOeptueDreeCuSIKICAgICAgfV0sCiAgICAgIHllYXJBcnI6IFtdLAogICAgICBjb3VudFByb2plY3Q6IHt9LAogICAgICBhY2FkZW1pY2lhbkNvdW50OiBbXQogICAgfTsKICB9LAogIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7CiAgICB0aGlzLnllYXJBcnIgPSBbXTsKICAgIHRoaXMueWVhckFyci5wdXNoKHsKICAgICAgbmFtZTogIjIwMTblubQt5LuKIiwKICAgICAgdmFsdWU6ICI5OTkiCiAgICB9KTsKICAgIHZhciB5ZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpOwoKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgNjsgaSsrKSB7CiAgICAgIHRoaXMueWVhckFyci5wdXNoKHsKICAgICAgICBuYW1lOiB5ZWFyIC0gaSwKICAgICAgICB2YWx1ZTogeWVhciAtIGkKICAgICAgfSk7CiAgICB9CgogICAgdmFyIHBhcmFtID0gewogICAgICB5ZWFyUmFkaW8yOiA5OTkKICAgIH07CiAgICB0aGlzLnllYXJBcnIucHVzaCh7CiAgICAgIG5hbWU6ICIyMDE25bm05Lul5YmNIiwKICAgICAgdmFsdWU6ICIyMDE1IgogICAgfSk7CiAgICB0aGlzLmdldExlZnQxKHBhcmFtKTsKICAgIHRoaXMuZ2V0UmlnaHQxKCk7CiAgICB0aGlzLmdldExlZnQyKHBhcmFtKTsKICAgIHRoaXMuZ2V0UmlnaHQyKHBhcmFtKTsKICAgIHRoaXMuZ2V0TGVmdDMocGFyYW0pOwogICAgdGhpcy5nZXRSaWdodDMocGFyYW0pOwogICAgdGhpcy5nZXRMZWZ0NChwYXJhbSk7CiAgICB0aGlzLmdldFJpZ2h0NChwYXJhbSk7CiAgICB0aGlzLmdldExlZnQ1KHBhcmFtKTsKICAgIHRoaXMuZ2V0U3RhdGlzdGljcyhwYXJhbSk7IC8vICB0aGlzLmdldFByb2plY3RDb3VudCgpCgogICAgdGhpcy5nZXRMZWZ0NygpOwogIH0sCiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHt9LAogIG1ldGhvZHM6IF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgbWFwTXV0YXRpb25zKFsnY2hhbmdlVGl0bGUnXSkpLCB7fSwgewogICAgcGxhbjogZnVuY3Rpb24gcGxhbih0aXRsZSkgewogICAgICBVdGlscy4kZW1pdCgnZGVtbycsIHRpdGxlKTsgLy9tc2fkuLrkvKDpgJLlj4LmlbDvvIzlkI7pnaLlj6/ku6XntKfot5/lpJrkuKrlj4LmlbAKICAgIH0sCiAgICBzZWFyY2g6IGZ1bmN0aW9uIHNlYXJjaCh5KSB7CiAgICAgIHRoaXMueWVhcjIgPSB5Lm5hbWU7CiAgICAgIHRoaXMueWVhciA9IHkudmFsdWU7CiAgICAgIHRoaXMueWVhclJhZGlvMiA9IHkudmFsdWU7CiAgICAgIHZhciBwYXJhbSA9IHsKICAgICAgICB5ZWFyUmFkaW8yOiB5LnZhbHVlCiAgICAgIH07CiAgICAgIHRoaXMuZ2V0TGVmdDEocGFyYW0pOwogICAgICB0aGlzLmdldFJpZ2h0MSgpOwogICAgICB0aGlzLmdldExlZnQyKHBhcmFtKTsKICAgICAgdGhpcy5nZXRSaWdodDIocGFyYW0pOwogICAgICB0aGlzLmdldExlZnQzKHBhcmFtKTsKICAgICAgdGhpcy5nZXRSaWdodDMocGFyYW0pOwogICAgICB0aGlzLmdldExlZnQ0KHBhcmFtKTsKICAgICAgdGhpcy5nZXRSaWdodDQocGFyYW0pOwogICAgICB0aGlzLmdldExlZnQ1KHBhcmFtKTsKICAgICAgdGhpcy5nZXRTdGF0aXN0aWNzKHBhcmFtKTsKICAgICAgdGhpcy5nZXRMZWZ0NyhwYXJhbSk7CiAgICB9LAogICAgZ2V0U3RhdGlzdGljczogZnVuY3Rpb24gZ2V0U3RhdGlzdGljcyhxdWVyeVBhcmFtcykgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwoKICAgICAgc3RhdGlzdGljcyhxdWVyeVBhcmFtcykudGhlbihmdW5jdGlvbiAocmVzcCkgewogICAgICAgIF90aGlzLmFwcHJwdmFsID0gcmVzcC5kYXRhLmFwcHJwdmFsOwogICAgICAgIF90aGlzLnpqZiA9IHJlc3AuZGF0YS56amY7CiAgICAgICAgX3RoaXMucmVwb3J0ID0gcmVzcC5kYXRhLnJlcG9ydDsKICAgICAgICBfdGhpcy5wcm9wb3NhbCA9IHJlc3AuZGF0YS5wcm9wb3NhbDsKICAgICAgICBfdGhpcy5pbnN0cnVjdGlvbnMgPSByZXNwLmRhdGEuaW5zdHJ1Y3Rpb25zOwogICAgICB9KTsKICAgIH0sCiAgICBnZXRMZWZ0MTogZnVuY3Rpb24gZ2V0TGVmdDEocXVlcnlQYXJhbXMpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CgogICAgICBsZWZ0N0RhdGEocXVlcnlQYXJhbXMpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHsKICAgICAgICBpZiAoX3RoaXMyLnllYXJSYWRpbzIgPT0gJzIwMTUnKSB7CiAgICAgICAgICBfdGhpczIub3RUaXRsZSA9ICIyMDE25bm05Lul5YmNIjsKICAgICAgICB9IGVsc2UgaWYgKF90aGlzMi55ZWFyUmFkaW8yID09ICc5OTknKSB7CiAgICAgICAgICBfdGhpczIub3RUaXRsZSA9ICIyMDE2LeS7iiI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIF90aGlzMi5vdFRpdGxlID0gX3RoaXMyLnllYXJSYWRpbzIgKyAi5bm0IjsKICAgICAgICB9CgogICAgICAgIHZhciB0ZW1wID0gW107CiAgICAgICAgdmFyIGl0ZW0gPSB7fTsKICAgICAgICBpdGVtLm5hbWUgPSAn57uP6LS55pWwJzsKICAgICAgICBpdGVtLnR5cGUgPSAnYmFyJzsKICAgICAgICBpdGVtLmJhckdhcCA9ICItMTAwJSI7CiAgICAgICAgaXRlbS5kYXRhID0gcmVzcC5kYXRhLnlqZkFycmF5OwogICAgICAgIHRlbXAucHVzaChpdGVtKTsKICAgICAgICB2YXIgaXRlbTEgPSB7fTsKICAgICAgICBpdGVtMS5uYW1lID0gJ+WunumZhee7j+i0uSc7CiAgICAgICAgaXRlbTEudHlwZSA9ICdiYXInOwogICAgICAgIGl0ZW0xLnlBeGlzSW5kZXggPSAxOwogICAgICAgIGl0ZW0xLmJhckdhcCA9ICItMTAwJSI7CiAgICAgICAgaXRlbTEuZGF0YSA9IHJlc3AuZGF0YS55U2pqZkFycmF5OwogICAgICAgIHRlbXAucHVzaChpdGVtMSk7CiAgICAgICAgdmFyIGl0ZW0yID0ge307CiAgICAgICAgaXRlbTIubmFtZSA9ICfpobnnm67mlbAnOwogICAgICAgIGl0ZW0yLnR5cGUgPSAnbGluZSc7CiAgICAgICAgaXRlbTIueUF4aXNJbmRleCA9IDI7CiAgICAgICAgaXRlbTIuZGF0YSA9IHJlc3AuZGF0YS55TnVtQXJyYXk7CiAgICAgICAgdGVtcC5wdXNoKGl0ZW0yKTsKICAgICAgICBfdGhpczIuc2VyaWVzQ2VudGVyNyA9IHRlbXA7CiAgICAgICAgX3RoaXMyLnhBeGlzQ2VudGVyNyA9IHJlc3AuZGF0YS54QXhpc0FycmF5OwogICAgICAgIF90aGlzMi5heGlzQ2VudGVyN1RvcDQgPSBfdGhpczIueEF4aXNDZW50ZXI3Lmxlbmd0aCA+IDQgPyBfdGhpczIueEF4aXNDZW50ZXI3LnNsaWNlKDAsIDQpIDogX3RoaXMyLnhBeGlzQ2VudGVyNzsKICAgICAgfSk7CiAgICB9LAogICAgZ2V0UmlnaHQxOiBmdW5jdGlvbiBnZXRSaWdodDEocGFyYW0pIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CgogICAgICBzaGl0dURhdGEyKHBhcmFtKS50aGVuKGZ1bmN0aW9uIChyc3ApIHsKICAgICAgICBfdGhpczMuZGRYID0gcnNwLmRhdGEueWVhckFycmF5OwogICAgICAgIF90aGlzMy5kZExnID0gWyfmnInmibnnpLonLCAn5peg5om556S6J107CiAgICAgICAgdmFyIHRlbXAgPSBbXTsKICAgICAgICB2YXIgaXRlbSA9IHt9OwogICAgICAgIGl0ZW0ubmFtZSA9ICfmnInmibnnpLonOwogICAgICAgIGl0ZW0udHlwZSA9ICdiYXInOwogICAgICAgIGl0ZW0uc3RhY2sgPSAnb25lJzsKICAgICAgICBpdGVtLmJhcldpZHRoID0gIjUwJSI7CiAgICAgICAgaXRlbS5kYXRhID0gcnNwLmRhdGEueW91QXJyYXk7CiAgICAgICAgaXRlbS5pdGVtU3R5bGUgPSB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgLy/ov5nph4zmmK/ph43ngrkKICAgICAgICAgICAgY29sb3I6ICdyZ2IoMjEsMTEyLDE5OCknCiAgICAgICAgICB9CiAgICAgICAgfTsKICAgICAgICB0ZW1wLnB1c2goaXRlbSk7CiAgICAgICAgdmFyIGl0ZW0yID0ge307CiAgICAgICAgaXRlbTIubmFtZSA9ICfml6DmibnnpLonOwogICAgICAgIGl0ZW0yLnR5cGUgPSAnYmFyJzsKICAgICAgICBpdGVtMi5zdGFjayA9ICdvbmUnOwogICAgICAgIGl0ZW0yLmJhcldpZHRoID0gIjUwJSI7CiAgICAgICAgaXRlbTIuZGF0YSA9IHJzcC5kYXRhLnd1QXJyYXk7CiAgICAgICAgaXRlbTIuaXRlbVN0eWxlID0gewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIC8v6L+Z6YeM5piv6YeN54K5CiAgICAgICAgICAgIGNvbG9yOiAncmdiKDIyMiwxNzcsNjIpJwogICAgICAgICAgfQogICAgICAgIH07CiAgICAgICAgdGVtcC5wdXNoKGl0ZW0yKTsKICAgICAgICBfdGhpczMuZGRTZXIgPSB0ZW1wOwogICAgICB9KTsKICAgIH0sCiAgICBnZXRMZWZ0MjogZnVuY3Rpb24gZ2V0TGVmdDIocXVlcnlQYXJhbXMpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CgogICAgICBjZW50ZXIyRGF0YShxdWVyeVBhcmFtcykudGhlbihmdW5jdGlvbiAocmVzcCkgewogICAgICAgIGlmIChfdGhpczQueWVhclJhZGlvMiA9PSAnMjAxNScpIHsKICAgICAgICAgIF90aGlzNC5vdFRpdGxlID0gIjIwMTblubTku6XliY0iOwogICAgICAgIH0gZWxzZSBpZiAoX3RoaXM0LnllYXJSYWRpbzIgPT0gJzk5OScpIHsKICAgICAgICAgIF90aGlzNC5vdFRpdGxlID0gIjIwMTYt5LuKIjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgX3RoaXM0Lm90VGl0bGUgPSBfdGhpczQueWVhclJhZGlvMiArICLlubQiOwogICAgICAgIH0KCiAgICAgICAgX3RoaXM0LnNlY3JldERhdGEgPSByZXNwLmRhdGEuc2VjcmV0RGF0YTsgLy8gdGhpcy5zZWNyZXREYXRhLmZvckVhY2goaXRlbT0+ewogICAgICAgIC8vICAgaWYgKGl0ZW0ubmFtZT09J+acuuWvhicpewogICAgICAgIC8vICAgICBpdGVtLml0ZW1TdHlsZT0gewogICAgICAgIC8vICAgICAgIGNvbG9yOiAiI2U4MjQwZSIKICAgICAgICAvLyAgICAgfTsKICAgICAgICAvLyAgIH1lbHNlIGlmIChpdGVtLm5hbWU9PSfnp5jlr4YnKXsKICAgICAgICAvLyAgICAgaXRlbS5pdGVtU3R5bGU9ewogICAgICAgIC8vICAgICAgIGNvbG9yOiAiI2ZmNjA0ZSIKICAgICAgICAvLyAgICAgfQogICAgICAgIC8vICAgfWVsc2UgaWYgKGl0ZW0ubmFtZT09J+WGhemDqCcpewogICAgICAgIC8vICAgICBpdGVtLml0ZW1TdHlsZT17CiAgICAgICAgLy8gICAgICAgY29sb3I6ICIjMjI1MGJiIgogICAgICAgIC8vICAgICB9CiAgICAgICAgLy8gICB9ZWxzZSBpZiAoaXRlbS5uYW1lPT0n6Z2e5a+GJyl7CiAgICAgICAgLy8gICAgIGl0ZW0uaXRlbVN0eWxlPXsKICAgICAgICAvLyAgICAgICBjb2xvcjoiIzAwOTVmZiIKICAgICAgICAvLyAgICAgfQogICAgICAgIC8vICAgfQogICAgICAgIC8vIH0pCgogICAgICAgIF90aGlzNC5jb3VudFByb2plY3QgPSBfdGhpczQuc2VjcmV0RGF0YTsKCiAgICAgICAgaWYgKF90aGlzNC5jb3VudFByb2plY3QubGVuZ3RoID4gMCkgewogICAgICAgICAgX3RoaXM0LmNvdW50UHJvamVjdC5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgIHZhciBzZWNOYW1lID0gaXRlbS5uYW1lOwogICAgICAgICAgICB2YXIgc2VjTGV2ZWwgPSAiIjsKCiAgICAgICAgICAgIGlmIChzZWNOYW1lKSB7CiAgICAgICAgICAgICAgc3dpdGNoIChzZWNOYW1lKSB7CiAgICAgICAgICAgICAgICBjYXNlICLmnLrlr4YiOgogICAgICAgICAgICAgICAgICBzZWNMZXZlbCA9ICIxIjsKICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAi56eY5a+GIjoKICAgICAgICAgICAgICAgICAgc2VjTGV2ZWwgPSAiMiI7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgIuWGhemDqCI6CiAgICAgICAgICAgICAgICAgIHNlY0xldmVsID0gIjQiOwogICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICLpnZ7lr4YiOgogICAgICAgICAgICAgICAgICBzZWNMZXZlbCA9ICIzIjsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBpdGVtLnNlY0xldmVsID0gc2VjTGV2ZWw7CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIGdldFJpZ2h0MjogZnVuY3Rpb24gZ2V0UmlnaHQyKHF1ZXJ5UGFyYW1zKSB7CiAgICAgIHZhciBfdGhpczUgPSB0aGlzOwoKICAgICAgcmlnaHQzRGF0YShxdWVyeVBhcmFtcykudGhlbihmdW5jdGlvbiAocmVzcCkgewogICAgICAgIGlmIChfdGhpczUueWVhclJhZGlvMiA9PSAnMjAxNScpIHsKICAgICAgICAgIF90aGlzNS5vdFRpdGxlID0gIjIwMTblubTku6XliY0iOwogICAgICAgIH0gZWxzZSBpZiAoX3RoaXM1LnllYXJSYWRpbzIgPT0gJzk5OScpIHsKICAgICAgICAgIF90aGlzNS5vdFRpdGxlID0gIjIwMTYt5LuKIjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgX3RoaXM1Lm90VGl0bGUgPSBfdGhpczUueWVhclJhZGlvMiArICLlubQiOwogICAgICAgIH0KCiAgICAgICAgX3RoaXM1LnR5cGVsZyA9IHJlc3AuZGF0YS5sZWdlbmREYXRhOwogICAgICAgIF90aGlzNS50eXBlRGF0YSA9IHJlc3AuZGF0YS5waWVEYXRhOwoKICAgICAgICBpZiAoX3RoaXM1LnR5cGVEYXRhLmxlbmd0aCA+IDApIHsKICAgICAgICAgIF90aGlzNS50eXBlRGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgIHZhciB0eXBlTmFtZSA9IGl0ZW0ubmFtZTsKICAgICAgICAgICAgdmFyIHR5cGVJZCA9ICIiOwoKICAgICAgICAgICAgaWYgKHR5cGVOYW1lKSB7CiAgICAgICAgICAgICAgc3dpdGNoICh0eXBlTmFtZSkgewogICAgICAgICAgICAgICAgY2FzZSAi6YeN5aSnIjoKICAgICAgICAgICAgICAgICAgdHlwZUlkID0gIjEiOwogICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICLph43ngrkiOgogICAgICAgICAgICAgICAgICB0eXBlSWQgPSAiMiI7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgIuWtpumDqOmHjeWkpyI6CiAgICAgICAgICAgICAgICAgIHR5cGVJZCA9ICIxNyI7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgIuWtpumDqOmHjeeCuSI6CiAgICAgICAgICAgICAgICAgIHR5cGVJZCA9ICIxOSI7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgIumrmOerr+aZuuW6kyI6CiAgICAgICAgICAgICAgICAgIHR5cGVJZCA9ICI2IjsKICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAi6KGM5Lia6Zmi6YeN54K5IjoKICAgICAgICAgICAgICAgICAgdHlwZUlkID0gIjE2IjsKICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAi6KGM5Lia6Zmi6YeN5aSnIjoKICAgICAgICAgICAgICAgICAgdHlwZUlkID0gIjE4IjsKICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAi5YW25LuWIjoKICAgICAgICAgICAgICAgICAgdHlwZUlkID0gIjk5OSI7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgaXRlbS50eXBlSWQgPSB0eXBlSWQ7CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIGdldExlZnQzOiBmdW5jdGlvbiBnZXRMZWZ0MyhxdWVyeVBhcmFtcykgewogICAgICB2YXIgX3RoaXM2ID0gdGhpczsKCiAgICAgIGxlZnQ3RGF0YShxdWVyeVBhcmFtcykudGhlbihmdW5jdGlvbiAocmVzcCkgewogICAgICAgIGlmIChfdGhpczYueWVhclJhZGlvMiA9PSAnMjAxNScpIHsKICAgICAgICAgIF90aGlzNi5vdFRpdGxlID0gIjIwMTblubTku6XliY0iOwogICAgICAgIH0gZWxzZSBpZiAoX3RoaXM2LnllYXJSYWRpbzIgPT0gJzk5OScpIHsKICAgICAgICAgIF90aGlzNi5vdFRpdGxlID0gIjIwMTYt5LuKIjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgX3RoaXM2Lm90VGl0bGUgPSBfdGhpczYueWVhclJhZGlvMiArICLlubQiOwogICAgICAgIH0KCiAgICAgICAgdmFyIHRlbXAgPSBbXTsKICAgICAgICB2YXIgaXRlbSA9IHt9OwogICAgICAgIGl0ZW0ubmFtZSA9ICfnu4/otLnmlbAnOwogICAgICAgIGl0ZW0udHlwZSA9ICdiYXInOwogICAgICAgIGl0ZW0uYmFyR2FwID0gIi0xMDAlIjsKICAgICAgICBpdGVtLmRhdGEgPSByZXNwLmRhdGEueWpmQXJyYXk7CiAgICAgICAgaXRlbS5pdGVtU3R5bGUgPSB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgLy/ov5nph4zmmK/ph43ngrkKICAgICAgICAgICAgY29sb3I6ICdyZ2IoMTI5LDE2MiwyNTUpJwogICAgICAgICAgfQogICAgICAgIH07CiAgICAgICAgdGVtcC5wdXNoKGl0ZW0pOwogICAgICAgIHZhciBpdGVtMSA9IHt9OwogICAgICAgIGl0ZW0xLm5hbWUgPSAn5a6e6ZmF57uP6LS5JzsKICAgICAgICBpdGVtMS50eXBlID0gJ2Jhcic7CiAgICAgICAgaXRlbTEueUF4aXNJbmRleCA9IDE7CiAgICAgICAgaXRlbTEuYmFyR2FwID0gIi0xMDAlIjsKICAgICAgICBpdGVtMS5kYXRhID0gcmVzcC5kYXRhLnlTampmQXJyYXk7CiAgICAgICAgaXRlbTEuaXRlbVN0eWxlID0gewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIC8v6L+Z6YeM5piv6YeN54K5CiAgICAgICAgICAgIGNvbG9yOiAncmdiKDg0LDExMSwxOTgpJwogICAgICAgICAgfQogICAgICAgIH07CiAgICAgICAgdGVtcC5wdXNoKGl0ZW0xKTsKICAgICAgICB2YXIgaXRlbTIgPSB7fTsKICAgICAgICBpdGVtMi5uYW1lID0gJ+mhueebruaVsCc7CiAgICAgICAgaXRlbTIudHlwZSA9ICdsaW5lJzsKICAgICAgICBpdGVtMi55QXhpc0luZGV4ID0gMjsKICAgICAgICBpdGVtMi5kYXRhID0gcmVzcC5kYXRhLnlOdW1BcnJheTsKICAgICAgICBpdGVtMi5pdGVtU3R5bGUgPSB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgLy/ov5nph4zmmK/ph43ngrkKICAgICAgICAgICAgY29sb3I6ICdyZ2IoMjIyLDE3Nyw2MiknCiAgICAgICAgICB9CiAgICAgICAgfTsKICAgICAgICB0ZW1wLnB1c2goaXRlbTIpOwogICAgICAgIF90aGlzNi5zZXJpZXNDZW50ZXI3ID0gdGVtcDsKICAgICAgICBfdGhpczYueEF4aXNDZW50ZXI3ID0gcmVzcC5kYXRhLnhBeGlzQXJyYXk7CiAgICAgIH0pOwogICAgfSwKICAgIGdldFJpZ2h0MzogZnVuY3Rpb24gZ2V0UmlnaHQzKHF1ZXJ5UGFyYW1zKSB7CiAgICAgIHZhciBfdGhpczcgPSB0aGlzOwoKICAgICAgbGVmdDREYXRhKHF1ZXJ5UGFyYW1zKS50aGVuKGZ1bmN0aW9uIChyZXNwKSB7CiAgICAgICAgX3RoaXM3LnByb2plY3RDb3VudCA9IFtdOwoKICAgICAgICBpZiAoX3RoaXM3LnllYXJSYWRpbzIgPT0gJzIwMTUnKSB7CiAgICAgICAgICBfdGhpczcub3RUaXRsZSA9ICIyMDE25bm05Lul5YmNIjsKICAgICAgICB9IGVsc2UgaWYgKF90aGlzNy55ZWFyUmFkaW8yID09ICc5OTknKSB7CiAgICAgICAgICBfdGhpczcub3RUaXRsZSA9ICIyMDE2LeS7iiI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIF90aGlzNy5vdFRpdGxlID0gX3RoaXM3LnllYXJSYWRpbzIgKyAi5bm0IjsKICAgICAgICB9CgogICAgICAgIF90aGlzNy5waWVMZ0RhdGEgPSByZXNwLmRhdGEubGVnZW5kRGF0YTsKICAgICAgICBfdGhpczcucGllRGF0YSA9IHJlc3AuZGF0YS5waWVEYXRhOwoKICAgICAgICBfdGhpczcucGllRGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICB2YXIgZGVwdE5hbWUgPSBpdGVtLm5hbWU7CiAgICAgICAgICB2YXIgaXRlbVN0eWxlID0gIiI7CgogICAgICAgICAgaWYgKGRlcHROYW1lKSB7CiAgICAgICAgICAgIHN3aXRjaCAoZGVwdE5hbWUpIHsKICAgICAgICAgICAgICBjYXNlICLmnLrmorDkuI7ov5Dovb3lt6XnqIvlrabpg6giOgogICAgICAgICAgICAgICAgaXRlbVN0eWxlID0gewogICAgICAgICAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgICAgICAgICAvL+i/memHjOaYr+mHjeeCuQogICAgICAgICAgICAgICAgICAgIGNvbG9yOiAncmdiKDg5LDk4LDI1NSknCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgY2FzZSAi5L+h5oGv5LiO55S15a2Q5bel56iL5a2m6YOoIjoKICAgICAgICAgICAgICAgIGl0ZW1TdHlsZSA9IHsKICAgICAgICAgICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgICAgICAgICAgLy/ov5nph4zmmK/ph43ngrkKICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYig0NCw1NiwyNTQpJwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgIGNhc2UgIuWMluW3peOAgeWGtumHkeS4juadkOaWmeW3peeoi+WtpumDqCI6CiAgICAgICAgICAgICAgICBpdGVtU3R5bGUgPSB7CiAgICAgICAgICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICAgICAgICAgIC8v6L+Z6YeM5piv6YeN54K5CiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdyZ2IoMjU1LDE5OSwwKScKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICBjYXNlICLog73mupDkuI7nn7/kuJrlt6XnqIvlrabpg6giOgogICAgICAgICAgICAgICAgaXRlbVN0eWxlID0gewogICAgICAgICAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgICAgICAgICAvL+i/memHjOaYr+mHjeeCuQogICAgICAgICAgICAgICAgICAgIGNvbG9yOiAncmdiKDI0OCw5OCw0NyknCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgY2FzZSAi5Zyf5pyo44CB5rC05Yip5LiO5bu6562R5bel56iL5a2m6YOoIjoKICAgICAgICAgICAgICAgIGl0ZW1TdHlsZSA9IHsKICAgICAgICAgICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgICAgICAgICAgLy/ov5nph4zmmK/ph43ngrkKICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYigyMTAsMjE5LDI0NCknCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgY2FzZSAi546v5aKD5LiO6L2757q65bel56iL5a2m6YOoIjoKICAgICAgICAgICAgICAgIGl0ZW1TdHlsZSA9IHsKICAgICAgICAgICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgICAgICAgICAgLy/ov5nph4zmmK/ph43ngrkKICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYigwLDAsMTI4KScKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICBjYXNlICLlhpzkuJrlrabpg6giOgogICAgICAgICAgICAgICAgaXRlbVN0eWxlID0gewogICAgICAgICAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgICAgICAgICAvL+i/memHjOaYr+mHjeeCuQogICAgICAgICAgICAgICAgICAgIGNvbG9yOiAncmdiKDIyMiwxNzcsNjIpJwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgIGNhc2UgIuWMu+iNr+WNq+eUn+WtpumDqCI6CiAgICAgICAgICAgICAgICBpdGVtU3R5bGUgPSB7CiAgICAgICAgICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICAgICAgICAgIC8v6L+Z6YeM5piv6YeN54K5CiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdyZ2IoMCwwLDI1NSknCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgY2FzZSAi5bel56iL566h55CG5a2m6YOoIjoKICAgICAgICAgICAgICAgIGl0ZW1TdHlsZSA9IHsKICAgICAgICAgICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgICAgICAgICAgLy/ov5nph4zmmK/ph43ngrkKICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYigyMjIsMTc3LDYyKScKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICBjYXNlICLkuK3lm73lt6XnqIvpmaLmiJjnlaXlkqjor6LkuK3lv4MiOgogICAgICAgICAgICAgICAgaXRlbVN0eWxlID0gewogICAgICAgICAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgICAgICAgICAvL+i/memHjOaYr+mHjeeCuQogICAgICAgICAgICAgICAgICAgIGNvbG9yOiAncmdiKDkwLDEzMSwyNTUpJwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KCiAgICAgICAgICBpdGVtLml0ZW1TdHlsZSA9IGl0ZW1TdHlsZTsKICAgICAgICAgIGl0ZW0ubGFiZWwgPSB7CiAgICAgICAgICAgIGNvbG9yOiAiIzAwMCIKICAgICAgICAgIH07CiAgICAgICAgfSk7CgogICAgICAgIF90aGlzNy5wcm9qZWN0Q291bnQgPSBfdGhpczcucGllRGF0YS5sZW5ndGggPiAyID8gX3RoaXM3LnBpZURhdGEuc2xpY2UoMCwgMikgOiBfdGhpczcucGllRGF0YTsKCiAgICAgICAgaWYgKF90aGlzNy5wcm9qZWN0Q291bnQubGVuZ3RoID4gMCkgewogICAgICAgICAgX3RoaXM3LnByb2plY3RDb3VudC5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgIHZhciBkZXB0TmFtZSA9IGl0ZW0ubmFtZTsKICAgICAgICAgICAgdmFyIGRlcGFydG1lbnRJZCA9ICIiOwoKICAgICAgICAgICAgaWYgKGRlcHROYW1lKSB7CiAgICAgICAgICAgICAgc3dpdGNoIChkZXB0TmFtZSkgewogICAgICAgICAgICAgICAgY2FzZSAi5py65qKw5LiO6L+Q6L295bel56iL5a2m6YOoIjoKICAgICAgICAgICAgICAgICAgZGVwYXJ0bWVudElkID0gIjI1IjsKICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAi5L+h5oGv5LiO55S15a2Q5bel56iL5a2m6YOoIjoKICAgICAgICAgICAgICAgICAgZGVwYXJ0bWVudElkID0gIjI2IjsKICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAi5YyW5bel44CB5Ya26YeR5LiO5p2Q5paZ5bel56iL5a2m6YOoIjoKICAgICAgICAgICAgICAgICAgZGVwYXJ0bWVudElkID0gIjI3IjsKICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAi6IO95rqQ5LiO55+/5Lia5bel56iL5a2m6YOoIjoKICAgICAgICAgICAgICAgICAgZGVwYXJ0bWVudElkID0gIjI4IjsKICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAi5Zyf5pyo44CB5rC05Yip5LiO5bu6562R5bel56iL5a2m6YOoIjoKICAgICAgICAgICAgICAgICAgZGVwYXJ0bWVudElkID0gIjI5IjsKICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAi546v5aKD5LiO6L2757q65bel56iL5a2m6YOoIjoKICAgICAgICAgICAgICAgICAgZGVwYXJ0bWVudElkID0gIjMwIjsKICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAi5Yac5Lia5a2m6YOoIjoKICAgICAgICAgICAgICAgICAgZGVwYXJ0bWVudElkID0gIjMxIjsKICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAi5Yy76I2v5Y2r55Sf5a2m6YOoIjoKICAgICAgICAgICAgICAgICAgZGVwYXJ0bWVudElkID0gIjMyIjsKICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAi5bel56iL566h55CG5a2m6YOoIjoKICAgICAgICAgICAgICAgICAgZGVwYXJ0bWVudElkID0gIjMzIjsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBpdGVtLmRlcGFydG1lbnRJZCA9IGRlcGFydG1lbnRJZDsKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgZ2V0TGVmdDQ6IGZ1bmN0aW9uIGdldExlZnQ0KHF1ZXJ5UGFyYW1zKSB7CiAgICAgIHZhciBfdGhpczggPSB0aGlzOwoKICAgICAgY2VudGVyOERhdGEocXVlcnlQYXJhbXMpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHsKICAgICAgICBpZiAoX3RoaXM4LnllYXJSYWRpbzIgPT0gJzIwMTUnKSB7CiAgICAgICAgICBfdGhpczgub3RUaXRsZSA9ICIyMDE25bm05Lul5YmNIjsKICAgICAgICB9IGVsc2UgaWYgKF90aGlzOC55ZWFyUmFkaW8yID09ICc5OTknKSB7CiAgICAgICAgICBfdGhpczgub3RUaXRsZSA9ICIyMDE2LeS7iiI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIF90aGlzOC5vdFRpdGxlID0gX3RoaXM4LnllYXJSYWRpbzIgKyAi5bm0IjsKICAgICAgICB9CgogICAgICAgIF90aGlzOC5zZXJpZXNDZW50ZXI4ID0gcmVzcC5kYXRhLnhBeGlzQXJyYXk7CiAgICAgICAgX3RoaXM4LnhBeGlzQ2VudGVyOCA9IHJlc3AuZGF0YS55QXhpc0FycmF5OwoKICAgICAgICBfdGhpczguc2VyaWVzQ2VudGVyOC5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7fSk7CgogICAgICAgIHZhciBqamZlaUFycmF5ID0gcmVzcC5kYXRhLmppbmZlaUFycmF5OwogICAgICAgIF90aGlzOC5hY2FkZW1pY2lhbkNvdW50ID0gW107CgogICAgICAgIGZvciAodmFyIGkgPSBfdGhpczgueEF4aXNDZW50ZXI4Lmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7CiAgICAgICAgICBpZiAoaSA+PSBfdGhpczgueEF4aXNDZW50ZXI4Lmxlbmd0aCAtIDMpIHsKICAgICAgICAgICAgdmFyIG9iaiA9IHt9OwogICAgICAgICAgICBvYmoubmFtZSA9IF90aGlzOC54QXhpc0NlbnRlcjhbaV07CiAgICAgICAgICAgIG9iai52YWx1ZSA9IF90aGlzOC5zZXJpZXNDZW50ZXI4W2ldOwogICAgICAgICAgICBvYmoubW9uZXkgPSBqamZlaUFycmF5W2ldOwoKICAgICAgICAgICAgX3RoaXM4LmFjYWRlbWljaWFuQ291bnQucHVzaChvYmopOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgZ2V0UmlnaHQ0OiBmdW5jdGlvbiBnZXRSaWdodDQocXVlcnlQYXJhbXMpIHsKICAgICAgdmFyIF90aGlzOSA9IHRoaXM7CgogICAgICBzaGl0dURhdGE4KHF1ZXJ5UGFyYW1zKS50aGVuKGZ1bmN0aW9uIChyZXNwKSB7CiAgICAgICAgaWYgKF90aGlzOS55ZWFyUmFkaW8yID09ICcyMDE1JykgewogICAgICAgICAgX3RoaXM5Lm90VGl0bGUgPSAiMjAxNuW5tOS7peWJjSI7CiAgICAgICAgfSBlbHNlIGlmIChfdGhpczkueWVhclJhZGlvMiA9PSAnOTk5JykgewogICAgICAgICAgX3RoaXM5Lm90VGl0bGUgPSAiMjAxNi3ku4oiOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBfdGhpczkub3RUaXRsZSA9IF90aGlzOS55ZWFyUmFkaW8yICsgIuW5tCI7CiAgICAgICAgfQoKICAgICAgICBfdGhpczkuc2VyaWVzQ2VudGVyOSA9IHJlc3AuZGF0YS54QXhpc0FycmF5OwogICAgICAgIF90aGlzOS54QXhpc0NlbnRlcjkgPSByZXNwLmRhdGEueUF4aXNBcnJheTsKICAgICAgICBfdGhpczkuanlBcnJheSA9IFt7CiAgICAgICAgICBuYW1lOiBfdGhpczkueEF4aXNDZW50ZXI5W190aGlzOS54QXhpc0NlbnRlcjkubGVuZ3RoIC0gMV0sCiAgICAgICAgICB2YWx1ZTogX3RoaXM5LnNlcmllc0NlbnRlcjlbX3RoaXM5LnNlcmllc0NlbnRlcjkubGVuZ3RoIC0gMV0KICAgICAgICB9LCB7CiAgICAgICAgICBuYW1lOiBfdGhpczkueEF4aXNDZW50ZXI5W190aGlzOS54QXhpc0NlbnRlcjkubGVuZ3RoIC0gMl0sCiAgICAgICAgICB2YWx1ZTogX3RoaXM5LnNlcmllc0NlbnRlcjlbX3RoaXM5LnNlcmllc0NlbnRlcjkubGVuZ3RoIC0gMl0KICAgICAgICB9LCB7CiAgICAgICAgICBuYW1lOiBfdGhpczkueEF4aXNDZW50ZXI5W190aGlzOS54QXhpc0NlbnRlcjkubGVuZ3RoIC0gM10sCiAgICAgICAgICB2YWx1ZTogX3RoaXM5LnNlcmllc0NlbnRlcjlbX3RoaXM5LnNlcmllc0NlbnRlcjkubGVuZ3RoIC0gM10KICAgICAgICB9XTsKICAgICAgfSk7CiAgICB9LAogICAgZ2V0TGVmdDU6IGZ1bmN0aW9uIGdldExlZnQ1KHF1ZXJ5UGFyYW1zKSB7CiAgICAgIHZhciBfdGhpczEwID0gdGhpczsKCiAgICAgIHZhciBjb2xvckxpc3QgPSBbWycjZmY3ZjUwJywgJyM4N2NlZmEnLCAnI2RhNzBkNicsICcjMzJjZDMyJywgJyM2NDk1ZWQnLCAnI2ZmNjliNCcsICcjYmE1NWQzJywgJyNjZDVjNWMnLCAnI2ZmYTUwMCcsICcjNDBlMGQwJywgJyMxZTkwZmYnLCAnI2ZmNjM0NycsICcjN2I2OGVlJywgJyNkMDY0OGEnLCAnI2ZmZDcwMCcsICcjNmI4ZTIzJywgJyM0ZWEzOTcnLCAnIzNjYjM3MScsICcjYjg4NjBiJywgJyM3YmQ5YTUnXSwgWycjZmY3ZjUwJywgJyM4N2NlZmEnLCAnI2RhNzBkNicsICcjMzJjZDMyJywgJyM2NDk1ZWQnLCAnI2ZmNjliNCcsICcjYmE1NWQzJywgJyNjZDVjNWMnLCAnI2ZmYTUwMCcsICcjNDBlMGQwJywgJyMxZTkwZmYnLCAnI2ZmNjM0NycsICcjN2I2OGVlJywgJyMwMGZhOWEnLCAnI2ZmZDcwMCcsICcjNmI4ZTIzJywgJyNmZjAwZmYnLCAnIzNjYjM3MScsICcjYjg4NjBiJywgJyMzMGUwZTAnXSwgWycjOTI5ZmZmJywgJyM5ZGUwZmYnLCAnI2ZmYTg5NycsICcjYWY4N2ZlJywgJyM3ZGMzZmUnLCAnI2JiNjBiMicsICcjNDMzZTdjJywgJyNmNDdhNzUnLCAnIzAwOWRiMicsICcjMDI0YjUxJywgJyMwNzgwY2YnLCAnIzc2NTAwNScsICcjZTc1ODQwJywgJyMyNmNjZDgnLCAnIzM2ODVmZScsICcjOTk3N2VmJywgJyNmNTYxNmYnLCAnI2Y3YjEzZicsICcjZjllMjY0JywgJyM1MGM0OGYnXV1bMl07CiAgICAgIHJpZ2h0NkRhdGEocXVlcnlQYXJhbXMpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHsKICAgICAgICBpZiAoX3RoaXMxMC55ZWFyUmFkaW8yID09ICcyMDE1JykgewogICAgICAgICAgX3RoaXMxMC5vdFRpdGxlID0gIjIwMTblubTku6XliY0iOwogICAgICAgIH0gZWxzZSBpZiAoX3RoaXMxMC55ZWFyUmFkaW8yID09ICc5OTknKSB7CiAgICAgICAgICBfdGhpczEwLm90VGl0bGUgPSAiMjAxNi3ku4oiOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBfdGhpczEwLm90VGl0bGUgPSBfdGhpczEwLnllYXJSYWRpbzIgKyAi5bm0IjsKICAgICAgICB9CgogICAgICAgIHZhciBzZXJEYXRhID0gcmVzcC5kYXRhLnNlckRhdGE7CiAgICAgICAgdmFyIGRhdGEgPSBbXTsKICAgICAgICBzZXJEYXRhLmZvckVhY2goZnVuY3Rpb24gKHMpIHsKICAgICAgICAgIHZhciBvYmogPSB7CiAgICAgICAgICAgIG5hbWU6IHNbMl0sCiAgICAgICAgICAgIHZhbHVlOiBzWzFdLAogICAgICAgICAgICBzeW1ib2xTaXplOiBzWzFdICsgNjAsCiAgICAgICAgICAgIGRyYWdnYWJsZTogdHJ1ZSwKICAgICAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgICAgICBzaGFkb3dCbHVyOiAxMDAsCiAgICAgICAgICAgICAgICBzaGFkb3dDb2xvcjogY29sb3JMaXN0W3NbMF1dLAogICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yTGlzdFtzWzBdXQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfTsKICAgICAgICAgIGRhdGEucHVzaChvYmopOwogICAgICAgIH0pOwogICAgICAgIF90aGlzMTAuaW1LZXlEYXRhID0gZGF0YTsKICAgICAgICBfdGhpczEwLmltS2V5RGF0YTIgPSBfdGhpczEwLmltS2V5RGF0YS5sZW5ndGggPiAzID8gX3RoaXMxMC5pbUtleURhdGEuc2xpY2UoMCwgMykgOiBfdGhpczEwLmltS2V5RGF0YTsKICAgICAgfSk7CiAgICB9LAogICAgZ2V0TGVmdDc6IGZ1bmN0aW9uIGdldExlZnQ3KHF1ZXJ5UGFyYW1zKSB7CiAgICAgIHZhciBfdGhpczExID0gdGhpczsKCiAgICAgIGxlZnQxRGF0YShxdWVyeVBhcmFtcykudGhlbihmdW5jdGlvbiAocmVzcCkgewogICAgICAgIGlmIChfdGhpczExLnllYXJSYWRpbzIgPT0gJzIwMTUnKSB7CiAgICAgICAgICBfdGhpczExLmJsVGl0bGUgPSAiMjAxNuW5tOS7peWJjSI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIF90aGlzMTEuYmxUaXRsZSA9ICIyMDE2LeS7iiI7CiAgICAgICAgfQoKICAgICAgICBfdGhpczExLmJsTGcgPSBbJ+mhueebruaVsCcsICfnu4/otLnmlbAnXTsKICAgICAgICBfdGhpczExLmJsWCA9IHJlc3AuZGF0YS55ZWFyQXJyYXk7CiAgICAgICAgdmFyIHRlbXAgPSBbXTsKICAgICAgICB2YXIgaXRlbSA9IHt9OwogICAgICAgIGl0ZW0ubmFtZSA9ICfpobnnm67mlbAnOwogICAgICAgIGl0ZW0udHlwZSA9ICdiYXInOwogICAgICAgIGl0ZW0uYmFyV2lkdGggPSA1MDsKICAgICAgICBpdGVtLmRhdGEgPSByZXNwLmRhdGEubnVtQXJyYXk7CiAgICAgICAgaXRlbS5pdGVtU3R5bGUgPSB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgLy/ov5nph4zmmK/ph43ngrkKICAgICAgICAgICAgY29sb3I6ICdyZ2IoMjEsMTEyLDE5OCknCiAgICAgICAgICB9CiAgICAgICAgfTsKICAgICAgICB0ZW1wLnB1c2goaXRlbSk7CiAgICAgICAgdmFyIGl0ZW0xID0ge307CiAgICAgICAgaXRlbTEubmFtZSA9ICfnu4/otLnmlbAnOwogICAgICAgIGl0ZW0xLnR5cGUgPSAnbGluZSc7CiAgICAgICAgaXRlbTEueUF4aXNJbmRleCA9IDE7CiAgICAgICAgaXRlbTEuZGF0YSA9IHJlc3AuZGF0YS5idWdldEFycmF5OwogICAgICAgIGl0ZW0xLml0ZW1TdHlsZSA9IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICAvL+i/memHjOaYr+mHjeeCuQogICAgICAgICAgICBjb2xvcjogJ3JnYigyMjIsMTc3LDYyKScKICAgICAgICAgIH0KICAgICAgICB9OwogICAgICAgIHRlbXAucHVzaChpdGVtMSk7CiAgICAgICAgX3RoaXMxMS5ibFNlciA9IHRlbXA7IC8vIGNvbnNvbGUubG9nKHRoaXMuc2VyaWVzQ2VudGVyNSkKICAgICAgfSk7CiAgICB9LAogICAgbmV4dDogZnVuY3Rpb24gbmV4dCgpIHsKICAgICAgdmFyIHRlbXAgPSB0aGlzLmFjdGl2ZTsKICAgICAgdmFyIGluZGV4ID0gdGhpcy5sZWZ0TWVudS5maW5kSW5kZXgoZnVuY3Rpb24gKHYpIHsKICAgICAgICByZXR1cm4gdi50eXBlID09IHRlbXA7CiAgICAgIH0pOwogICAgICB0aGlzLmFjdGl2ZSA9IHRoaXMubGVmdE1lbnVbaW5kZXggKyAxXS50eXBlOwogICAgfSwKICAgIGJhY2s6IGZ1bmN0aW9uIGJhY2soKSB7CiAgICAgIHZhciB0ZW1wID0gdGhpcy5hY3RpdmU7CiAgICAgIHZhciBpbmRleCA9IHRoaXMubGVmdE1lbnUuZmluZEluZGV4KGZ1bmN0aW9uICh2KSB7CiAgICAgICAgcmV0dXJuIHYudHlwZSA9PSB0ZW1wOwogICAgICB9KTsKICAgICAgdGhpcy5hY3RpdmUgPSB0aGlzLmxlZnRNZW51W2luZGV4IC0gMV0udHlwZTsKICAgIH0sCiAgICBnZXRQcm9qZWN0Q291bnQ6IGZ1bmN0aW9uIGdldFByb2plY3RDb3VudChxdWVyeVBhcmFtcykgewogICAgICB2YXIgX3RoaXMxMiA9IHRoaXM7CgogICAgICBjb3VudFByb2plY3QocXVlcnlQYXJhbXMpLnRoZW4oZnVuY3Rpb24gKHJzcCkgewogICAgICAgIF90aGlzMTIuY291bnRQcm9qZWN0ID0gcnNwLmRhdGE7CiAgICAgIH0pOwogICAgfSwKICAgIHNlYXJjaFRvUGFnZTogZnVuY3Rpb24gc2VhcmNoVG9QYWdlKCkgewogICAgICB0aGlzLnBsYW4oJ+WSqOivoumhueebricpOwogICAgICB0aGlzLmNoYW5nZVRpdGxlKCd6eHhtJyk7CiAgICAgIHZhciB5ZWFyUmFkaW8gPSB0aGlzLnllYXJSYWRpbzI7CiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHsKICAgICAgICBwYXRoOiAiL3Byb2plY3QvaW5mb1Nob3cvcXVlcnkiLAogICAgICAgIHF1ZXJ5OiB7CiAgICAgICAgICB5ZWFyUmFkaW8yOiB5ZWFyUmFkaW8KICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIHRvWWVhclBhZ2U6IGZ1bmN0aW9uIHRvWWVhclBhZ2UoeWVhcikgewogICAgICB0aGlzLnBsYW4oJ+WSqOivoumhueebricpOwogICAgICB0aGlzLmNoYW5nZVRpdGxlKCd6eHhtJyk7CiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHsKICAgICAgICBwYXRoOiAiL3Byb2plY3QvaW5mb1Nob3cvcXVlcnkiLAogICAgICAgIHF1ZXJ5OiB7CiAgICAgICAgICB5ZWFyUmFkaW8yOiB5ZWFyCiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICB0b1NlY1BhZ2U6IGZ1bmN0aW9uIHRvU2VjUGFnZShzZWNMZXZlbCkgewogICAgICB0aGlzLnBsYW4oJ+WSqOivoumhueebricpOwogICAgICB2YXIgeWVhclJhZGlvID0gdGhpcy55ZWFyOwogICAgICB0aGlzLiRyb3V0ZXIucHVzaCh7CiAgICAgICAgcGF0aDogIi9wcm9qZWN0L2luZm9TaG93L3F1ZXJ5IiwKICAgICAgICBxdWVyeTogewogICAgICAgICAgc2VjcmVjeUxldmVsOiBzZWNMZXZlbCwKICAgICAgICAgIHllYXJSYWRpbzI6IHllYXJSYWRpbwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgdG9UeXBlUGFnZTogZnVuY3Rpb24gdG9UeXBlUGFnZSh0eXBlKSB7CiAgICAgIHRoaXMucGxhbign5ZKo6K+i6aG555uuJyk7CiAgICAgIHRoaXMuY2hhbmdlVGl0bGUoJ3p4eG0nKTsKICAgICAgdmFyIHllYXJSYWRpbyA9IHRoaXMueWVhcjsKICAgICAgdGhpcy4kcm91dGVyLnB1c2goewogICAgICAgIHBhdGg6ICIvcHJvamVjdC9pbmZvU2hvdy9xdWVyeSIsCiAgICAgICAgcXVlcnk6IHsKICAgICAgICAgIHR5cGU6IHR5cGUsCiAgICAgICAgICB5ZWFyUmFkaW8yOiB5ZWFyUmFkaW8KICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIHRvRGVwdFBhZ2U6IGZ1bmN0aW9uIHRvRGVwdFBhZ2UoZGVwYXJ0bWVudElkKSB7CiAgICAgIHRoaXMucGxhbign5ZKo6K+i6aG555uuJyk7CiAgICAgIHRoaXMuY2hhbmdlVGl0bGUoJ3p4eG0nKTsKICAgICAgdmFyIHllYXJSYWRpbyA9IHRoaXMueWVhclJhZGlvMjsKICAgICAgdGhpcy4kcm91dGVyLnB1c2goewogICAgICAgIHBhdGg6ICIvcHJvamVjdC9pbmZvU2hvdy9xdWVyeSIsCiAgICAgICAgcXVlcnk6IHsKICAgICAgICAgIGRlcGFydG1lbnRJZDogZGVwYXJ0bWVudElkLAogICAgICAgICAgeWVhclJhZGlvMjogeWVhclJhZGlvCiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICB0b3lpdHVvVW5pdFBhZ2U6IGZ1bmN0aW9uIHRveWl0dW9Vbml0UGFnZSh1bml0KSB7CiAgICAgIHRoaXMucGxhbign5ZKo6K+i6aG555uuJyk7CiAgICAgIHRoaXMuY2hhbmdlVGl0bGUoJ3p4eG0nKTsKICAgICAgdmFyIHllYXJSYWRpbyA9IHRoaXMueWVhcjsKICAgICAgdGhpcy4kcm91dGVyLnB1c2goewogICAgICAgIHBhdGg6ICIvcHJvamVjdC9pbmZvU2hvdy9xdWVyeSIsCiAgICAgICAgcXVlcnk6IHsKICAgICAgICAgIHlpdHVvVW5pdDogdW5pdCwKICAgICAgICAgIHllYXJSYWRpbzI6IHllYXJSYWRpbwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgdG9Vc2VyTmFtZVBhZ2U6IGZ1bmN0aW9uIHRvVXNlck5hbWVQYWdlKHVzZXJOYW1lKSB7CiAgICAgIHRoaXMucGxhbign5ZKo6K+i6aG555uuJyk7CiAgICAgIHRoaXMuY2hhbmdlVGl0bGUoJ3p4eG0nKTsKICAgICAgdmFyIHllYXJSYWRpbyA9IHRoaXMueWVhcjsKICAgICAgdGhpcy4kcm91dGVyLnB1c2goewogICAgICAgIHBhdGg6ICIvcHJvamVjdC9pbmZvU2hvdy9xdWVyeSIsCiAgICAgICAgcXVlcnk6IHsKICAgICAgICAgIHVzZXJOYW1lOiB1c2VyTmFtZSwKICAgICAgICAgIHllYXJSYWRpbzI6IHllYXJSYWRpbwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgdG9DaXJjbGVQYWdlOiBmdW5jdGlvbiB0b0NpcmNsZVBhZ2UoaW1wb3J0S2V5KSB7CiAgICAgIHRoaXMucGxhbign5ZKo6K+i6aG555uuJyk7CiAgICAgIHRoaXMuY2hhbmdlVGl0bGUoJ3p4eG0nKTsKICAgICAgdmFyIHllYXJSYWRpbyA9IHRoaXMueWVhclJhZGlvMjsKICAgICAgdGhpcy4kcm91dGVyLnB1c2goewogICAgICAgIHBhdGg6ICIvcHJvamVjdC9pbmZvU2hvdy9xdWVyeSIsCiAgICAgICAgcXVlcnk6IHsKICAgICAgICAgIGltcG9ydGFudEtleTogaW1wb3J0S2V5LAogICAgICAgICAgeWVhclJhZGlvMjogeWVhclJhZGlvCiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICB0b01hcFBhZ2U6IGZ1bmN0aW9uIHRvTWFwUGFnZShhcmVhKSB7CiAgICAgIHRoaXMucGxhbign5ZKo6K+i6aG555uuJyk7CiAgICAgIHRoaXMuY2hhbmdlVGl0bGUoJ3p4eG0nKTsKICAgICAgdmFyIHllYXJSYWRpbyA9IHRoaXMueWVhcjsKICAgICAgdGhpcy4kcm91dGVyLnB1c2goewogICAgICAgIHBhdGg6ICIvcHJvamVjdC9pbmZvU2hvdy9xdWVyeSIsCiAgICAgICAgcXVlcnk6IHsKICAgICAgICAgIHlpdHVvQXJlYTogYXJlYSwKICAgICAgICAgIHllYXJSYWRpbzI6IHllYXJSYWRpbwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgdG9TdGF0dXNQYWdlOiBmdW5jdGlvbiB0b1N0YXR1c1BhZ2UoeWVhcikgewogICAgICB0aGlzLmNoYW5nZVRpdGxlKCd5c2pqJyk7CiAgICAgIHRoaXMucGxhbign6Zmi5aOr5bu66K6uJyk7CiAgICAgIHZhciB5ZWFyUmFkaW8gPSB0aGlzLnllYXI7CiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHsKICAgICAgICBwYXRoOiAiL3Byb2plY3QvaW5mb1Nob3cvYWR2aXNlTGlzdCIsCiAgICAgICAgcXVlcnk6IHsKICAgICAgICAgIHllYXJSYWRpbzI6IHllYXIKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIHRvVXNlclBhZ2U6IGZ1bmN0aW9uIHRvVXNlclBhZ2UobmFtZSkgewogICAgICB0aGlzLnBsYW4oJ+mZouWjq+W7uuiuricpOwogICAgICB0aGlzLmNoYW5nZVRpdGxlKCd5c2pqJyk7CiAgICAgIHZhciB5ZWFyUmFkaW8gPSB0aGlzLnllYXI7CiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHsKICAgICAgICBwYXRoOiAiL3Byb2plY3QvaW5mb1Nob3cvYWR2aXNlTGlzdCIsCiAgICAgICAgcXVlcnk6IHsKICAgICAgICAgIHVzZXJOYW1lOiBuYW1lCiAgICAgICAgfQogICAgICB9KTsKICAgIH0KICB9KSwKICBjb21wdXRlZDoge30sCiAgd2F0Y2g6IHt9Cn07"},null]} |