{"remainingRequest":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-eslint\\node_modules\\eslint-loader\\index.js??ref--13-0!D:\\jenkins\\workspace\\dataShare-fvue\\src\\router\\router.js","dependencies":[{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\src\\router\\router.js","mtime":1741805735914},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\babel.config.js","mtime":1733906004399},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-eslint\\node_modules\\eslint-loader\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF90b0NvbnN1bWFibGVBcnJheSBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS9kYXRhU2hhcmUtZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdG9Db25zdW1hYmxlQXJyYXkuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5jb25jYXQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5qb2luLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucHVzaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmZ1bmN0aW9uLm5hbWUuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5jb25zdHJ1Y3Rvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLnNvbWUuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5qc29uLnN0cmluZ2lmeS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAuZXhlYy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5pdGVyYXRvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5yZXBsYWNlLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnNlYXJjaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5zdGFydHMtd2l0aC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuaXRlcmF0b3IuanMiOwppbXBvcnQgVnVlIGZyb20gJ3Z1ZSc7CmltcG9ydCBSb3V0ZXIgZnJvbSAndnVlLXJvdXRlcic7CmltcG9ydCBzdG9yZSBmcm9tICdAL3N0b3JlJzsKaW1wb3J0IExvZ2luIGZyb20gJ0Avdmlld3MvTG9naW4nOwppbXBvcnQgTm90Rm91bmQgZnJvbSAnQC92aWV3cy9Ob3RGb3VuZC52dWUnOwppbXBvcnQgcmVxIGZyb20gJ0AvcmVxdWVzdC5qcyc7CmltcG9ydCB1YyBmcm9tICdAL2FwaS91Yy5qcyc7CmltcG9ydCBwb3J0YWwgZnJvbSAnQC9hcGkvcG9ydGFsLmpzJzsKaW1wb3J0IHsgTWVzc2FnZSB9IGZyb20gJ2VsZW1lbnQtdWknOwppbXBvcnQgU3BhcmtNRDUgZnJvbSAnc3BhcmstbWQ1JzsKLy/ot6/nlLEKaW1wb3J0IG1haW5Sb3V0ZXIgZnJvbSAnQC9yb3V0ZXIvbW9kdWxlJzsKLy8g5paw56qX5Y+j6aG16Z2i6Lev55SxCmltcG9ydCBibGFua1JvdXRlciBmcm9tICdAL3JvdXRlci9ibGFua19yb3V0ZXIuanMnOwpWdWUudXNlKFJvdXRlcik7CnZhciByb3V0ZXIgPSBuZXcgUm91dGVyKHsKICBtb2RlOiAnaGlzdG9yeScsCiAgYmFzZTogcHJvY2Vzcy5lbnYuQkFTRV9VUkwsCiAgcm91dGVzOiBbewogICAgcGF0aDogJy9mcm9udFBsYXQnLAogICAgbmFtZTogJ2Zyb250UGxhdCcsCiAgICBjb21wb25lbnQ6IGZ1bmN0aW9uIGNvbXBvbmVudCgpIHsKICAgICAgcmV0dXJuIGltcG9ydCgnQC9jb21wb25lbnRzL2xheW91dC9MYXlvdXQnKTsKICAgIH0sCiAgICBjaGlsZHJlbjogW3sKICAgICAgcGF0aDogJ1BlcnNvbmFsSW5mbycsCiAgICAgIG5hbWU6ICdQZXJzb25hbEluZm8nLAogICAgICBwcm9wczogdHJ1ZSwKICAgICAgY29tcG9uZW50OiBmdW5jdGlvbiBjb21wb25lbnQoKSB7CiAgICAgICAgcmV0dXJuIGltcG9ydCgnQC92aWV3cy9QZXJzb25hbEluZm8udnVlJyk7CiAgICAgIH0sCiAgICAgIG1ldGE6IHsKICAgICAgICBzaW5nbGU6IHRydWUsCiAgICAgICAgYW5vbnltb3VzOiB0cnVlCiAgICAgIH0KICAgIH1dLmNvbmNhdChfdG9Db25zdW1hYmxlQXJyYXkoYmxhbmtSb3V0ZXIpKQogIH0sIHsKICAgIHBhdGg6ICcvYml6UGxhdCcsCiAgICBuYW1lOiAnYml6UGxhdCcsCiAgICBjb21wb25lbnQ6IGZ1bmN0aW9uIGNvbXBvbmVudCgpIHsKICAgICAgcmV0dXJuIGltcG9ydCgnQC9jb21wb25lbnRzL2xheW91dC9CaXpMYXlvdXQnKTsKICAgIH0sCiAgICBjaGlsZHJlbjogX3RvQ29uc3VtYWJsZUFycmF5KG1haW5Sb3V0ZXIpCiAgfSwgewogICAgcGF0aDogJy8nCiAgfSwgewogICAgcGF0aDogJy9sb2dpbi86dGVuYW50JywKICAgIG5hbWU6ICdsb2dpblRlbmFudCcsCiAgICBwcm9wczogdHJ1ZSwKICAgIGNvbXBvbmVudDogTG9naW4sCiAgICBtZXRhOiB7CiAgICAgIHNpbmdsZTogdHJ1ZSwKICAgICAgYW5vbnltb3VzOiB0cnVlCiAgICB9CiAgfSwgewogICAgcGF0aDogJy9sb2dpbicsCiAgICBuYW1lOiAnbG9naW4nLAogICAgY29tcG9uZW50OiBMb2dpbiwKICAgIG1ldGE6IHsKICAgICAgc2luZ2xlOiB0cnVlLAogICAgICBhbm9ueW1vdXM6IHRydWUKICAgIH0KICB9LAogIC8vIOi3s+i9rOmJtOadg+etieW+hemhtemdogogIHsKICAgIHBhdGg6ICcvc2pneCcsCiAgICBuYW1lOiAnc2pneCcsCiAgICBjb21wb25lbnQ6IGZ1bmN0aW9uIGNvbXBvbmVudCgpIHsKICAgICAgcmV0dXJuIGltcG9ydCgnQC92aWV3cy9Mb2FkaW5nLnZ1ZScpOwogICAgfSwKICAgIG1ldGE6IHsKICAgICAgc2luZ2xlOiB0cnVlLAogICAgICBhbm9ueW1vdXM6IHRydWUKICAgIH0KICB9LCB7CiAgICBwYXRoOiAnL3Jlc2V0UHdkVmlldycsCiAgICBuYW1lOiAncmVzZXRQd2RWaWV3JywKICAgIHByb3BzOiB0cnVlLAogICAgY29tcG9uZW50OiBmdW5jdGlvbiBjb21wb25lbnQoKSB7CiAgICAgIHJldHVybiBpbXBvcnQoJ0Avdmlld3MvUmVzZXRQd2RWaWV3LnZ1ZScpOwogICAgfSwKICAgIG1ldGE6IHsKICAgICAgc2luZ2xlOiB0cnVlLAogICAgICBhbm9ueW1vdXM6IHRydWUKICAgIH0KICB9LCB7CiAgICBwYXRoOiAnL2Zvcm1NYW5hZ2UvOmluc3RJZC86dHlwZScsCiAgICBuYW1lOiAnZm9ybU1hbmFnZScsCiAgICBjb21wb25lbnQ6IGZ1bmN0aW9uIGNvbXBvbmVudCgpIHsKICAgICAgcmV0dXJuIGltcG9ydCgnQC9jb21wb25lbnRzL2Zsb3cvZm9ybU1hbmFnZS52dWUnKTsKICAgIH0sCiAgICBwcm9wczogdHJ1ZSwKICAgIG1ldGE6IHsKICAgICAgc2luZ2xlOiB0cnVlCiAgICB9CiAgfSwgewogICAgcGF0aDogJyonLAogICAgY29tcG9uZW50OiBmdW5jdGlvbiBjb21wb25lbnQoKSB7CiAgICAgIHJldHVybiBpbXBvcnQoJ0AvY29tcG9uZW50cy9sYXlvdXQvQml6TGF5b3V0Jyk7CiAgICB9LAogICAgY2hpbGRyZW46IFt7CiAgICAgIHBhdGg6ICcqJywKICAgICAgY29tcG9uZW50OiBOb3RGb3VuZAogICAgfV0sCiAgICBtZXRhOiB7CiAgICAgIHNpbmdsZTogdHJ1ZQogICAgfQogIH0KCiAgLy8gewogIC8vICAgcGF0aDogJyonLAogIC8vICAgY29tcG9uZW50OiBOb3RGb3VuZCwKICAvLyAgIG1ldGE6IHsKICAvLyAgICAgc2luZ2xlOiB0cnVlCiAgLy8gICB9LAogIC8vIH0KICBdCn0pOwp2YXIgY3JlYXRlUm91dGVyID0gZnVuY3Rpb24gY3JlYXRlUm91dGVyKCkgewogIHJldHVybiBuZXcgUm91dGVyKHsKICAgIG1vZGU6ICdoaXN0b3J5JywKICAgIHJvdXRlczogW10KICB9KTsKfTsKCi8v6YeN5YaZ5Yqo5oCB5re75Yqg6Lev55Sx5pa55rOVCnJvdXRlci4kYWRkUm91dGVzID0gZnVuY3Rpb24gKHBhcmFtcykgewogIHZhciBuZXdSb3V0ZXIgPSBjcmVhdGVSb3V0ZXIoKTsKICByb3V0ZXIubWF0Y2hlciA9IG5ld1JvdXRlci5tYXRjaGVyOyAvL+mHjee9rui3r+eUseinhOWImQogIHJvdXRlci5hZGRSb3V0ZXMocGFyYW1zKTsgLy8g5re75Yqg6Lev55SxCn07CgovL+WKqOaAgeaWsOWinuS6jOe6p+i3r+eUsQpyb3V0ZXIuYWRkTGlzdCA9IGZ1bmN0aW9uIChwYXRoLCBsaXN0KSB7CiAgdmFyIGlzQWRkUGF0aCA9IGZhbHNlOwogIHZhciBpc0NoaWxkcmVuID0gZmFsc2U7CiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7CiAgICAvL+WIpOaWreW9k+WJjeeCueWHu+iPnOWNleeahOi3r+eUseWIq+WQjeaYr+WQpuWtmOWcqCByb3V0ZXIuanMg6YeM6Z2iCiAgICBpZiAocGF0aCA9PSBsaXN0W2ldLnBhdGgpIHsKICAgICAgLy/lrZjlnKgKICAgICAgLy/liqjmgIHms6jlhozot6/nlLEKICAgICAgdmFyIGluZGV4ID0gcGF0aC5yZXBsYWNlKCcvJywgJycpOwogICAgICB2YXIgdGVtcGxhdGVQcmV2aWV3X25ldyA9IHsKICAgICAgICBwYXRoOiAndGVtcGxhdGUvcHJldmlldy86dGVtcGxhdGVLZXknLAogICAgICAgIG5hbWU6ICd0ZW1wbGF0ZVByZXZpZXdfJyArIGluZGV4LAogICAgICAgIHByb3BzOiB0cnVlLAogICAgICAgIGNvbXBvbmVudDogZnVuY3Rpb24gY29tcG9uZW50KHJlc29sdmUpIHsKICAgICAgICAgIHJldHVybiByZXF1aXJlKFsnQC9jb21wb25lbnRzL2RhdGFUZW1wbGF0ZS90ZW1wbGF0ZVByZXZpZXcudnVlJ10sIHJlc29sdmUpOwogICAgICAgIH0KICAgICAgfTsgLy/mlbDmja7miqXooagKICAgICAgdmFyIHRlbXBsYXRlSHJlZl9uZXcgPSB7CiAgICAgICAgcGF0aDogJ2hyZWYvdGVtcGxhdGUvOmFsaWFzJywKICAgICAgICBuYW1lOiAndGVtcGxhdGVIcmVmXycgKyBpbmRleCwKICAgICAgICBwcm9wczogdHJ1ZSwKICAgICAgICBjb21wb25lbnQ6IGZ1bmN0aW9uIGNvbXBvbmVudChyZXNvbHZlKSB7CiAgICAgICAgICByZXR1cm4gcmVxdWlyZShbJ0AvY29tcG9uZW50cy9kYXRhVGVtcGxhdGUvdGVtcGxhdGVIcmVmLnZ1ZSddLCByZXNvbHZlKTsKICAgICAgICB9CiAgICAgIH07IC8vVVJM6I+c5Y2VCiAgICAgIHZhciBxdWVyeVNxbF9uZXcgPSB7CiAgICAgICAgcGF0aDogJ3F1ZXJ5U3FsL3F1ZXJ5Vmlldy86c3FsQWxpYXMvOmFsaWFzJywKICAgICAgICBuYW1lOiAncXVlcnlTcWxfJyArIGluZGV4LAogICAgICAgIHByb3BzOiB0cnVlLAogICAgICAgIGNvbXBvbmVudDogZnVuY3Rpb24gY29tcG9uZW50KHJlc29sdmUpIHsKICAgICAgICAgIHJldHVybiByZXF1aXJlKFsnQC9jb21wb25lbnRzL3F1ZXJ5U3FsL3F1ZXJ5U3FsQ29udGVudC52dWUnXSwgcmVzb2x2ZSk7CiAgICAgICAgfQogICAgICB9OyAvL+iHquWumuS5ieinhuWbvgogICAgICB2YXIgdGVtcGxhdGVfbmV3ID0gewogICAgICAgIHBhdGg6ICd0ZW1wbGF0ZS9mb3JtLzp0ZW1wbGF0ZUtleS86YWN0aW9uJywKICAgICAgICBuYW1lOiAndGVtcGxhdGVfJyArIGluZGV4LAogICAgICAgIHByb3BzOiB0cnVlLAogICAgICAgIGNvbXBvbmVudDogZnVuY3Rpb24gY29tcG9uZW50KHJlc29sdmUpIHsKICAgICAgICAgIHJldHVybiByZXF1aXJlKFsnQC9jb21wb25lbnRzL2RhdGFUZW1wbGF0ZS90ZW1wbGF0ZUZvcm0udnVlJ10sIHJlc29sdmUpOwogICAgICAgIH0KICAgICAgfTsgLy/mlbDmja7miqXooagKICAgICAgdmFyIGRyYWZ0TGlzdF9uZXcgPSB7CiAgICAgICAgcGF0aDogJ2RyYWZ0TGlzdC86dGVtcEFsaWFzLzpkYXRhVmlld0ZsYWcnLAogICAgICAgIG5hbWU6ICd0ZW1wbGF0ZV8nICsgaW5kZXgsCiAgICAgICAgcHJvcHM6IHRydWUsCiAgICAgICAgY29tcG9uZW50OiBmdW5jdGlvbiBjb21wb25lbnQocmVzb2x2ZSkgewogICAgICAgICAgcmV0dXJuIHJlcXVpcmUoWydAL2NvbXBvbmVudHMvZGF0YVRlbXBsYXRlL1RlbXBsYXRlRHJhZnQudnVlJ10sIHJlc29sdmUpOwogICAgICAgIH0KICAgICAgfTsgLy/mlbDmja7miqXooagKICAgICAgdmFyIHRlbXBsYXRlU2luZ2xlX25ldyA9IHsKICAgICAgICBwYXRoOiAndGVtcGxhdGUvZm9ybS86dGVtcGxhdGVLZXkvOmFjdGlvbi86c2luZ2xlJywKICAgICAgICBuYW1lOiAndGVtcGxhdGVTaW5nbGVfJyArIGluZGV4LAogICAgICAgIHByb3BzOiB0cnVlLAogICAgICAgIGNvbXBvbmVudDogZnVuY3Rpb24gY29tcG9uZW50KHJlc29sdmUpIHsKICAgICAgICAgIHJldHVybiByZXF1aXJlKFsnQC9jb21wb25lbnRzL2RhdGFUZW1wbGF0ZS90ZW1wbGF0ZUZvcm0udnVlJ10sIHJlc29sdmUpOwogICAgICAgIH0KICAgICAgfTsgLy/mlbDmja7miqXooagKICAgICAgdmFyIHRlbXBsYXRlUXVlcnlzX25ldyA9IHsKICAgICAgICBwYXRoOiAndGVtcGxhdGUvcHJldmlldy86dGVtcGxhdGVLZXkvOnNpbmdsZS86cGFyYW1ldGVycVF1ZXJ5cycsCiAgICAgICAgbmFtZTogJ3RlbXBsYXRlUXVlcnlzXycgKyBpbmRleCwKICAgICAgICBwcm9wczogdHJ1ZSwKICAgICAgICBjb21wb25lbnQ6IGZ1bmN0aW9uIGNvbXBvbmVudChyZXNvbHZlKSB7CiAgICAgICAgICByZXR1cm4gcmVxdWlyZShbJ0AvY29tcG9uZW50cy9kYXRhVGVtcGxhdGUvdGVtcGxhdGVQcmV2aWV3LnZ1ZSddLCByZXNvbHZlKTsKICAgICAgICB9CiAgICAgIH07IC8v5pWw5o2u5oql6KGoCiAgICAgIGlmIChsaXN0W2ldLmNoaWxkcmVuKSB7CiAgICAgICAgLy/liKTmlq3mmK/lkKbph43lpI3mt7vliqDot6/nlLEKICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGxpc3RbaV0uY2hpbGRyZW4ubGVuZ3RoOyBqKyspIHsKICAgICAgICAgIHZhciBjaGlsZHJlbiA9IGxpc3RbaV0uY2hpbGRyZW5bal07CiAgICAgICAgICBpZiAoY2hpbGRyZW4ubmFtZSA9PSB0ZW1wbGF0ZVByZXZpZXdfbmV3Lm5hbWUpIHsKICAgICAgICAgICAgaXNBZGRQYXRoID0gdHJ1ZTsgLy8gdHJ1ZSDvvJog6YeN5aSN6Lev55SxCiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoIWlzQWRkUGF0aCkgewogICAgICAgICAgbGlzdFtpXS5jaGlsZHJlbi5wdXNoKHRlbXBsYXRlUHJldmlld19uZXcpOwogICAgICAgICAgbGlzdFtpXS5jaGlsZHJlbi5wdXNoKHRlbXBsYXRlSHJlZl9uZXcpOwogICAgICAgICAgbGlzdFtpXS5jaGlsZHJlbi5wdXNoKHF1ZXJ5U3FsX25ldyk7CiAgICAgICAgICBsaXN0W2ldLmNoaWxkcmVuLnB1c2godGVtcGxhdGVfbmV3KTsKICAgICAgICAgIGxpc3RbaV0uY2hpbGRyZW4ucHVzaCh0ZW1wbGF0ZVNpbmdsZV9uZXcpOwogICAgICAgICAgbGlzdFtpXS5jaGlsZHJlbi5wdXNoKHRlbXBsYXRlUXVlcnlzX25ldyk7CiAgICAgICAgICBsaXN0W2ldLmNoaWxkcmVuLnB1c2goZHJhZnRMaXN0X25ldyk7CiAgICAgICAgICByb3V0ZXIuJGFkZFJvdXRlcyhsaXN0KTsKICAgICAgICB9CiAgICAgICAgaXNDaGlsZHJlbiA9IHRydWU7CiAgICAgICAgYnJlYWs7CiAgICAgIH0gZWxzZSBpc0NoaWxkcmVuID0gdHJ1ZTsKICAgIH0KICB9CiAgcmV0dXJuIGlzQ2hpbGRyZW47Cn07CnZhciByZWdpc3RlclJvdXRlRnJlc2ggPSB0cnVlOwp2YXIgc3NvUmVkaXJlY3QgPSBmdW5jdGlvbiBzc29SZWRpcmVjdCgpIHsKICBpZiAod2luZG93LnNzb0NvbmZpZy5tb2RlID09ICdjYXMnKSB7CiAgICB2YXIgc2VydmljZSA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmOwogICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3NlcnZpY2UnLCBzZXJ2aWNlKTsKICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gd2luZG93LnNzb0NvbmZpZy51cmwgKyAnP3NlcnZpY2U9JyArIHNlcnZpY2U7CiAgfSBlbHNlIGlmICh3aW5kb3cuc3NvQ29uZmlnLm1vZGUgPT0gJ29hdXRoJykgewogICAgaWYgKCF3aW5kb3cuc3NvQ29uZmlnLmNsaWVudElkKSB7CiAgICAgIHRocm93ICdvYXV0aOaooeW8j+S4i+W/hemhu+aPkOS+m2NsaWVudElkJzsKICAgIH0KICAgIHZhciBfc2VydmljZSA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmOwogICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3NlcnZpY2UnLCBfc2VydmljZSk7CiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICIiLmNvbmNhdCh3aW5kb3cuc3NvQ29uZmlnLnVybCwgIj9yZXNwb25zZV90eXBlPWNvZGUmY2xpZW50X2lkPSIpLmNvbmNhdCh3aW5kb3cuc3NvQ29uZmlnLmNsaWVudElkLCAiJnJlZGlyZWN0X3VyaT0iKS5jb25jYXQoX3NlcnZpY2UpOwogIH0KfTsKdmFyIGhhbmRlbFNob3J0VXJsID0gZnVuY3Rpb24gaGFuZGVsU2hvcnRVcmwodG8sIGZyb20sIG5leHQpIHsKICByZXEuZ2V0KCcke3BvcnRhbH0vcG9ydGFsL3Nob3J0dXJsTWFuYWdlL3YxL2dldExvbmdVcmxCeVNob3J0VXJsP3Nob3J0VXJsPScgKyB0by5mdWxsUGF0aC5zdWJzdHIoMSksICcnLCBmYWxzZSkudGhlbihmdW5jdGlvbiAocmVzcCkgewogICAgaWYgKHJlc3AgJiYgcmVzcC5kYXRhICYmIHJlc3AuZGF0YS5zdGF0ZSkgewogICAgICBzdG9yZS5kaXNwYXRjaCgnbG9naW4vdmFsaWRBbmRDb21wbGV0ZWRDdXJyZW50JywgcmVzcC5kYXRhLnZhbHVlLmd1ZXN0VG9rZW4pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIG5leHQoewogICAgICAgICAgcGF0aDogcmVzcC5kYXRhLnZhbHVlLnVybAogICAgICAgIH0pOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgbG9nb3V0QW5kQ2xlYW5VcCh0bywgZnJvbSwgbmV4dCk7CiAgICAgIH0pOwogICAgfSBlbHNlIHsKICAgICAgbmV4dCh7CiAgICAgICAgcGF0aDogJy9tZXNzYWdlRmlsbFBhZ2UvJyArIHJlc3AuZGF0YS5tZXNzYWdlCiAgICAgIH0pOwogICAgfQogIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHsKICAgIGxvZ291dEFuZENsZWFuVXAodG8sIGZyb20sIG5leHQpOwogIH0pOwp9Owp2YXIgbG9nb3V0QW5kQ2xlYW5VcCA9IGZ1bmN0aW9uIGxvZ291dEFuZENsZWFuVXAodG8sIGZyb20sIG5leHQpIHsKICBzdG9yZS5kaXNwYXRjaCgnbG9naW4vbG9nb3V0QW5kQ2xlYW5VcCcpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgaWYgKHdpbmRvdy5zc29Db25maWcubW9kZSAmJiB3aW5kb3cuc3NvQ29uZmlnLm1vZGUgIT0gJ2p3dCcgJiYgIXRpY2tldCkgewogICAgICBzc29SZWRpcmVjdCgpOwogICAgfSBlbHNlIGlmICghd2luZG93LnNzb0NvbmZpZy5tb2RlIHx8IHdpbmRvdy5zc29Db25maWcubW9kZSA9PSAnand0JykgewogICAgICBuZXh0KHsKICAgICAgICBwYXRoOiAnL2xvZ2luJywKICAgICAgICBxdWVyeTogewogICAgICAgICAgcmVkaXJlY3Q6IHRvLmZ1bGxQYXRoCiAgICAgICAgfQogICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgIHRocm93ICfnmbvlvZXlpLHotKUnOwogICAgfQogIH0pOwp9OwoKLy8g56e76ZmkdXJs5ZCO6Z2i55qE5oyH5a6a5Y+C5pWwCnZhciByZW1vdmVVcmxQYXJhbXMgPSBmdW5jdGlvbiByZW1vdmVVcmxQYXJhbXMocGFyYW0pIHsKICB2YXIgcXVlcnkgPSB3aW5kb3cubG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZygxKTsKICBpZiAoIXF1ZXJ5KSB7CiAgICByZXR1cm47CiAgfQogIHZhciB2YXJzID0gcXVlcnkuc3BsaXQoJyYnKTsKICB2YXIgbmV3VmFycyA9IFtdOwogIGZvciAodmFyIGkgPSAwOyBpIDwgdmFycy5sZW5ndGg7IGkrKykgewogICAgdmFyIHBhaXIgPSB2YXJzW2ldLnNwbGl0KCc9Jyk7CiAgICBpZiAocGFpclswXSAhPSBwYXJhbSkgewogICAgICBuZXdWYXJzLnB1c2godmFyc1tpXSk7CiAgICB9CiAgfQogIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgdmFyIHBhdGggPSAiIi5jb25jYXQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKS5jb25jYXQobmV3VmFycy5sZW5ndGggPiAwID8gJz8nIDogJycpLmNvbmNhdChuZXdWYXJzLmpvaW4oJyYnKSk7CiAgICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUobnVsbCwgbnVsbCwgcGF0aCk7CiAgfSwgMTAwMCk7Cn07CnZhciBnZXRBbGxEaWN0ID0gZnVuY3Rpb24gZ2V0QWxsRGljdCgpIHsKICBwb3J0YWwuZ2V0U3lzRGljdCgpLnRoZW4oZnVuY3Rpb24gKGRhdGEpIHsKICAgIGlmIChkYXRhKSB7CiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ2RpY3RfZGF0YScsIEpTT04uc3RyaW5naWZ5KGRhdGEpKTsKICAgIH0KICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyKSB7CiAgICBjb25zb2xlLmxvZyhlcnIsICflrZflhbhlcnInKTsKICB9KTsKfTsKdmFyIGFjY291bnRMb2dpbiA9IGZ1bmN0aW9uIGFjY291bnRMb2dpbih1c2VySW5mbywgbmV4dCkgewogIHN0b3JlLmRpc3BhdGNoKCdsb2dpbi9sb2dpbkJ5UHJpbmNpcGFsJywgdXNlckluZm8pLnRoZW4oZnVuY3Rpb24gKGxvZ2luU3RhdHVzKSB7CiAgICBpZiAobG9naW5TdGF0dXMgJiYgbG9naW5TdGF0dXMgPT0gdHJ1ZSkgewogICAgICBnZXRBbGxEaWN0KCk7CiAgICAgIHN0b3JlLmRpc3BhdGNoKCdtZW51L2FjdGlvbkZyb250TWVudXMnKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICB2YXIgX2dldFBhdGggPSBmdW5jdGlvbiBnZXRQYXRoKHRyZWVEYXRhKSB7CiAgICAgICAgICB2YXIgcGF0aCA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogJyc7CiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0cmVlRGF0YVswXS5jaGlsZHJlbikgJiYgdHJlZURhdGFbMF0uY2hpbGRyZW4ubGVuZ3RoKSB7CiAgICAgICAgICAgIHBhdGggKz0gIi8iLmNvbmNhdCh0cmVlRGF0YVswXS5hbGlhcyk7CiAgICAgICAgICAgIHJldHVybiBfZ2V0UGF0aCh0cmVlRGF0YVswXS5jaGlsZHJlbiwgcGF0aCk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gcGF0aCArICIvIi5jb25jYXQodHJlZURhdGFbMF0uYWxpYXMpOwogICAgICAgICAgfQogICAgICAgIH07CiAgICAgICAgbmV4dCh7CiAgICAgICAgICBwYXRoOiBfZ2V0UGF0aChyZXMsICcvYml6UGxhdCcpCiAgICAgICAgfSk7CiAgICAgICAgcmVtb3ZlVXJsUGFyYW1zKCdwdGsnKTsKICAgICAgfSk7CiAgICB9CiAgfSk7Cn07CnZhciBkZWNvZGVUb2tlbiA9IGZ1bmN0aW9uIGRlY29kZVRva2VuKGtleSkgewogIHZhciBzcGFya1N0ciA9ICcnOwogIHZhciBzcGFyayA9IG5ldyBTcGFya01ENSgpOwogIHNwYXJrLmFwcGVuZChrZXkpOwogIHNwYXJrU3RyID0gc3BhcmsuZW5kKCk7CiAgY29uc29sZS5sb2coJ3NwYXJrU3RyJywgc3BhcmtTdHIpOwogIHZhciBCYXNlNjQgPSByZXF1aXJlKCdqcy1iYXNlNjQnKS5CYXNlNjQ7CiAgdmFyIHRva2VuID0gQmFzZTY0LmVuY29kZShzcGFya1N0cik7CiAgcmV0dXJuIHRva2VuOwp9Owpyb3V0ZXIuYmVmb3JlRWFjaChmdW5jdGlvbiAodG8sIGZyb20sIG5leHQpIHsKICAvLyDosIPnlKggbXV0YXRpb24g6K6+572uIGZhdmljb24KICBzdG9yZS5jb21taXQoJ3N5c3RlbS9TRVRfRkFWSUNPTicpOwoKICAvLyDnu5/kuIDpl6jmiLfliLDmlbDmja7lhbHkuqsg5pC65bimcHRrCiAgaWYgKHRvLm5hbWUgPT09ICdzamd4JyAmJiB0by5xdWVyeS5wdGspIHsKICAgIHZhciBwdGsgPSB0by5xdWVyeS5wdGs7CiAgICB1Yy52YWxpZGF0ZUtleUFuZEdldFVzZXIocHRrKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgaWYgKHJlcy5zdGF0ZSkgewogICAgICAgIGNvbnNvbGUubG9nKHJlcyk7CiAgICAgICAgdmFyIGFjY291bnQgPSByZXMudmFsdWUuYWNjb3VudCB8fCAiIjsKICAgICAgICB2YXIga2V5ID0gIkFydGZlc3NAMDI0IjsKICAgICAgICB2YXIgZGVjb2RlVG9rZW5TdHIgPSBkZWNvZGVUb2tlbihhY2NvdW50ICsga2V5KTsKICAgICAgICBhY2NvdW50TG9naW4oewogICAgICAgICAgYWNjb3VudDogYWNjb3VudCwKICAgICAgICAgIHRva2VuOiBkZWNvZGVUb2tlblN0ciwKICAgICAgICAgIHBhc3N3b3JkOiAnJwogICAgICAgIH0sIG5leHQsIHRvLm5hbWUpOwogICAgICB9IGVsc2UgewogICAgICAgIE1lc3NhZ2UuZXJyb3IoJ+mqjOivgeWksei0pScpOwogICAgICAgIG5leHQoewogICAgICAgICAgcGF0aDogJy9sb2dpbicKICAgICAgICB9KTsKICAgICAgfQogICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycikgewogICAgICBNZXNzYWdlLmVycm9yKGVyciB8fCAn6aqM6K+B5aSx6LSlJyk7CiAgICAgIG5leHQoewogICAgICAgIHBhdGg6ICcvbG9naW4nCiAgICAgIH0pOwogICAgfSk7CiAgfQogIHN0b3JlLmRpc3BhdGNoKCdtZW51L2dldEFsbG1lbnVzJywge30pLnRoZW4oZnVuY3Rpb24gKG1lbnVzKSB7CiAgICAvL2hyZWboj5zljZXkuI3ov5vov5nmrrXku6PnoIEKICAgIGlmICh0by5mdWxsUGF0aC5pbmRleE9mKCdocmVmJykgPT0gLTEpIHsKICAgICAgdmFyIGFsaWFzID0gdG8uZnVsbFBhdGguc3BsaXQoJy8nKVsxXTsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZW51cy5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChtZW51c1tpXS5hbGlhcyA9PT0gYWxpYXMpIHsKICAgICAgICAgIHN0b3JlLmRpc3BhdGNoKCdtZW51L2dldEN1cnJlbnRNZW51JywgewogICAgICAgICAgICBhbGlhczogbWVudXNbaV0uYWxpYXMsCiAgICAgICAgICAgIG5hbWU6IG1lbnVzW2ldLm5hbWUKICAgICAgICAgIH0pOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfSk7CiAgaWYgKHRvLmZ1bGxQYXRoLnN0YXJ0c1dpdGgoJy9zdXJsLycpKSB7CiAgICBoYW5kZWxTaG9ydFVybCh0bywgZnJvbSwgbmV4dCk7CiAgICByZXR1cm47CiAgfQoKICAvLyAxLuW9k+WJjeS4uuWNleeCueeZu+W9leaooeW8j++8jOS4lOimgei3r+eUseWIsGxvZ2lu6aG16Z2i77yM5YiZ5YGa5Y2V54K555m75b2V6YeN5a6a5ZCR77ybCiAgaWYgKHRvLm5hbWUgPT0gJ2xvZ2luJyAmJiB3aW5kb3cuc3NvQ29uZmlnLm1vZGUgJiYgd2luZG93LnNzb0NvbmZpZy5tb2RlICE9ICdqd3QnKSB7CiAgICAvLyDljZXngrnnmbvlvZXml7blpoLmnpzlt7Lnu4/mkLrluKbkuoZjb2Rl5oiW6ICFdGlja2V05pe277yM5aaC5p6c5pivL2xvZ2lu6Lev5b6E6ZyA6KaB6Lez6L2s5Yiw6buY6K6k6aG16Z2i77yI6Kej5Yaz5Y+N5aSN6Lez6L2s55qE6Zeu6aKY77yJCiAgICBpZiAoKHdpbmRvdy5zc29Db25maWcubW9kZSA9PSAnY2FzJyB8fCB3aW5kb3cuc3NvQ29uZmlnLm1vZGUgPT0gJ29hdXRoJykgJiYgKHRvLnF1ZXJ5LmNvZGUgfHwgdG8ucXVlcnkudGlja2V0KSkgewogICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnJlcGxhY2UoJy9sb2dpbicsICcnKTsKICAgICAgcmV0dXJuOwogICAgfSBlbHNlIHsKICAgICAgc3NvUmVkaXJlY3QoKTsKICAgIH0KICB9CiAgaWYgKGZyb20ubmFtZSAhPSAnZGVmU3RhcnQnIHx8IHRvLm5hbWUgIT0gJ2luc3RTdGFydCcpIHsKICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oJ2Zvcm1JbXBvcnRUZW1wUmVmSWQnKTsKICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oJ2Zvcm1JbXBvcnRUZW1wSnNvbicpOwogIH0KICBpZiAoc2Vzc2lvblN0b3JhZ2UubWVudV9hbGlhcyAmJiB0by5mdWxsUGF0aCAmJiB0by5mdWxsUGF0aC5zcGxpdCgnLycpWzFdID09ICdob21lJykgewogICAgc2Vzc2lvblN0b3JhZ2UubWVudV9hbGlhcyA9ICcnOwogIH0KICBpZiAodG8ubWF0Y2hlZC5zb21lKGZ1bmN0aW9uIChyZWNvcmQpIHsKICAgIHJldHVybiAhcmVjb3JkLm1ldGEuYW5vbnltb3VzOwogIH0pKSB7CiAgICB2YXIgX3RpY2tldCA9IHRvLnF1ZXJ5LnRva2VuOwogICAgLy8gMi7lvZPliY3lt7Lnu4/ku47ljZXngrnpobXpnaLph43lrprlkJHlm57mnaXkuobvvIzkuJTlnKh1cmzlnLDlnYDkuK3mkLrluKbkuoZ0aWNrZXTmiJZjb2Rl77ybCiAgICBpZiAod2luZG93LnNzb0NvbmZpZy5tb2RlID09ICdjYXMnKSB7CiAgICAgIF90aWNrZXQgPSB0by5xdWVyeS50aWNrZXQ7CiAgICB9IGVsc2UgaWYgKHdpbmRvdy5zc29Db25maWcubW9kZSA9PSAnb2F1dGgnKSB7CiAgICAgIF90aWNrZXQgPSB0by5xdWVyeS5jb2RlOwogICAgfQogICAgc3RvcmUKICAgIC8vIDMu5pC65bimdGlja2V05YGa55So5oi36Ym05p2D77ybCiAgICAuZGlzcGF0Y2goJ2xvZ2luL3ZhbGlkQW5kQ29tcGxldGVkQ3VycmVudCcsIF90aWNrZXQpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICBzdG9yZS5fdm0uJHJvb3QuJGVtaXQoJ2xvZ2luLWNvbXBsZXRlZCcpOwogICAgICBpZiAocmVnaXN0ZXJSb3V0ZUZyZXNoKSB7CiAgICAgICAgaWYgKHNlc3Npb25TdG9yYWdlLm1lbnVfYWxpYXMpIHsKICAgICAgICAgIHZhciBwYXRoID0gJy8nICsgc2Vzc2lvblN0b3JhZ2UubWVudV9hbGlhczsKICAgICAgICAgIHZhciBpc0NoaWxkcmVuID0gcm91dGVyLmFkZExpc3QocGF0aCwgcm91dGVyLm9wdGlvbnMucm91dGVzKTsgLy/liqjmgIHmlrDlop7kuoznuqfot6/nlLEKICAgICAgICAgIC8v5b2T5YmN54K55Ye76I+c5Y2V55qE6Lev55Sx5Yir5ZCN5LiN5a2Y5ZyoIHJvdXRlci5qcyDph4zpnaIKICAgICAgICAgIC8vIGlmICghaXNDaGlsZHJlbikgewogICAgICAgICAgLy8gICAgIGxldCBhbGlhc19uZXcgPSB7CiAgICAgICAgICAvLyAgICAgICAgIHBhdGg6IHBhdGgsCiAgICAgICAgICAvLyAgICAgICAgIG5hbWU6ICdhbGlhc19uZXcnLAogICAgICAgICAgLy8gICAgICAgICBjb21wb25lbnQ6IHJlc29sdmUgPT4KICAgICAgICAgIC8vICAgICAgICAgICAgIHJlcXVpcmUoWydAL3ZpZXdzL21lbnVDb250ZW50LnZ1ZSddLCByZXNvbHZlKSwKICAgICAgICAgIC8vICAgICAgICAgY2hpbGRyZW46IFtdCiAgICAgICAgICAvLyAgICAgfQogICAgICAgICAgLy8gICAgIHJvdXRlci5vcHRpb25zLnJvdXRlcy5wdXNoKGFsaWFzX25ldykKICAgICAgICAgIC8vICAgICByb3V0ZXIuYWRkTGlzdChwYXRoLCByb3V0ZXIub3B0aW9ucy5yb3V0ZXMpIC8v5Yqo5oCB5paw5aKe5LqM57qn6Lev55SxCiAgICAgICAgICAvLyB9CiAgICAgICAgICByb3V0ZXIucmVwbGFjZSh7CiAgICAgICAgICAgIHBhdGg6IHRvLnBhdGgsCiAgICAgICAgICAgIHF1ZXJ5OiB0by5xdWVyeQogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICAgIHJlZ2lzdGVyUm91dGVGcmVzaCA9IGZhbHNlOwogICAgICB9CiAgICAgIG5leHQoKTsKICAgICAgLy8gdXJs5Zyw5Z2A5bimdG9rZW7nmoTmlrnlvI/orqTor4HmiJDlip/lkI7liKDpmaR1cmzkuK3nmoR0b2tlbgogICAgICByZW1vdmVVcmxQYXJhbXMoJ3Rva2VuJyk7CiAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7CiAgICAgIC8vIDQu6Ym05p2D5aSx6LSl5pe25qC55o2u5b2T5YmN5qih5byP6YeN5a6a5ZCR5Yiw5a+55bqU6aG16Z2i44CCCiAgICAgIGxvZ291dEFuZENsZWFuVXAodG8sIGZyb20sIG5leHQpOwogICAgfSk7CiAgfSBlbHNlIHsKICAgIG5leHQoKTsKICB9Cn0pOwpleHBvcnQgZGVmYXVsdCByb3V0ZXI7"},null]}