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
29 KiB
1 lines
29 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":1638956649296},{"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:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNsaWNlLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5mb3ItZWFjaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbmQtaW5kZXguanMiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwppbXBvcnQgQmFyTGluZUNoYXJ0IGZyb20gIi4uLy4uL2Rhc2hib2FyZC9CYXJMaW5lQ2hhcnQiOwppbXBvcnQgRHVpZGllQ2hhcnQgZnJvbSAiLi4vLi4vZGFzaGJvYXJkL0R1aWRpZUNoYXJ0IjsKaW1wb3J0IFNlY3JldFBpZUNoYXJ0IGZyb20gIi4uLy4uL2Rhc2hib2FyZC9TZWNyZXRQaWVDaGFydCI7CmltcG9ydCBUeXBlUGllQ2hhcnQgZnJvbSAiLi4vLi4vZGFzaGJvYXJkL1R5cGVQaWVDaGFydCI7CmltcG9ydCBCTFlpVHVvQ2hhcnQgZnJvbSAiLi4vLi4vZGFzaGJvYXJkL0JMWWlUdW9DaGFydCI7CmltcG9ydCBQaWVDaGFydCBmcm9tICIuLi8uLi9kYXNoYm9hcmQvUGllQ2hhcnQiOwppbXBvcnQgQmFyQ2hhcnQzIGZyb20gIi4uLy4uLy9kYXNoYm9hcmQvQmFyQ2hhcnQzIjsKaW1wb3J0IEFkdmlzZU5hbWVDaGFydCBmcm9tICIuLi8uLi9kYXNoYm9hcmQvQWR2aXNlTmFtZUNoYXJ0IjsKaW1wb3J0IENpcmNsZUNoYXJ0MiBmcm9tICIuLi8uLi9kYXNoYm9hcmQvQ2lyY2xlQ2hhcnQyIjsKaW1wb3J0IHsgbGVmdDFEYXRhLCBjZW50ZXI1RGF0YSwgY2VudGVyMkRhdGEsIHJpZ2h0M0RhdGEsIGxlZnQ0RGF0YSwgcmlnaHQ2RGF0YSwgbGVmdDdEYXRhLCBjZW50ZXI4RGF0YSwgc3RhdGlzdGljcywgY291bnRQcm9qZWN0LCBsZWZ0MURhdGEyIH0gZnJvbSAiQC9hcGkvcHJvamVjdC9pbmZvMyI7CmltcG9ydCB7IHNoaXR1RGF0YTIsIHNoaXR1RGF0YTggfSBmcm9tICJAL2FwaS9wcm9qZWN0L2luc3RydWN0aW9uIjsKaW1wb3J0IFV0aWxzIGZyb20gIkAvdXRpbHMvdXRpbHMiOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogImluZGV4IiwKICBjb21wb25lbnRzOiB7CiAgICBCYXJMaW5lQ2hhcnQ6IEJhckxpbmVDaGFydCwKICAgIER1aWRpZUNoYXJ0OiBEdWlkaWVDaGFydCwKICAgIFNlY3JldFBpZUNoYXJ0OiBTZWNyZXRQaWVDaGFydCwKICAgIFR5cGVQaWVDaGFydDogVHlwZVBpZUNoYXJ0LAogICAgQkxZaVR1b0NoYXJ0OiBCTFlpVHVvQ2hhcnQsCiAgICBQaWVDaGFydDogUGllQ2hhcnQsCiAgICBCYXJDaGFydDM6IEJhckNoYXJ0MywKICAgIEFkdmlzZU5hbWVDaGFydDogQWR2aXNlTmFtZUNoYXJ0LAogICAgQ2lyY2xlQ2hhcnQyOiBDaXJjbGVDaGFydDIKICB9LAogIHByb3BzOiB7fSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgYWN0aXZlOiAienRnayIsCiAgICAgIHllYXI6ICI5OTkiLAogICAgICB5ZWFyMjogJzIwMTblubToh7Pku4onLAogICAgICB5ZWFyUmFkaW8yOiAiOTk5IiwKICAgICAgYXBwcnB2YWw6ICcnLAogICAgICBpbnN0cnVjdGlvbnM6ICcnLAogICAgICBwcm9wb3NhbDogJycsCiAgICAgIHJlcG9ydDogJycsCiAgICAgIHpqZjogJycsCiAgICAgIGJsVGl0bGU6ICIiLAogICAgICBibFg6IFtdLAogICAgICBibExnOiBbXSwKICAgICAgYmxTZXI6IFtdLAogICAgICBkZFg6IFtdLAogICAgICBkZExnOiBbXSwKICAgICAgZGRTZXI6IFtdLAogICAgICBzZWNyZXREYXRhOiBbXSwKICAgICAgb3RUaXRsZTogIiIsCiAgICAgIHR5cGVsZzogW10sCiAgICAgIHR5cGVEYXRhOiBbXSwKICAgICAgeEF4aXNDZW50ZXI3OiBbXSwKICAgICAgYXhpc0NlbnRlcjdUb3A0OiBbXSwKICAgICAgcHJvamVjdENvdW50OiBbXSwKICAgICAgc2VyaWVzQ2VudGVyNzogW10sCiAgICAgIHBpZURhdGE6IFtdLAogICAgICBwaWVMZ0RhdGE6IFtdLAogICAgICB4QXhpc0NlbnRlcjg6IFtdLAogICAgICBzZXJpZXNDZW50ZXI4OiBbXSwKICAgICAgeEF4aXNDZW50ZXI5OiBbXSwKICAgICAgc2VyaWVzQ2VudGVyOTogW10sCiAgICAgIGltS2V5RGF0YTogW10sCiAgICAgIGltS2V5RGF0YTI6IFtdLAogICAgICBqeUFycmF5OiBbXSwKICAgICAgbGVmdE1lbnU6IFt7CiAgICAgICAgdHlwZTogInp0Z2siLAogICAgICAgIG5hbWU6ICLmgLvkvZPmpoLlhrUiCiAgICAgIH0sIHsKICAgICAgICB0eXBlOiAieG1mbCIsCiAgICAgICAgbmFtZTogIumhueebruWIhuexuyIKICAgICAgfSwgewogICAgICAgIHR5cGU6ICJjZGR3IiwKICAgICAgICBuYW1lOiAi5om/5ouF5Y2V5L2NIgogICAgICB9LCB7CiAgICAgICAgdHlwZTogInF0eXMiLAogICAgICAgIG5hbWU6ICLnibXlpLTpmaLlo6siCiAgICAgIH0sIHsKICAgICAgICB0eXBlOiAieWpyZCIsCiAgICAgICAgbmFtZTogIueglOeptueDreeCuSIKICAgICAgfV0sCiAgICAgIHllYXJBcnI6IFtdLAogICAgICBjb3VudFByb2plY3Q6IHt9LAogICAgICBhY2FkZW1pY2lhbkNvdW50OiBbXQogICAgfTsKICB9LAogIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7CiAgICB0aGlzLnllYXJBcnIgPSBbXTsKICAgIHRoaXMueWVhckFyci5wdXNoKHsKICAgICAgbmFtZTogIjIwMTblubQt5LuKIiwKICAgICAgdmFsdWU6ICI5OTkiCiAgICB9KTsKICAgIHZhciB5ZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpOwoKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgNjsgaSsrKSB7CiAgICAgIHRoaXMueWVhckFyci5wdXNoKHsKICAgICAgICBuYW1lOiB5ZWFyIC0gaSwKICAgICAgICB2YWx1ZTogeWVhciAtIGkKICAgICAgfSk7CiAgICB9CgogICAgdmFyIHBhcmFtID0gewogICAgICB5ZWFyUmFkaW8yOiA5OTkKICAgIH07CiAgICB0aGlzLnllYXJBcnIucHVzaCh7CiAgICAgIG5hbWU6ICIyMDE25bm05Lul5YmNIiwKICAgICAgdmFsdWU6ICIyMDE1IgogICAgfSk7CiAgICB0aGlzLmdldExlZnQxKHBhcmFtKTsKICAgIHRoaXMuZ2V0UmlnaHQxKCk7CiAgICB0aGlzLmdldExlZnQyKHBhcmFtKTsKICAgIHRoaXMuZ2V0UmlnaHQyKHBhcmFtKTsKICAgIHRoaXMuZ2V0TGVmdDMocGFyYW0pOwogICAgdGhpcy5nZXRSaWdodDMocGFyYW0pOwogICAgdGhpcy5nZXRMZWZ0NChwYXJhbSk7CiAgICB0aGlzLmdldFJpZ2h0NChwYXJhbSk7CiAgICB0aGlzLmdldExlZnQ1KHBhcmFtKTsKICAgIHRoaXMuZ2V0U3RhdGlzdGljcyhwYXJhbSk7IC8vICB0aGlzLmdldFByb2plY3RDb3VudCgpCgogICAgdGhpcy5nZXRMZWZ0NygpOwogIH0sCiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHt9LAogIG1ldGhvZHM6IHsKICAgIHBsYW46IGZ1bmN0aW9uIHBsYW4odGl0bGUpIHsKICAgICAgVXRpbHMuJGVtaXQoJ2RlbW8nLCB0aXRsZSk7IC8vbXNn5Li65Lyg6YCS5Y+C5pWw77yM5ZCO6Z2i5Y+v5Lul57Sn6Lef5aSa5Liq5Y+C5pWwCiAgICB9LAogICAgc2VhcmNoOiBmdW5jdGlvbiBzZWFyY2goeSkgewogICAgICB0aGlzLnllYXIyID0geS5uYW1lOwogICAgICB0aGlzLnllYXIgPSB5LnZhbHVlOwogICAgICB0aGlzLnllYXJSYWRpbzIgPSB5LnZhbHVlOwogICAgICB2YXIgcGFyYW0gPSB7CiAgICAgICAgeWVhclJhZGlvMjogeS52YWx1ZQogICAgICB9OwogICAgICB0aGlzLmdldExlZnQxKHBhcmFtKTsKICAgICAgdGhpcy5nZXRSaWdodDEoKTsKICAgICAgdGhpcy5nZXRMZWZ0MihwYXJhbSk7CiAgICAgIHRoaXMuZ2V0UmlnaHQyKHBhcmFtKTsKICAgICAgdGhpcy5nZXRMZWZ0MyhwYXJhbSk7CiAgICAgIHRoaXMuZ2V0UmlnaHQzKHBhcmFtKTsKICAgICAgdGhpcy5nZXRMZWZ0NChwYXJhbSk7CiAgICAgIHRoaXMuZ2V0UmlnaHQ0KHBhcmFtKTsKICAgICAgdGhpcy5nZXRMZWZ0NShwYXJhbSk7CiAgICAgIHRoaXMuZ2V0U3RhdGlzdGljcyhwYXJhbSk7CiAgICAgIHRoaXMuZ2V0TGVmdDcocGFyYW0pOwogICAgfSwKICAgIGdldFN0YXRpc3RpY3M6IGZ1bmN0aW9uIGdldFN0YXRpc3RpY3MocXVlcnlQYXJhbXMpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKCiAgICAgIHN0YXRpc3RpY3MocXVlcnlQYXJhbXMpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHsKICAgICAgICBfdGhpcy5hcHBycHZhbCA9IHJlc3AuZGF0YS5hcHBycHZhbDsKICAgICAgICBfdGhpcy56amYgPSByZXNwLmRhdGEuempmOwogICAgICAgIF90aGlzLnJlcG9ydCA9IHJlc3AuZGF0YS5yZXBvcnQ7CiAgICAgICAgX3RoaXMucHJvcG9zYWwgPSByZXNwLmRhdGEucHJvcG9zYWw7CiAgICAgICAgX3RoaXMuaW5zdHJ1Y3Rpb25zID0gcmVzcC5kYXRhLmluc3RydWN0aW9uczsKICAgICAgfSk7CiAgICB9LAogICAgZ2V0TGVmdDE6IGZ1bmN0aW9uIGdldExlZnQxKHF1ZXJ5UGFyYW1zKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwoKICAgICAgbGVmdDdEYXRhKHF1ZXJ5UGFyYW1zKS50aGVuKGZ1bmN0aW9uIChyZXNwKSB7CiAgICAgICAgaWYgKF90aGlzMi55ZWFyUmFkaW8yID09ICcyMDE1JykgewogICAgICAgICAgX3RoaXMyLm90VGl0bGUgPSAiMjAxNuW5tOS7peWJjSI7CiAgICAgICAgfSBlbHNlIGlmIChfdGhpczIueWVhclJhZGlvMiA9PSAnOTk5JykgewogICAgICAgICAgX3RoaXMyLm90VGl0bGUgPSAiMjAxNi3ku4oiOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBfdGhpczIub3RUaXRsZSA9IF90aGlzMi55ZWFyUmFkaW8yICsgIuW5tCI7CiAgICAgICAgfQoKICAgICAgICB2YXIgdGVtcCA9IFtdOwogICAgICAgIHZhciBpdGVtID0ge307CiAgICAgICAgaXRlbS5uYW1lID0gJ+e7j+i0ueaVsCc7CiAgICAgICAgaXRlbS50eXBlID0gJ2Jhcic7CiAgICAgICAgaXRlbS5iYXJHYXAgPSAiLTEwMCUiOwogICAgICAgIGl0ZW0uZGF0YSA9IHJlc3AuZGF0YS55amZBcnJheTsKICAgICAgICB0ZW1wLnB1c2goaXRlbSk7CiAgICAgICAgdmFyIGl0ZW0xID0ge307CiAgICAgICAgaXRlbTEubmFtZSA9ICflrp7pmYXnu4/otLknOwogICAgICAgIGl0ZW0xLnR5cGUgPSAnYmFyJzsKICAgICAgICBpdGVtMS55QXhpc0luZGV4ID0gMTsKICAgICAgICBpdGVtMS5iYXJHYXAgPSAiLTEwMCUiOwogICAgICAgIGl0ZW0xLmRhdGEgPSByZXNwLmRhdGEueVNqamZBcnJheTsKICAgICAgICB0ZW1wLnB1c2goaXRlbTEpOwogICAgICAgIHZhciBpdGVtMiA9IHt9OwogICAgICAgIGl0ZW0yLm5hbWUgPSAn6aG555uu5pWwJzsKICAgICAgICBpdGVtMi50eXBlID0gJ2xpbmUnOwogICAgICAgIGl0ZW0yLnlBeGlzSW5kZXggPSAyOwogICAgICAgIGl0ZW0yLmRhdGEgPSByZXNwLmRhdGEueU51bUFycmF5OwogICAgICAgIHRlbXAucHVzaChpdGVtMik7CiAgICAgICAgX3RoaXMyLnNlcmllc0NlbnRlcjcgPSB0ZW1wOwogICAgICAgIF90aGlzMi54QXhpc0NlbnRlcjcgPSByZXNwLmRhdGEueEF4aXNBcnJheTsKICAgICAgICBfdGhpczIuYXhpc0NlbnRlcjdUb3A0ID0gX3RoaXMyLnhBeGlzQ2VudGVyNy5sZW5ndGggPiA0ID8gX3RoaXMyLnhBeGlzQ2VudGVyNy5zbGljZSgwLCA0KSA6IF90aGlzMi54QXhpc0NlbnRlcjc7CiAgICAgIH0pOwogICAgfSwKICAgIGdldFJpZ2h0MTogZnVuY3Rpb24gZ2V0UmlnaHQxKHBhcmFtKSB7CiAgICAgIHZhciBfdGhpczMgPSB0aGlzOwoKICAgICAgc2hpdHVEYXRhMihwYXJhbSkudGhlbihmdW5jdGlvbiAocnNwKSB7CiAgICAgICAgX3RoaXMzLmRkWCA9IHJzcC5kYXRhLnllYXJBcnJheTsKICAgICAgICBfdGhpczMuZGRMZyA9IFsn5pyJ5om556S6JywgJ+aXoOaJueekuiddOwogICAgICAgIHZhciB0ZW1wID0gW107CiAgICAgICAgdmFyIGl0ZW0gPSB7fTsKICAgICAgICBpdGVtLm5hbWUgPSAn5pyJ5om556S6JzsKICAgICAgICBpdGVtLnR5cGUgPSAnYmFyJzsKICAgICAgICBpdGVtLnN0YWNrID0gJ29uZSc7CiAgICAgICAgaXRlbS5iYXJXaWR0aCA9ICI1MCUiOwogICAgICAgIGl0ZW0uZGF0YSA9IHJzcC5kYXRhLnlvdUFycmF5OwogICAgICAgIHRlbXAucHVzaChpdGVtKTsKICAgICAgICB2YXIgaXRlbTIgPSB7fTsKICAgICAgICBpdGVtMi5uYW1lID0gJ+aXoOaJueekuic7CiAgICAgICAgaXRlbTIudHlwZSA9ICdiYXInOwogICAgICAgIGl0ZW0yLnN0YWNrID0gJ29uZSc7CiAgICAgICAgaXRlbTIuYmFyV2lkdGggPSAiNTAlIjsKICAgICAgICBpdGVtMi5kYXRhID0gcnNwLmRhdGEud3VBcnJheTsKICAgICAgICB0ZW1wLnB1c2goaXRlbTIpOwogICAgICAgIF90aGlzMy5kZFNlciA9IHRlbXA7CiAgICAgIH0pOwogICAgfSwKICAgIGdldExlZnQyOiBmdW5jdGlvbiBnZXRMZWZ0MihxdWVyeVBhcmFtcykgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKCiAgICAgIGNlbnRlcjJEYXRhKHF1ZXJ5UGFyYW1zKS50aGVuKGZ1bmN0aW9uIChyZXNwKSB7CiAgICAgICAgaWYgKF90aGlzNC55ZWFyUmFkaW8yID09ICcyMDE1JykgewogICAgICAgICAgX3RoaXM0Lm90VGl0bGUgPSAiMjAxNuW5tOS7peWJjSI7CiAgICAgICAgfSBlbHNlIGlmIChfdGhpczQueWVhclJhZGlvMiA9PSAnOTk5JykgewogICAgICAgICAgX3RoaXM0Lm90VGl0bGUgPSAiMjAxNi3ku4oiOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBfdGhpczQub3RUaXRsZSA9IF90aGlzNC55ZWFyUmFkaW8yICsgIuW5tCI7CiAgICAgICAgfQoKICAgICAgICBfdGhpczQuc2VjcmV0RGF0YSA9IHJlc3AuZGF0YS5zZWNyZXREYXRhOwoKICAgICAgICBfdGhpczQuc2VjcmV0RGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICBpZiAoaXRlbS5uYW1lID09ICfmnLrlr4YnKSB7CiAgICAgICAgICAgIGl0ZW0uaXRlbVN0eWxlID0gewogICAgICAgICAgICAgIGNvbG9yOiAiIzdjMmMyNyIKICAgICAgICAgICAgfTsKICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbS5uYW1lID09ICfnp5jlr4YnKSB7CiAgICAgICAgICAgIGl0ZW0uaXRlbVN0eWxlID0gewogICAgICAgICAgICAgIGNvbG9yOiAiI2FlM2YzNiIKICAgICAgICAgICAgfTsKICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbS5uYW1lID09ICflhoXpg6gnKSB7CiAgICAgICAgICAgIGl0ZW0uaXRlbVN0eWxlID0gewogICAgICAgICAgICAgIGNvbG9yOiAiI2FlM2YzIgogICAgICAgICAgICB9OwogICAgICAgICAgfSBlbHNlIGlmIChpdGVtLm5hbWUgPT0gJ+mdnuWvhicpIHsKICAgICAgICAgICAgaXRlbS5pdGVtU3R5bGUgPSB7CiAgICAgICAgICAgICAgY29sb3I6ICIjYzk2YzY2IgogICAgICAgICAgICB9OwogICAgICAgICAgfQogICAgICAgIH0pOwoKICAgICAgICBfdGhpczQuY291bnRQcm9qZWN0ID0gX3RoaXM0LnNlY3JldERhdGE7CgogICAgICAgIGlmIChfdGhpczQuY291bnRQcm9qZWN0Lmxlbmd0aCA+IDApIHsKICAgICAgICAgIF90aGlzNC5jb3VudFByb2plY3QuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICB2YXIgc2VjTmFtZSA9IGl0ZW0ubmFtZTsKICAgICAgICAgICAgdmFyIHNlY0xldmVsID0gIiI7CgogICAgICAgICAgICBpZiAoc2VjTmFtZSkgewogICAgICAgICAgICAgIHN3aXRjaCAoc2VjTmFtZSkgewogICAgICAgICAgICAgICAgY2FzZSAi5py65a+GIjoKICAgICAgICAgICAgICAgICAgc2VjTGV2ZWwgPSAiMSI7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgIuenmOWvhiI6CiAgICAgICAgICAgICAgICAgIHNlY0xldmVsID0gIjIiOwogICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICLlhoXpg6giOgogICAgICAgICAgICAgICAgICBzZWNMZXZlbCA9ICI0IjsKICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAi6Z2e5a+GIjoKICAgICAgICAgICAgICAgICAgc2VjTGV2ZWwgPSAiMyI7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgaXRlbS5zZWNMZXZlbCA9IHNlY0xldmVsOwogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICBnZXRSaWdodDI6IGZ1bmN0aW9uIGdldFJpZ2h0MihxdWVyeVBhcmFtcykgewogICAgICB2YXIgX3RoaXM1ID0gdGhpczsKCiAgICAgIHJpZ2h0M0RhdGEocXVlcnlQYXJhbXMpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHsKICAgICAgICBpZiAoX3RoaXM1LnllYXJSYWRpbzIgPT0gJzIwMTUnKSB7CiAgICAgICAgICBfdGhpczUub3RUaXRsZSA9ICIyMDE25bm05Lul5YmNIjsKICAgICAgICB9IGVsc2UgaWYgKF90aGlzNS55ZWFyUmFkaW8yID09ICc5OTknKSB7CiAgICAgICAgICBfdGhpczUub3RUaXRsZSA9ICIyMDE2LeS7iiI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIF90aGlzNS5vdFRpdGxlID0gX3RoaXM1LnllYXJSYWRpbzIgKyAi5bm0IjsKICAgICAgICB9CgogICAgICAgIF90aGlzNS50eXBlbGcgPSByZXNwLmRhdGEubGVnZW5kRGF0YTsKICAgICAgICBfdGhpczUudHlwZURhdGEgPSByZXNwLmRhdGEucGllRGF0YTsKCiAgICAgICAgaWYgKF90aGlzNS50eXBlRGF0YS5sZW5ndGggPiAwKSB7CiAgICAgICAgICBfdGhpczUudHlwZURhdGEuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICB2YXIgdHlwZU5hbWUgPSBpdGVtLm5hbWU7CiAgICAgICAgICAgIHZhciB0eXBlSWQgPSAiIjsKCiAgICAgICAgICAgIGlmICh0eXBlTmFtZSkgewogICAgICAgICAgICAgIHN3aXRjaCAodHlwZU5hbWUpIHsKICAgICAgICAgICAgICAgIGNhc2UgIumHjeWkpyI6CiAgICAgICAgICAgICAgICAgIHR5cGVJZCA9ICIxIjsKICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAi6YeN54K5IjoKICAgICAgICAgICAgICAgICAgdHlwZUlkID0gIjIiOwogICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICLlrabpg6jph43lpKciOgogICAgICAgICAgICAgICAgICB0eXBlSWQgPSAiMTciOwogICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICLlrabpg6jph43ngrkiOgogICAgICAgICAgICAgICAgICB0eXBlSWQgPSAiMTkiOwogICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICLpq5jnq6/mmbrlupMiOgogICAgICAgICAgICAgICAgICB0eXBlSWQgPSAiNiI7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgIuihjOS4mumZoumHjeeCuSI6CiAgICAgICAgICAgICAgICAgIHR5cGVJZCA9ICIxNiI7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgIuihjOS4mumZoumHjeWkpyI6CiAgICAgICAgICAgICAgICAgIHR5cGVJZCA9ICIxOCI7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgIuWFtuS7liI6CiAgICAgICAgICAgICAgICAgIHR5cGVJZCA9ICI5OTkiOwogICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGl0ZW0udHlwZUlkID0gdHlwZUlkOwogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICBnZXRMZWZ0MzogZnVuY3Rpb24gZ2V0TGVmdDMocXVlcnlQYXJhbXMpIHsKICAgICAgdmFyIF90aGlzNiA9IHRoaXM7CgogICAgICBsZWZ0N0RhdGEocXVlcnlQYXJhbXMpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHsKICAgICAgICBpZiAoX3RoaXM2LnllYXJSYWRpbzIgPT0gJzIwMTUnKSB7CiAgICAgICAgICBfdGhpczYub3RUaXRsZSA9ICIyMDE25bm05Lul5YmNIjsKICAgICAgICB9IGVsc2UgaWYgKF90aGlzNi55ZWFyUmFkaW8yID09ICc5OTknKSB7CiAgICAgICAgICBfdGhpczYub3RUaXRsZSA9ICIyMDE2LeS7iiI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIF90aGlzNi5vdFRpdGxlID0gX3RoaXM2LnllYXJSYWRpbzIgKyAi5bm0IjsKICAgICAgICB9CgogICAgICAgIHZhciB0ZW1wID0gW107CiAgICAgICAgdmFyIGl0ZW0gPSB7fTsKICAgICAgICBpdGVtLm5hbWUgPSAn57uP6LS55pWwJzsKICAgICAgICBpdGVtLnR5cGUgPSAnYmFyJzsKICAgICAgICBpdGVtLmJhckdhcCA9ICItMTAwJSI7CiAgICAgICAgaXRlbS5kYXRhID0gcmVzcC5kYXRhLnlqZkFycmF5OwogICAgICAgIHRlbXAucHVzaChpdGVtKTsKICAgICAgICB2YXIgaXRlbTEgPSB7fTsKICAgICAgICBpdGVtMS5uYW1lID0gJ+WunumZhee7j+i0uSc7CiAgICAgICAgaXRlbTEudHlwZSA9ICdiYXInOwogICAgICAgIGl0ZW0xLnlBeGlzSW5kZXggPSAxOwogICAgICAgIGl0ZW0xLmJhckdhcCA9ICItMTAwJSI7CiAgICAgICAgaXRlbTEuZGF0YSA9IHJlc3AuZGF0YS55U2pqZkFycmF5OwogICAgICAgIHRlbXAucHVzaChpdGVtMSk7CiAgICAgICAgdmFyIGl0ZW0yID0ge307CiAgICAgICAgaXRlbTIubmFtZSA9ICfpobnnm67mlbAnOwogICAgICAgIGl0ZW0yLnR5cGUgPSAnbGluZSc7CiAgICAgICAgaXRlbTIueUF4aXNJbmRleCA9IDI7CiAgICAgICAgaXRlbTIuZGF0YSA9IHJlc3AuZGF0YS55TnVtQXJyYXk7CiAgICAgICAgdGVtcC5wdXNoKGl0ZW0yKTsKICAgICAgICBfdGhpczYuc2VyaWVzQ2VudGVyNyA9IHRlbXA7CiAgICAgICAgX3RoaXM2LnhBeGlzQ2VudGVyNyA9IHJlc3AuZGF0YS54QXhpc0FycmF5OwogICAgICB9KTsKICAgIH0sCiAgICBnZXRSaWdodDM6IGZ1bmN0aW9uIGdldFJpZ2h0MyhxdWVyeVBhcmFtcykgewogICAgICB2YXIgX3RoaXM3ID0gdGhpczsKCiAgICAgIGxlZnQ0RGF0YShxdWVyeVBhcmFtcykudGhlbihmdW5jdGlvbiAocmVzcCkgewogICAgICAgIF90aGlzNy5wcm9qZWN0Q291bnQgPSBbXTsKCiAgICAgICAgaWYgKF90aGlzNy55ZWFyUmFkaW8yID09ICcyMDE1JykgewogICAgICAgICAgX3RoaXM3Lm90VGl0bGUgPSAiMjAxNuW5tOS7peWJjSI7CiAgICAgICAgfSBlbHNlIGlmIChfdGhpczcueWVhclJhZGlvMiA9PSAnOTk5JykgewogICAgICAgICAgX3RoaXM3Lm90VGl0bGUgPSAiMjAxNi3ku4oiOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBfdGhpczcub3RUaXRsZSA9IF90aGlzNy55ZWFyUmFkaW8yICsgIuW5tCI7CiAgICAgICAgfQoKICAgICAgICBfdGhpczcucGllTGdEYXRhID0gcmVzcC5kYXRhLmxlZ2VuZERhdGE7CiAgICAgICAgX3RoaXM3LnBpZURhdGEgPSByZXNwLmRhdGEucGllRGF0YTsgLy8gdGhpcy5waWVEYXRhLmZvckVhY2goaXRlbT0+ewogICAgICAgIC8vCiAgICAgICAgLy8gICBsZXQgb2JqPWl0ZW0ubmFtZTsKICAgICAgICAvLyAgIGxldCBpdGVtMj17fQogICAgICAgIC8vICAgaXRlbTIubmFtZT1vYmoudmFsdWU7CiAgICAgICAgLy8gICBpdGVtMi52YWx1ZT1pdGVtLnZhbHVlOwogICAgICAgIC8vICAgdGhpcy5wcm9qZWN0Q291bnQucHVzaChpdGVtMikKICAgICAgICAvLyB9KQoKICAgICAgICBfdGhpczcucHJvamVjdENvdW50ID0gX3RoaXM3LnBpZURhdGEubGVuZ3RoID4gMiA/IF90aGlzNy5waWVEYXRhLnNsaWNlKDAsIDIpIDogX3RoaXM3LnBpZURhdGE7CgogICAgICAgIGlmIChfdGhpczcucHJvamVjdENvdW50Lmxlbmd0aCA+IDApIHsKICAgICAgICAgIF90aGlzNy5wcm9qZWN0Q291bnQuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICB2YXIgZGVwdE5hbWUgPSBpdGVtLm5hbWU7CiAgICAgICAgICAgIHZhciBkZXBhcnRtZW50SWQgPSAiIjsKCiAgICAgICAgICAgIGlmIChkZXB0TmFtZSkgewogICAgICAgICAgICAgIHN3aXRjaCAoZGVwdE5hbWUpIHsKICAgICAgICAgICAgICAgIGNhc2UgIuacuuaisOS4jui/kOi9veW3peeoi+WtpumDqCI6CiAgICAgICAgICAgICAgICAgIGRlcGFydG1lbnRJZCA9ICIyNSI7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgIuS/oeaBr+S4jueUteWtkOW3peeoi+WtpumDqCI6CiAgICAgICAgICAgICAgICAgIGRlcGFydG1lbnRJZCA9ICIyNiI7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgIuWMluW3peOAgeWGtumHkeS4juadkOaWmeW3peeoi+WtpumDqCI6CiAgICAgICAgICAgICAgICAgIGRlcGFydG1lbnRJZCA9ICIyNyI7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgIuiDvea6kOS4juefv+S4muW3peeoi+WtpumDqCI6CiAgICAgICAgICAgICAgICAgIGRlcGFydG1lbnRJZCA9ICIyOCI7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgIuWcn+acqOOAgeawtOWIqeS4juW7uuetkeW3peeoi+WtpumDqCI6CiAgICAgICAgICAgICAgICAgIGRlcGFydG1lbnRJZCA9ICIyOSI7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgIueOr+Wig+S4jui9u+e6uuW3peeoi+WtpumDqCI6CiAgICAgICAgICAgICAgICAgIGRlcGFydG1lbnRJZCA9ICIzMCI7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgIuWGnOS4muWtpumDqCI6CiAgICAgICAgICAgICAgICAgIGRlcGFydG1lbnRJZCA9ICIzMSI7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgIuWMu+iNr+WNq+eUn+WtpumDqCI6CiAgICAgICAgICAgICAgICAgIGRlcGFydG1lbnRJZCA9ICIzMiI7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgIuW3peeoi+euoeeQhuWtpumDqCI6CiAgICAgICAgICAgICAgICAgIGRlcGFydG1lbnRJZCA9ICIzMyI7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgaXRlbS5kZXBhcnRtZW50SWQgPSBkZXBhcnRtZW50SWQ7CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIGdldExlZnQ0OiBmdW5jdGlvbiBnZXRMZWZ0NChxdWVyeVBhcmFtcykgewogICAgICB2YXIgX3RoaXM4ID0gdGhpczsKCiAgICAgIGNlbnRlcjhEYXRhKHF1ZXJ5UGFyYW1zKS50aGVuKGZ1bmN0aW9uIChyZXNwKSB7CiAgICAgICAgaWYgKF90aGlzOC55ZWFyUmFkaW8yID09ICcyMDE1JykgewogICAgICAgICAgX3RoaXM4Lm90VGl0bGUgPSAiMjAxNuW5tOS7peWJjSI7CiAgICAgICAgfSBlbHNlIGlmIChfdGhpczgueWVhclJhZGlvMiA9PSAnOTk5JykgewogICAgICAgICAgX3RoaXM4Lm90VGl0bGUgPSAiMjAxNi3ku4oiOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBfdGhpczgub3RUaXRsZSA9IF90aGlzOC55ZWFyUmFkaW8yICsgIuW5tCI7CiAgICAgICAgfQoKICAgICAgICBfdGhpczguc2VyaWVzQ2VudGVyOCA9IHJlc3AuZGF0YS54QXhpc0FycmF5OwogICAgICAgIF90aGlzOC54QXhpc0NlbnRlcjggPSByZXNwLmRhdGEueUF4aXNBcnJheTsKICAgICAgICB2YXIgampmZWlBcnJheSA9IHJlc3AuZGF0YS5qaW5mZWlBcnJheTsKICAgICAgICBfdGhpczguYWNhZGVtaWNpYW5Db3VudCA9IFtdOwoKICAgICAgICBmb3IgKHZhciBpID0gX3RoaXM4LnhBeGlzQ2VudGVyOC5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgewogICAgICAgICAgaWYgKGkgPj0gX3RoaXM4LnhBeGlzQ2VudGVyOC5sZW5ndGggLSAzKSB7CiAgICAgICAgICAgIHZhciBvYmogPSB7fTsKICAgICAgICAgICAgb2JqLm5hbWUgPSBfdGhpczgueEF4aXNDZW50ZXI4W2ldOwogICAgICAgICAgICBvYmoudmFsdWUgPSBfdGhpczguc2VyaWVzQ2VudGVyOFtpXTsKICAgICAgICAgICAgb2JqLm1vbmV5ID0gampmZWlBcnJheVtpXTsKCiAgICAgICAgICAgIF90aGlzOC5hY2FkZW1pY2lhbkNvdW50LnB1c2gob2JqKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIGdldFJpZ2h0NDogZnVuY3Rpb24gZ2V0UmlnaHQ0KHF1ZXJ5UGFyYW1zKSB7CiAgICAgIHZhciBfdGhpczkgPSB0aGlzOwoKICAgICAgc2hpdHVEYXRhOChxdWVyeVBhcmFtcykudGhlbihmdW5jdGlvbiAocmVzcCkgewogICAgICAgIGlmIChfdGhpczkueWVhclJhZGlvMiA9PSAnMjAxNScpIHsKICAgICAgICAgIF90aGlzOS5vdFRpdGxlID0gIjIwMTblubTku6XliY0iOwogICAgICAgIH0gZWxzZSBpZiAoX3RoaXM5LnllYXJSYWRpbzIgPT0gJzk5OScpIHsKICAgICAgICAgIF90aGlzOS5vdFRpdGxlID0gIjIwMTYt5LuKIjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgX3RoaXM5Lm90VGl0bGUgPSBfdGhpczkueWVhclJhZGlvMiArICLlubQiOwogICAgICAgIH0KCiAgICAgICAgX3RoaXM5LnNlcmllc0NlbnRlcjkgPSByZXNwLmRhdGEueEF4aXNBcnJheTsKICAgICAgICBfdGhpczkueEF4aXNDZW50ZXI5ID0gcmVzcC5kYXRhLnlBeGlzQXJyYXk7CiAgICAgICAgX3RoaXM5Lmp5QXJyYXkgPSBbewogICAgICAgICAgbmFtZTogX3RoaXM5LnhBeGlzQ2VudGVyOVtfdGhpczkueEF4aXNDZW50ZXI5Lmxlbmd0aCAtIDFdLAogICAgICAgICAgdmFsdWU6IF90aGlzOS5zZXJpZXNDZW50ZXI5W190aGlzOS5zZXJpZXNDZW50ZXI5Lmxlbmd0aCAtIDFdCiAgICAgICAgfSwgewogICAgICAgICAgbmFtZTogX3RoaXM5LnhBeGlzQ2VudGVyOVtfdGhpczkueEF4aXNDZW50ZXI5Lmxlbmd0aCAtIDJdLAogICAgICAgICAgdmFsdWU6IF90aGlzOS5zZXJpZXNDZW50ZXI5W190aGlzOS5zZXJpZXNDZW50ZXI5Lmxlbmd0aCAtIDJdCiAgICAgICAgfSwgewogICAgICAgICAgbmFtZTogX3RoaXM5LnhBeGlzQ2VudGVyOVtfdGhpczkueEF4aXNDZW50ZXI5Lmxlbmd0aCAtIDNdLAogICAgICAgICAgdmFsdWU6IF90aGlzOS5zZXJpZXNDZW50ZXI5W190aGlzOS5zZXJpZXNDZW50ZXI5Lmxlbmd0aCAtIDNdCiAgICAgICAgfV07CiAgICAgIH0pOwogICAgfSwKICAgIGdldExlZnQ1OiBmdW5jdGlvbiBnZXRMZWZ0NShxdWVyeVBhcmFtcykgewogICAgICB2YXIgX3RoaXMxMCA9IHRoaXM7CgogICAgICB2YXIgY29sb3JMaXN0ID0gW1snI2ZmN2Y1MCcsICcjODdjZWZhJywgJyNkYTcwZDYnLCAnIzMyY2QzMicsICcjNjQ5NWVkJywgJyNmZjY5YjQnLCAnI2JhNTVkMycsICcjY2Q1YzVjJywgJyNmZmE1MDAnLCAnIzQwZTBkMCcsICcjMWU5MGZmJywgJyNmZjYzNDcnLCAnIzdiNjhlZScsICcjZDA2NDhhJywgJyNmZmQ3MDAnLCAnIzZiOGUyMycsICcjNGVhMzk3JywgJyMzY2IzNzEnLCAnI2I4ODYwYicsICcjN2JkOWE1J10sIFsnI2ZmN2Y1MCcsICcjODdjZWZhJywgJyNkYTcwZDYnLCAnIzMyY2QzMicsICcjNjQ5NWVkJywgJyNmZjY5YjQnLCAnI2JhNTVkMycsICcjY2Q1YzVjJywgJyNmZmE1MDAnLCAnIzQwZTBkMCcsICcjMWU5MGZmJywgJyNmZjYzNDcnLCAnIzdiNjhlZScsICcjMDBmYTlhJywgJyNmZmQ3MDAnLCAnIzZiOGUyMycsICcjZmYwMGZmJywgJyMzY2IzNzEnLCAnI2I4ODYwYicsICcjMzBlMGUwJ10sIFsnIzkyOWZmZicsICcjOWRlMGZmJywgJyNmZmE4OTcnLCAnI2FmODdmZScsICcjN2RjM2ZlJywgJyNiYjYwYjInLCAnIzQzM2U3YycsICcjZjQ3YTc1JywgJyMwMDlkYjInLCAnIzAyNGI1MScsICcjMDc4MGNmJywgJyM3NjUwMDUnLCAnI2U3NTg0MCcsICcjMjZjY2Q4JywgJyMzNjg1ZmUnLCAnIzk5NzdlZicsICcjZjU2MTZmJywgJyNmN2IxM2YnLCAnI2Y5ZTI2NCcsICcjNTBjNDhmJ11dWzJdOwogICAgICByaWdodDZEYXRhKHF1ZXJ5UGFyYW1zKS50aGVuKGZ1bmN0aW9uIChyZXNwKSB7CiAgICAgICAgaWYgKF90aGlzMTAueWVhclJhZGlvMiA9PSAnMjAxNScpIHsKICAgICAgICAgIF90aGlzMTAub3RUaXRsZSA9ICIyMDE25bm05Lul5YmNIjsKICAgICAgICB9IGVsc2UgaWYgKF90aGlzMTAueWVhclJhZGlvMiA9PSAnOTk5JykgewogICAgICAgICAgX3RoaXMxMC5vdFRpdGxlID0gIjIwMTYt5LuKIjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgX3RoaXMxMC5vdFRpdGxlID0gX3RoaXMxMC55ZWFyUmFkaW8yICsgIuW5tCI7CiAgICAgICAgfQoKICAgICAgICB2YXIgc2VyRGF0YSA9IHJlc3AuZGF0YS5zZXJEYXRhOwogICAgICAgIHZhciBkYXRhID0gW107CiAgICAgICAgc2VyRGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChzKSB7CiAgICAgICAgICB2YXIgb2JqID0gewogICAgICAgICAgICBuYW1lOiBzWzJdLAogICAgICAgICAgICB2YWx1ZTogc1sxXSwKICAgICAgICAgICAgc3ltYm9sU2l6ZTogc1sxXSArIDYwLAogICAgICAgICAgICBkcmFnZ2FibGU6IHRydWUsCiAgICAgICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICAgICAgc2hhZG93Qmx1cjogMTAwLAogICAgICAgICAgICAgICAgc2hhZG93Q29sb3I6IGNvbG9yTGlzdFtzWzBdXSwKICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvckxpc3Rbc1swXV0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH07CiAgICAgICAgICBkYXRhLnB1c2gob2JqKTsKICAgICAgICB9KTsKICAgICAgICBfdGhpczEwLmltS2V5RGF0YSA9IGRhdGE7CiAgICAgICAgX3RoaXMxMC5pbUtleURhdGEyID0gX3RoaXMxMC5pbUtleURhdGEubGVuZ3RoID4gMyA/IF90aGlzMTAuaW1LZXlEYXRhLnNsaWNlKDAsIDMpIDogX3RoaXMxMC5pbUtleURhdGE7CiAgICAgIH0pOwogICAgfSwKICAgIGdldExlZnQ3OiBmdW5jdGlvbiBnZXRMZWZ0NyhxdWVyeVBhcmFtcykgewogICAgICB2YXIgX3RoaXMxMSA9IHRoaXM7CgogICAgICBsZWZ0MURhdGEocXVlcnlQYXJhbXMpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHsKICAgICAgICBpZiAoX3RoaXMxMS55ZWFyUmFkaW8yID09ICcyMDE1JykgewogICAgICAgICAgX3RoaXMxMS5ibFRpdGxlID0gIjIwMTblubTku6XliY0iOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBfdGhpczExLmJsVGl0bGUgPSAiMjAxNi3ku4oiOwogICAgICAgIH0KCiAgICAgICAgX3RoaXMxMS5ibExnID0gWyfpobnnm67mlbAnLCAn57uP6LS55pWwJ107CiAgICAgICAgX3RoaXMxMS5ibFggPSByZXNwLmRhdGEueWVhckFycmF5OwogICAgICAgIHZhciB0ZW1wID0gW107CiAgICAgICAgdmFyIGl0ZW0gPSB7fTsKICAgICAgICBpdGVtLm5hbWUgPSAn6aG555uu5pWwJzsKICAgICAgICBpdGVtLnR5cGUgPSAnYmFyJzsKICAgICAgICBpdGVtLmRhdGEgPSByZXNwLmRhdGEubnVtQXJyYXk7CiAgICAgICAgdGVtcC5wdXNoKGl0ZW0pOwogICAgICAgIHZhciBpdGVtMSA9IHt9OwogICAgICAgIGl0ZW0xLm5hbWUgPSAn57uP6LS55pWwJzsKICAgICAgICBpdGVtMS50eXBlID0gJ2xpbmUnOwogICAgICAgIGl0ZW0xLnlBeGlzSW5kZXggPSAxOwogICAgICAgIGl0ZW0xLmRhdGEgPSByZXNwLmRhdGEuYnVnZXRBcnJheTsKICAgICAgICB0ZW1wLnB1c2goaXRlbTEpOwogICAgICAgIF90aGlzMTEuYmxTZXIgPSB0ZW1wOyAvLyBjb25zb2xlLmxvZyh0aGlzLnNlcmllc0NlbnRlcjUpCiAgICAgIH0pOwogICAgfSwKICAgIG5leHQ6IGZ1bmN0aW9uIG5leHQoKSB7CiAgICAgIHZhciB0ZW1wID0gdGhpcy5hY3RpdmU7CiAgICAgIHZhciBpbmRleCA9IHRoaXMubGVmdE1lbnUuZmluZEluZGV4KGZ1bmN0aW9uICh2KSB7CiAgICAgICAgcmV0dXJuIHYudHlwZSA9PSB0ZW1wOwogICAgICB9KTsKICAgICAgdGhpcy5hY3RpdmUgPSB0aGlzLmxlZnRNZW51W2luZGV4ICsgMV0udHlwZTsKICAgIH0sCiAgICBiYWNrOiBmdW5jdGlvbiBiYWNrKCkgewogICAgICB2YXIgdGVtcCA9IHRoaXMuYWN0aXZlOwogICAgICB2YXIgaW5kZXggPSB0aGlzLmxlZnRNZW51LmZpbmRJbmRleChmdW5jdGlvbiAodikgewogICAgICAgIHJldHVybiB2LnR5cGUgPT0gdGVtcDsKICAgICAgfSk7CiAgICAgIHRoaXMuYWN0aXZlID0gdGhpcy5sZWZ0TWVudVtpbmRleCAtIDFdLnR5cGU7CiAgICB9LAogICAgZ2V0UHJvamVjdENvdW50OiBmdW5jdGlvbiBnZXRQcm9qZWN0Q291bnQocXVlcnlQYXJhbXMpIHsKICAgICAgdmFyIF90aGlzMTIgPSB0aGlzOwoKICAgICAgY291bnRQcm9qZWN0KHF1ZXJ5UGFyYW1zKS50aGVuKGZ1bmN0aW9uIChyc3ApIHsKICAgICAgICBfdGhpczEyLmNvdW50UHJvamVjdCA9IHJzcC5kYXRhOwogICAgICB9KTsKICAgIH0sCiAgICBzZWFyY2hUb1BhZ2U6IGZ1bmN0aW9uIHNlYXJjaFRvUGFnZSgpIHsKICAgICAgdGhpcy5wbGFuKCflkqjor6Lpobnnm64nKTsKICAgICAgdmFyIHllYXJSYWRpbyA9IHRoaXMueWVhclJhZGlvMjsKICAgICAgdGhpcy4kcm91dGVyLnB1c2goewogICAgICAgIHBhdGg6ICIvaW5kZXgiLAogICAgICAgIHF1ZXJ5OiB7CiAgICAgICAgICB5ZWFyUmFkaW8yOiB5ZWFyUmFkaW8KICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIHRvWWVhclBhZ2U6IGZ1bmN0aW9uIHRvWWVhclBhZ2UoeWVhcikgewogICAgICB0aGlzLnBsYW4oJ+WSqOivoumhueebricpOwogICAgICB0aGlzLiRyb3V0ZXIucHVzaCh7CiAgICAgICAgcGF0aDogIi9pbmRleCIsCiAgICAgICAgcXVlcnk6IHsKICAgICAgICAgIHllYXJSYWRpbzI6IHllYXIKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIHRvU2VjUGFnZTogZnVuY3Rpb24gdG9TZWNQYWdlKHNlY0xldmVsKSB7CiAgICAgIHRoaXMucGxhbign5ZKo6K+i6aG555uuJyk7CiAgICAgIHZhciB5ZWFyUmFkaW8gPSB0aGlzLnllYXI7CiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHsKICAgICAgICBwYXRoOiAiL2luZGV4IiwKICAgICAgICBxdWVyeTogewogICAgICAgICAgc2VjcmVjeUxldmVsOiBzZWNMZXZlbCwKICAgICAgICAgIHllYXJSYWRpbzI6IHllYXJSYWRpbwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgdG9UeXBlUGFnZTogZnVuY3Rpb24gdG9UeXBlUGFnZSh0eXBlKSB7CiAgICAgIHRoaXMucGxhbign5ZKo6K+i6aG555uuJyk7CiAgICAgIHZhciB5ZWFyUmFkaW8gPSB0aGlzLnllYXI7CiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHsKICAgICAgICBwYXRoOiAiL2luZGV4IiwKICAgICAgICBxdWVyeTogewogICAgICAgICAgdHlwZTogdHlwZSwKICAgICAgICAgIHllYXJSYWRpbzI6IHllYXJSYWRpbwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgdG9EZXB0UGFnZTogZnVuY3Rpb24gdG9EZXB0UGFnZShkZXBhcnRtZW50SWQpIHsKICAgICAgdGhpcy5wbGFuKCflkqjor6Lpobnnm64nKTsKICAgICAgdmFyIHllYXJSYWRpbyA9IHRoaXMueWVhclJhZGlvMjsKICAgICAgdGhpcy4kcm91dGVyLnB1c2goewogICAgICAgIHBhdGg6ICIvaW5kZXgiLAogICAgICAgIHF1ZXJ5OiB7CiAgICAgICAgICBkZXBhcnRtZW50SWQ6IGRlcGFydG1lbnRJZCwKICAgICAgICAgIHllYXJSYWRpbzI6IHllYXJSYWRpbwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgdG95aXR1b1VuaXRQYWdlOiBmdW5jdGlvbiB0b3lpdHVvVW5pdFBhZ2UodW5pdCkgewogICAgICB0aGlzLnBsYW4oJ+WSqOivoumhueebricpOwogICAgICB2YXIgeWVhclJhZGlvID0gdGhpcy55ZWFyOwogICAgICB0aGlzLiRyb3V0ZXIucHVzaCh7CiAgICAgICAgcGF0aDogIi9pbmRleCIsCiAgICAgICAgcXVlcnk6IHsKICAgICAgICAgIHlpdHVvVW5pdDogdW5pdCwKICAgICAgICAgIHllYXJSYWRpbzI6IHllYXJSYWRpbwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgdG9Vc2VyTmFtZVBhZ2U6IGZ1bmN0aW9uIHRvVXNlck5hbWVQYWdlKHVzZXJOYW1lKSB7CiAgICAgIHRoaXMucGxhbign5ZKo6K+i6aG555uuJyk7CiAgICAgIHZhciB5ZWFyUmFkaW8gPSB0aGlzLnllYXI7CiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHsKICAgICAgICBwYXRoOiAiL2luZGV4IiwKICAgICAgICBxdWVyeTogewogICAgICAgICAgdXNlck5hbWU6IHVzZXJOYW1lLAogICAgICAgICAgeWVhclJhZGlvMjogeWVhclJhZGlvCiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICB0b0NpcmNsZVBhZ2U6IGZ1bmN0aW9uIHRvQ2lyY2xlUGFnZShpbXBvcnRLZXkpIHsKICAgICAgdGhpcy5wbGFuKCflkqjor6Lpobnnm64nKTsKICAgICAgdmFyIHllYXJSYWRpbyA9IHRoaXMueWVhclJhZGlvMjsKICAgICAgdGhpcy4kcm91dGVyLnB1c2goewogICAgICAgIHBhdGg6ICIvcHJvamVjdC9pbmZvU2hvdy9xdWVyeSIsCiAgICAgICAgcXVlcnk6IHsKICAgICAgICAgIGltcG9ydGFudEtleTogaW1wb3J0S2V5LAogICAgICAgICAgeWVhclJhZGlvMjogeWVhclJhZGlvCiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICB0b01hcFBhZ2U6IGZ1bmN0aW9uIHRvTWFwUGFnZShhcmVhKSB7CiAgICAgIHRoaXMucGxhbign5ZKo6K+i6aG555uuJyk7CiAgICAgIHZhciB5ZWFyUmFkaW8gPSB0aGlzLnllYXI7CiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHsKICAgICAgICBwYXRoOiAiL2luZGV4IiwKICAgICAgICBxdWVyeTogewogICAgICAgICAgeWl0dW9BcmVhOiBhcmVhLAogICAgICAgICAgeWVhclJhZGlvMjogeWVhclJhZGlvCiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICB0b1N0YXR1c1BhZ2U6IGZ1bmN0aW9uIHRvU3RhdHVzUGFnZSh5ZWFyKSB7CiAgICAgIHRoaXMucGxhbign6Zmi5aOr5bu66K6uJyk7CiAgICAgIHZhciB5ZWFyUmFkaW8gPSB0aGlzLnllYXI7CiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHsKICAgICAgICBwYXRoOiAiL3Byb2plY3QvaW5mb1Nob3cvYWR2aXNlTGlzdCIsCiAgICAgICAgcXVlcnk6IHsKICAgICAgICAgIHllYXJSYWRpbzI6IHllYXIKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIHRvVXNlclBhZ2U6IGZ1bmN0aW9uIHRvVXNlclBhZ2UobmFtZSkgewogICAgICB0aGlzLnBsYW4oJ+WSqOivoumhueebricpOwogICAgICB2YXIgeWVhclJhZGlvID0gdGhpcy55ZWFyOwogICAgICB0aGlzLiRyb3V0ZXIucHVzaCh7CiAgICAgICAgcGF0aDogIi9wcm9qZWN0L2luZm9TaG93L2FkdmlzZUxpc3QiLAogICAgICAgIHF1ZXJ5OiB7CiAgICAgICAgICB1c2VyTmFtZTogbmFtZQogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgfSwKICBjb21wdXRlZDoge30sCiAgd2F0Y2g6IHt9Cn07"},null]} |