{"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":1735844117395},{"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:aW1wb3J0IF90b0NvbnN1bWFibGVBcnJheSBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS9kYXRhU2hhcmUtZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdG9Db25zdW1hYmxlQXJyYXkuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5jb25jYXQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5qb2luLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucHVzaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmZ1bmN0aW9uLm5hbWUuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLmV4ZWMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaXRlcmF0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcucmVwbGFjZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5zZWFyY2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuc3RhcnRzLXdpdGguanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3IuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3Iuc29tZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuaXRlcmF0b3IuanMiOwppbXBvcnQgVnVlIGZyb20gJ3Z1ZSc7CmltcG9ydCBSb3V0ZXIgZnJvbSAndnVlLXJvdXRlcic7CmltcG9ydCBzdG9yZSBmcm9tICdAL3N0b3JlJzsKaW1wb3J0IExvZ2luIGZyb20gJ0Avdmlld3MvTG9naW4nOwppbXBvcnQgTm90Rm91bmQgZnJvbSAnQC92aWV3cy9Ob3RGb3VuZC52dWUnOwppbXBvcnQgcmVxIGZyb20gJ0AvcmVxdWVzdC5qcyc7CmltcG9ydCB1YyBmcm9tICdAL2FwaS91Yy5qcyc7CmltcG9ydCB7IE1lc3NhZ2UgfSBmcm9tICdlbGVtZW50LXVpJzsKLy/ot6/nlLEKaW1wb3J0IG1haW5Sb3V0ZXIgZnJvbSAnQC9yb3V0ZXIvbW9kdWxlX3JvdXRlci5qcyc7Ci8vIOaWsOeql+WPo+mhtemdoui3r+eUsQppbXBvcnQgYmxhbmtSb3V0ZXIgZnJvbSAnQC9yb3V0ZXIvYmxhbmtfcm91dGVyLmpzJzsKVnVlLnVzZShSb3V0ZXIpOwp2YXIgcm91dGVyID0gbmV3IFJvdXRlcih7CiAgbW9kZTogJ2hpc3RvcnknLAogIGJhc2U6IHByb2Nlc3MuZW52LkJBU0VfVVJMLAogIHJvdXRlczogW3sKICAgIHBhdGg6ICcvZnJvbnRQbGF0JywKICAgIG5hbWU6ICdmcm9udFBsYXQnLAogICAgY29tcG9uZW50OiBmdW5jdGlvbiBjb21wb25lbnQoKSB7CiAgICAgIHJldHVybiBpbXBvcnQoJ0AvY29tcG9uZW50cy9sYXlvdXQvTGF5b3V0Jyk7CiAgICB9LAogICAgY2hpbGRyZW46IFt7CiAgICAgIHBhdGg6ICdnaXMnLAogICAgICBuYW1lOiAnZ2lzJywKICAgICAgY29tcG9uZW50OiBmdW5jdGlvbiBjb21wb25lbnQoKSB7CiAgICAgICAgcmV0dXJuIGltcG9ydCgnQC92aWV3cy9mcm9udFNjcmVlbnMvR2lzTWFwLnZ1ZScpOwogICAgICB9CiAgICB9LCB7CiAgICAgIHBhdGg6ICdQZXJzb25hbEluZm8nLAogICAgICBuYW1lOiAnUGVyc29uYWxJbmZvJywKICAgICAgcHJvcHM6IHRydWUsCiAgICAgIGNvbXBvbmVudDogZnVuY3Rpb24gY29tcG9uZW50KCkgewogICAgICAgIHJldHVybiBpbXBvcnQoJ0Avdmlld3MvUGVyc29uYWxJbmZvLnZ1ZScpOwogICAgICB9LAogICAgICBtZXRhOiB7CiAgICAgICAgc2luZ2xlOiB0cnVlLAogICAgICAgIGFub255bW91czogdHJ1ZQogICAgICB9CiAgICB9XS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KGJsYW5rUm91dGVyKSkKICB9LCB7CiAgICBwYXRoOiAnL2JpelBsYXQnLAogICAgbmFtZTogJ2JpelBsYXQnLAogICAgY29tcG9uZW50OiBmdW5jdGlvbiBjb21wb25lbnQoKSB7CiAgICAgIHJldHVybiBpbXBvcnQoJ0AvY29tcG9uZW50cy9sYXlvdXQvQml6TGF5b3V0Jyk7CiAgICB9LAogICAgY2hpbGRyZW46IF90b0NvbnN1bWFibGVBcnJheShtYWluUm91dGVyKQogIH0sIHsKICAgIHBhdGg6ICcvJwogIH0sIHsKICAgIHBhdGg6ICcvbG9naW4vOnRlbmFudCcsCiAgICBuYW1lOiAnbG9naW5UZW5hbnQnLAogICAgcHJvcHM6IHRydWUsCiAgICBjb21wb25lbnQ6IExvZ2luLAogICAgbWV0YTogewogICAgICBzaW5nbGU6IHRydWUsCiAgICAgIGFub255bW91czogdHJ1ZQogICAgfQogIH0sIHsKICAgIHBhdGg6ICcvbG9naW4nLAogICAgbmFtZTogJ2xvZ2luJywKICAgIGNvbXBvbmVudDogTG9naW4sCiAgICBtZXRhOiB7CiAgICAgIHNpbmdsZTogdHJ1ZSwKICAgICAgYW5vbnltb3VzOiB0cnVlCiAgICB9CiAgfSwgewogICAgcGF0aDogJy9yZXNldFB3ZFZpZXcnLAogICAgbmFtZTogJ3Jlc2V0UHdkVmlldycsCiAgICBwcm9wczogdHJ1ZSwKICAgIGNvbXBvbmVudDogZnVuY3Rpb24gY29tcG9uZW50KCkgewogICAgICByZXR1cm4gaW1wb3J0KCdAL3ZpZXdzL1Jlc2V0UHdkVmlldy52dWUnKTsKICAgIH0sCiAgICBtZXRhOiB7CiAgICAgIHNpbmdsZTogdHJ1ZSwKICAgICAgYW5vbnltb3VzOiB0cnVlCiAgICB9CiAgfSwgewogICAgcGF0aDogJy9mb3JtTWFuYWdlLzppbnN0SWQvOnR5cGUnLAogICAgbmFtZTogJ2Zvcm1NYW5hZ2UnLAogICAgY29tcG9uZW50OiBmdW5jdGlvbiBjb21wb25lbnQoKSB7CiAgICAgIHJldHVybiBpbXBvcnQoJ0AvY29tcG9uZW50cy9mbG93L2Zvcm1NYW5hZ2UudnVlJyk7CiAgICB9LAogICAgcHJvcHM6IHRydWUsCiAgICBtZXRhOiB7CiAgICAgIHNpbmdsZTogdHJ1ZQogICAgfQogIH0sIHsKICAgIHBhdGg6ICcqJywKICAgIGNvbXBvbmVudDogZnVuY3Rpb24gY29tcG9uZW50KCkgewogICAgICByZXR1cm4gaW1wb3J0KCdAL2NvbXBvbmVudHMvbGF5b3V0L0JpekxheW91dCcpOwogICAgfSwKICAgIGNoaWxkcmVuOiBbewogICAgICBwYXRoOiAnKicsCiAgICAgIGNvbXBvbmVudDogTm90Rm91bmQKICAgIH1dLAogICAgbWV0YTogewogICAgICBzaW5nbGU6IHRydWUKICAgIH0KICB9CgogIC8vIHsKICAvLyAgIHBhdGg6ICcqJywKICAvLyAgIGNvbXBvbmVudDogTm90Rm91bmQsCiAgLy8gICBtZXRhOiB7CiAgLy8gICAgIHNpbmdsZTogdHJ1ZQogIC8vICAgfSwKICAvLyB9CiAgXQp9KTsKdmFyIGNyZWF0ZVJvdXRlciA9IGZ1bmN0aW9uIGNyZWF0ZVJvdXRlcigpIHsKICByZXR1cm4gbmV3IFJvdXRlcih7CiAgICBtb2RlOiAnaGlzdG9yeScsCiAgICByb3V0ZXM6IFtdCiAgfSk7Cn07CgovL+mHjeWGmeWKqOaAgea3u+WKoOi3r+eUseaWueazlQpyb3V0ZXIuJGFkZFJvdXRlcyA9IGZ1bmN0aW9uIChwYXJhbXMpIHsKICB2YXIgbmV3Um91dGVyID0gY3JlYXRlUm91dGVyKCk7CiAgcm91dGVyLm1hdGNoZXIgPSBuZXdSb3V0ZXIubWF0Y2hlcjsgLy/ph43nva7ot6/nlLHop4TliJkKICByb3V0ZXIuYWRkUm91dGVzKHBhcmFtcyk7IC8vIOa3u+WKoOi3r+eUsQp9OwoKLy/liqjmgIHmlrDlop7kuoznuqfot6/nlLEKcm91dGVyLmFkZExpc3QgPSBmdW5jdGlvbiAocGF0aCwgbGlzdCkgewogIHZhciBpc0FkZFBhdGggPSBmYWxzZTsKICB2YXIgaXNDaGlsZHJlbiA9IGZhbHNlOwogIGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykgewogICAgLy/liKTmlq3lvZPliY3ngrnlh7voj5zljZXnmoTot6/nlLHliKvlkI3mmK/lkKblrZjlnKggcm91dGVyLmpzIOmHjOmdogogICAgaWYgKHBhdGggPT0gbGlzdFtpXS5wYXRoKSB7CiAgICAgIC8v5a2Y5ZyoCiAgICAgIC8v5Yqo5oCB5rOo5YaM6Lev55SxCiAgICAgIHZhciBpbmRleCA9IHBhdGgucmVwbGFjZSgnLycsICcnKTsKICAgICAgdmFyIHRlbXBsYXRlUHJldmlld19uZXcgPSB7CiAgICAgICAgcGF0aDogJ3RlbXBsYXRlL3ByZXZpZXcvOnRlbXBsYXRlS2V5JywKICAgICAgICBuYW1lOiAndGVtcGxhdGVQcmV2aWV3XycgKyBpbmRleCwKICAgICAgICBwcm9wczogdHJ1ZSwKICAgICAgICBjb21wb25lbnQ6IGZ1bmN0aW9uIGNvbXBvbmVudChyZXNvbHZlKSB7CiAgICAgICAgICByZXR1cm4gcmVxdWlyZShbJ0AvY29tcG9uZW50cy9kYXRhVGVtcGxhdGUvdGVtcGxhdGVQcmV2aWV3LnZ1ZSddLCByZXNvbHZlKTsKICAgICAgICB9CiAgICAgIH07IC8v5pWw5o2u5oql6KGoCiAgICAgIHZhciB0ZW1wbGF0ZUhyZWZfbmV3ID0gewogICAgICAgIHBhdGg6ICdocmVmL3RlbXBsYXRlLzphbGlhcycsCiAgICAgICAgbmFtZTogJ3RlbXBsYXRlSHJlZl8nICsgaW5kZXgsCiAgICAgICAgcHJvcHM6IHRydWUsCiAgICAgICAgY29tcG9uZW50OiBmdW5jdGlvbiBjb21wb25lbnQocmVzb2x2ZSkgewogICAgICAgICAgcmV0dXJuIHJlcXVpcmUoWydAL2NvbXBvbmVudHMvZGF0YVRlbXBsYXRlL3RlbXBsYXRlSHJlZi52dWUnXSwgcmVzb2x2ZSk7CiAgICAgICAgfQogICAgICB9OyAvL1VSTOiPnOWNlQogICAgICB2YXIgcXVlcnlTcWxfbmV3ID0gewogICAgICAgIHBhdGg6ICdxdWVyeVNxbC9xdWVyeVZpZXcvOnNxbEFsaWFzLzphbGlhcycsCiAgICAgICAgbmFtZTogJ3F1ZXJ5U3FsXycgKyBpbmRleCwKICAgICAgICBwcm9wczogdHJ1ZSwKICAgICAgICBjb21wb25lbnQ6IGZ1bmN0aW9uIGNvbXBvbmVudChyZXNvbHZlKSB7CiAgICAgICAgICByZXR1cm4gcmVxdWlyZShbJ0AvY29tcG9uZW50cy9xdWVyeVNxbC9xdWVyeVNxbENvbnRlbnQudnVlJ10sIHJlc29sdmUpOwogICAgICAgIH0KICAgICAgfTsgLy/oh6rlrprkuYnop4blm74KICAgICAgdmFyIHRlbXBsYXRlX25ldyA9IHsKICAgICAgICBwYXRoOiAndGVtcGxhdGUvZm9ybS86dGVtcGxhdGVLZXkvOmFjdGlvbicsCiAgICAgICAgbmFtZTogJ3RlbXBsYXRlXycgKyBpbmRleCwKICAgICAgICBwcm9wczogdHJ1ZSwKICAgICAgICBjb21wb25lbnQ6IGZ1bmN0aW9uIGNvbXBvbmVudChyZXNvbHZlKSB7CiAgICAgICAgICByZXR1cm4gcmVxdWlyZShbJ0AvY29tcG9uZW50cy9kYXRhVGVtcGxhdGUvdGVtcGxhdGVGb3JtLnZ1ZSddLCByZXNvbHZlKTsKICAgICAgICB9CiAgICAgIH07IC8v5pWw5o2u5oql6KGoCiAgICAgIHZhciBkcmFmdExpc3RfbmV3ID0gewogICAgICAgIHBhdGg6ICdkcmFmdExpc3QvOnRlbXBBbGlhcy86ZGF0YVZpZXdGbGFnJywKICAgICAgICBuYW1lOiAndGVtcGxhdGVfJyArIGluZGV4LAogICAgICAgIHByb3BzOiB0cnVlLAogICAgICAgIGNvbXBvbmVudDogZnVuY3Rpb24gY29tcG9uZW50KHJlc29sdmUpIHsKICAgICAgICAgIHJldHVybiByZXF1aXJlKFsnQC9jb21wb25lbnRzL2RhdGFUZW1wbGF0ZS9UZW1wbGF0ZURyYWZ0LnZ1ZSddLCByZXNvbHZlKTsKICAgICAgICB9CiAgICAgIH07IC8v5pWw5o2u5oql6KGoCiAgICAgIHZhciB0ZW1wbGF0ZVNpbmdsZV9uZXcgPSB7CiAgICAgICAgcGF0aDogJ3RlbXBsYXRlL2Zvcm0vOnRlbXBsYXRlS2V5LzphY3Rpb24vOnNpbmdsZScsCiAgICAgICAgbmFtZTogJ3RlbXBsYXRlU2luZ2xlXycgKyBpbmRleCwKICAgICAgICBwcm9wczogdHJ1ZSwKICAgICAgICBjb21wb25lbnQ6IGZ1bmN0aW9uIGNvbXBvbmVudChyZXNvbHZlKSB7CiAgICAgICAgICByZXR1cm4gcmVxdWlyZShbJ0AvY29tcG9uZW50cy9kYXRhVGVtcGxhdGUvdGVtcGxhdGVGb3JtLnZ1ZSddLCByZXNvbHZlKTsKICAgICAgICB9CiAgICAgIH07IC8v5pWw5o2u5oql6KGoCiAgICAgIHZhciB0ZW1wbGF0ZVF1ZXJ5c19uZXcgPSB7CiAgICAgICAgcGF0aDogJ3RlbXBsYXRlL3ByZXZpZXcvOnRlbXBsYXRlS2V5LzpzaW5nbGUvOnBhcmFtZXRlcnFRdWVyeXMnLAogICAgICAgIG5hbWU6ICd0ZW1wbGF0ZVF1ZXJ5c18nICsgaW5kZXgsCiAgICAgICAgcHJvcHM6IHRydWUsCiAgICAgICAgY29tcG9uZW50OiBmdW5jdGlvbiBjb21wb25lbnQocmVzb2x2ZSkgewogICAgICAgICAgcmV0dXJuIHJlcXVpcmUoWydAL2NvbXBvbmVudHMvZGF0YVRlbXBsYXRlL3RlbXBsYXRlUHJldmlldy52dWUnXSwgcmVzb2x2ZSk7CiAgICAgICAgfQogICAgICB9OyAvL+aVsOaNruaKpeihqAogICAgICBpZiAobGlzdFtpXS5jaGlsZHJlbikgewogICAgICAgIC8v5Yik5pat5piv5ZCm6YeN5aSN5re75Yqg6Lev55SxCiAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBsaXN0W2ldLmNoaWxkcmVuLmxlbmd0aDsgaisrKSB7CiAgICAgICAgICB2YXIgY2hpbGRyZW4gPSBsaXN0W2ldLmNoaWxkcmVuW2pdOwogICAgICAgICAgaWYgKGNoaWxkcmVuLm5hbWUgPT0gdGVtcGxhdGVQcmV2aWV3X25ldy5uYW1lKSB7CiAgICAgICAgICAgIGlzQWRkUGF0aCA9IHRydWU7IC8vIHRydWUg77yaIOmHjeWkjei3r+eUsQogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCFpc0FkZFBhdGgpIHsKICAgICAgICAgIGxpc3RbaV0uY2hpbGRyZW4ucHVzaCh0ZW1wbGF0ZVByZXZpZXdfbmV3KTsKICAgICAgICAgIGxpc3RbaV0uY2hpbGRyZW4ucHVzaCh0ZW1wbGF0ZUhyZWZfbmV3KTsKICAgICAgICAgIGxpc3RbaV0uY2hpbGRyZW4ucHVzaChxdWVyeVNxbF9uZXcpOwogICAgICAgICAgbGlzdFtpXS5jaGlsZHJlbi5wdXNoKHRlbXBsYXRlX25ldyk7CiAgICAgICAgICBsaXN0W2ldLmNoaWxkcmVuLnB1c2godGVtcGxhdGVTaW5nbGVfbmV3KTsKICAgICAgICAgIGxpc3RbaV0uY2hpbGRyZW4ucHVzaCh0ZW1wbGF0ZVF1ZXJ5c19uZXcpOwogICAgICAgICAgbGlzdFtpXS5jaGlsZHJlbi5wdXNoKGRyYWZ0TGlzdF9uZXcpOwogICAgICAgICAgcm91dGVyLiRhZGRSb3V0ZXMobGlzdCk7CiAgICAgICAgfQogICAgICAgIGlzQ2hpbGRyZW4gPSB0cnVlOwogICAgICAgIGJyZWFrOwogICAgICB9IGVsc2UgaXNDaGlsZHJlbiA9IHRydWU7CiAgICB9CiAgfQogIHJldHVybiBpc0NoaWxkcmVuOwp9Owp2YXIgcmVnaXN0ZXJSb3V0ZUZyZXNoID0gdHJ1ZTsKdmFyIHNzb1JlZGlyZWN0ID0gZnVuY3Rpb24gc3NvUmVkaXJlY3QoKSB7CiAgaWYgKHdpbmRvdy5zc29Db25maWcubW9kZSA9PSAnY2FzJykgewogICAgdmFyIHNlcnZpY2UgPSB3aW5kb3cubG9jYXRpb24uaHJlZjsKICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdzZXJ2aWNlJywgc2VydmljZSk7CiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHdpbmRvdy5zc29Db25maWcudXJsICsgJz9zZXJ2aWNlPScgKyBzZXJ2aWNlOwogIH0gZWxzZSBpZiAod2luZG93LnNzb0NvbmZpZy5tb2RlID09ICdvYXV0aCcpIHsKICAgIGlmICghd2luZG93LnNzb0NvbmZpZy5jbGllbnRJZCkgewogICAgICB0aHJvdyAnb2F1dGjmqKHlvI/kuIvlv4Xpobvmj5DkvptjbGllbnRJZCc7CiAgICB9CiAgICB2YXIgX3NlcnZpY2UgPSB3aW5kb3cubG9jYXRpb24uaHJlZjsKICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdzZXJ2aWNlJywgX3NlcnZpY2UpOwogICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAiIi5jb25jYXQod2luZG93LnNzb0NvbmZpZy51cmwsICI/cmVzcG9uc2VfdHlwZT1jb2RlJmNsaWVudF9pZD0iKS5jb25jYXQod2luZG93LnNzb0NvbmZpZy5jbGllbnRJZCwgIiZyZWRpcmVjdF91cmk9IikuY29uY2F0KF9zZXJ2aWNlKTsKICB9Cn07CnZhciBoYW5kZWxTaG9ydFVybCA9IGZ1bmN0aW9uIGhhbmRlbFNob3J0VXJsKHRvLCBmcm9tLCBuZXh0KSB7CiAgcmVxLmdldCgnJHtwb3J0YWx9L3BvcnRhbC9zaG9ydHVybE1hbmFnZS92MS9nZXRMb25nVXJsQnlTaG9ydFVybD9zaG9ydFVybD0nICsgdG8uZnVsbFBhdGguc3Vic3RyKDEpLCAnJywgZmFsc2UpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHsKICAgIGlmIChyZXNwICYmIHJlc3AuZGF0YSAmJiByZXNwLmRhdGEuc3RhdGUpIHsKICAgICAgc3RvcmUuZGlzcGF0Y2goJ2xvZ2luL3ZhbGlkQW5kQ29tcGxldGVkQ3VycmVudCcsIHJlc3AuZGF0YS52YWx1ZS5ndWVzdFRva2VuKS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICBuZXh0KHsKICAgICAgICAgIHBhdGg6IHJlc3AuZGF0YS52YWx1ZS51cmwKICAgICAgICB9KTsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKCkgewogICAgICAgIGxvZ291dEFuZENsZWFuVXAodG8sIGZyb20sIG5leHQpOwogICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgIG5leHQoewogICAgICAgIHBhdGg6ICcvbWVzc2FnZUZpbGxQYWdlLycgKyByZXNwLmRhdGEubWVzc2FnZQogICAgICB9KTsKICAgIH0KICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7CiAgICBsb2dvdXRBbmRDbGVhblVwKHRvLCBmcm9tLCBuZXh0KTsKICB9KTsKfTsKdmFyIGxvZ291dEFuZENsZWFuVXAgPSBmdW5jdGlvbiBsb2dvdXRBbmRDbGVhblVwKHRvLCBmcm9tLCBuZXh0KSB7CiAgc3RvcmUuZGlzcGF0Y2goJ2xvZ2luL2xvZ291dEFuZENsZWFuVXAnKS50aGVuKGZ1bmN0aW9uICgpIHsKICAgIGlmICh3aW5kb3cuc3NvQ29uZmlnLm1vZGUgJiYgd2luZG93LnNzb0NvbmZpZy5tb2RlICE9ICdqd3QnICYmICF0aWNrZXQpIHsKICAgICAgc3NvUmVkaXJlY3QoKTsKICAgIH0gZWxzZSBpZiAoIXdpbmRvdy5zc29Db25maWcubW9kZSB8fCB3aW5kb3cuc3NvQ29uZmlnLm1vZGUgPT0gJ2p3dCcpIHsKICAgICAgbmV4dCh7CiAgICAgICAgcGF0aDogJy9sb2dpbicsCiAgICAgICAgcXVlcnk6IHsKICAgICAgICAgIHJlZGlyZWN0OiB0by5mdWxsUGF0aAogICAgICAgIH0KICAgICAgfSk7CiAgICB9IGVsc2UgewogICAgICB0aHJvdyAn55m75b2V5aSx6LSlJzsKICAgIH0KICB9KTsKfTsKCi8vIOenu+mZpHVybOWQjumdoueahOaMh+WumuWPguaVsAp2YXIgcmVtb3ZlVXJsUGFyYW1zID0gZnVuY3Rpb24gcmVtb3ZlVXJsUGFyYW1zKHBhcmFtKSB7CiAgdmFyIHF1ZXJ5ID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSk7CiAgaWYgKCFxdWVyeSkgewogICAgcmV0dXJuOwogIH0KICB2YXIgdmFycyA9IHF1ZXJ5LnNwbGl0KCcmJyk7CiAgdmFyIG5ld1ZhcnMgPSBbXTsKICBmb3IgKHZhciBpID0gMDsgaSA8IHZhcnMubGVuZ3RoOyBpKyspIHsKICAgIHZhciBwYWlyID0gdmFyc1tpXS5zcGxpdCgnPScpOwogICAgaWYgKHBhaXJbMF0gIT0gcGFyYW0pIHsKICAgICAgbmV3VmFycy5wdXNoKHZhcnNbaV0pOwogICAgfQogIH0KICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgIHZhciBwYXRoID0gIiIuY29uY2F0KHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkuY29uY2F0KG5ld1ZhcnMubGVuZ3RoID4gMCA/ICc/JyA6ICcnKS5jb25jYXQobmV3VmFycy5qb2luKCcmJykpOwogICAgd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKG51bGwsIG51bGwsIHBhdGgpOwogIH0sIDEwMDApOwp9Owp2YXIgbG9hZGluZ0luc3RhbmNlOwp2YXIgdG9rZW5Mb2dpbiA9IGZ1bmN0aW9uIHRva2VuTG9naW4odXNlckluZm8sIG5leHQpIHsKICBzdG9yZS5kaXNwYXRjaCgnbG9naW4vbG9naW5CeVByaW5jaXBhbCcsIHVzZXJJbmZvKS50aGVuKGZ1bmN0aW9uIChsb2dpblN0YXR1cykgewogICAgaWYgKGxvZ2luU3RhdHVzICYmIGxvZ2luU3RhdHVzID09IHRydWUpIHsKICAgICAgc3RvcmUuZGlzcGF0Y2goJ21lbnUvYWN0aW9uRnJvbnRNZW51cycpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIG5leHQoewogICAgICAgICAgcGF0aDogIi9mcm9udFBsYXQvIi5jb25jYXQocmVzWzBdLmFsaWFzKQogICAgICAgICAgLy8gcGF0aDogYC9uZXdPcGVuL2NvY2twaXRgCiAgICAgICAgfSk7CiAgICAgICAgcmVtb3ZlVXJsUGFyYW1zKCd0b2tlbktleScpOwogICAgICAgIC8vIGxvYWRpbmdJbnN0YW5jZS5jbG9zZSgpCiAgICAgIH0pOwogICAgfQogIH0pOwp9Owpyb3V0ZXIuYmVmb3JlRWFjaChmdW5jdGlvbiAodG8sIGZyb20sIG5leHQpIHsKICAvLyDosIPnlKggbXV0YXRpb24g6K6+572uIGZhdmljb24KICBzdG9yZS5jb21taXQoJ3N5c3RlbS9TRVRfRkFWSUNPTicpOwoKICAvLyDnlKjmiLfkuK3lv4PnmbvlvZXliLDlhbvmiqTns7vnu58g5pC65bimdG9rZW5LZXkKICBpZiAodG8ubmFtZSA9PSAnbG9naW4nICYmIHRvLnF1ZXJ5LnRva2VuS2V5KSB7CiAgICAvLyBsb2FkaW5nSW5zdGFuY2UgPSBMb2FkaW5nLnNlcnZpY2UoeyBmdWxsc2NyZWVuOiB0cnVlICxiYWNrZ3JvdW5kOiAncmdiYSgwLCAwLCAwLCAwLjYpJ30pOwogICAgdmFyIGRhdGEgPSB7CiAgICAgIGtleTogdG8ucXVlcnkudG9rZW5LZXkKICAgIH07CiAgICB2YXIgdG9rZW4gPSB7CiAgICAgIHRva2VuOiAnJwogICAgfTsKICAgIC8vIHRva2VuTG9naW4oewogICAgLy8gICBhY2NvdW50OiAiYWRtaW4iLAogICAgLy8gICBwYXNzd29yZDogImFydGZlc3MiCiAgICAvLyB9LCBuZXh0KTsKICAgIHVjLmF1dGhGb3JtVXNlclRva2VuS2V5KGRhdGEpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAvLyBkZWJ1Z2dlcjsKICAgICAgY29uc29sZS5sb2cocmVzKTsKICAgICAgaWYgKHJlcy5zdWNjZXNzKSB7CiAgICAgICAgdG9rZW4udG9rZW4gPSByZXMuZGF0YTsKICAgICAgICB1Yy5hdXRoVXNlckluZm8odG9rZW4pLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgY29uc29sZS5sb2cocmVzLCAncmVzcmVzcmVzcmVzJyk7CiAgICAgICAgICBpZiAocmVzLnN1Y2Nlc3MpIHsKICAgICAgICAgICAgLy/lkIzmraXlkI7ojrflj5bnlKjmiLflkI3lr4bnoIHnmbvlvZUKICAgICAgICAgICAgdG9rZW5Mb2dpbih7CiAgICAgICAgICAgICAgYWNjb3VudDogJ2FkbWluJywKICAgICAgICAgICAgICBwYXNzd29yZDogJ2FydGZlc3MnCiAgICAgICAgICAgIH0sIG5leHQpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgTWVzc2FnZS5lcnJvcihyZXMubXNnKTsKICAgICAgICAgICAgLy8gbG9hZGluZ0luc3RhbmNlLmNsb3NlKCkKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICBNZXNzYWdlLmVycm9yKHJlcy5tc2cpOwogICAgICAgIC8vIGxvYWRpbmdJbnN0YW5jZS5jbG9zZSgpCiAgICAgIH0KICAgIH0pOwogIH0KICBzdG9yZS5kaXNwYXRjaCgnbWVudS9nZXRBbGxtZW51cycsIHt9KS50aGVuKGZ1bmN0aW9uIChtZW51cykgewogICAgLy9ocmVm6I+c5Y2V5LiN6L+b6L+Z5q615Luj56CBCiAgICBpZiAodG8uZnVsbFBhdGguaW5kZXhPZignaHJlZicpID09IC0xKSB7CiAgICAgIHZhciBhbGlhcyA9IHRvLmZ1bGxQYXRoLnNwbGl0KCcvJylbMV07CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWVudXMubGVuZ3RoOyBpKyspIHsKICAgICAgICBpZiAobWVudXNbaV0uYWxpYXMgPT09IGFsaWFzKSB7CiAgICAgICAgICBzdG9yZS5kaXNwYXRjaCgnbWVudS9nZXRDdXJyZW50TWVudScsIHsKICAgICAgICAgICAgYWxpYXM6IG1lbnVzW2ldLmFsaWFzLAogICAgICAgICAgICBuYW1lOiBtZW51c1tpXS5uYW1lCiAgICAgICAgICB9KTsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQogICAgfQogIH0pOwogIGlmICh0by5mdWxsUGF0aC5zdGFydHNXaXRoKCcvc3VybC8nKSkgewogICAgaGFuZGVsU2hvcnRVcmwodG8sIGZyb20sIG5leHQpOwogICAgcmV0dXJuOwogIH0KCiAgLy8gMS7lvZPliY3kuLrljZXngrnnmbvlvZXmqKHlvI/vvIzkuJTopoHot6/nlLHliLBsb2dpbumhtemdou+8jOWImeWBmuWNleeCueeZu+W9lemHjeWumuWQke+8mwogIGlmICh0by5uYW1lID09ICdsb2dpbicgJiYgd2luZG93LnNzb0NvbmZpZy5tb2RlICYmIHdpbmRvdy5zc29Db25maWcubW9kZSAhPSAnand0JykgewogICAgLy8g5Y2V54K555m75b2V5pe25aaC5p6c5bey57uP5pC65bim5LqGY29kZeaIluiAhXRpY2tldOaXtu+8jOWmguaenOaYry9sb2dpbui3r+W+hOmcgOimgei3s+i9rOWIsOm7mOiupOmhtemdou+8iOino+WGs+WPjeWkjei3s+i9rOeahOmXrumimO+8iQogICAgaWYgKCh3aW5kb3cuc3NvQ29uZmlnLm1vZGUgPT0gJ2NhcycgfHwgd2luZG93LnNzb0NvbmZpZy5tb2RlID09ICdvYXV0aCcpICYmICh0by5xdWVyeS5jb2RlIHx8IHRvLnF1ZXJ5LnRpY2tldCkpIHsKICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB3aW5kb3cubG9jYXRpb24uaHJlZi5yZXBsYWNlKCcvbG9naW4nLCAnJyk7CiAgICAgIHJldHVybjsKICAgIH0gZWxzZSB7CiAgICAgIHNzb1JlZGlyZWN0KCk7CiAgICB9CiAgfQogIGlmIChmcm9tLm5hbWUgIT0gJ2RlZlN0YXJ0JyB8fCB0by5uYW1lICE9ICdpbnN0U3RhcnQnKSB7CiAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdmb3JtSW1wb3J0VGVtcFJlZklkJyk7CiAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdmb3JtSW1wb3J0VGVtcEpzb24nKTsKICB9CiAgaWYgKHNlc3Npb25TdG9yYWdlLm1lbnVfYWxpYXMgJiYgdG8uZnVsbFBhdGggJiYgdG8uZnVsbFBhdGguc3BsaXQoJy8nKVsxXSA9PSAnaG9tZScpIHsKICAgIHNlc3Npb25TdG9yYWdlLm1lbnVfYWxpYXMgPSAnJzsKICB9CiAgaWYgKHRvLm1hdGNoZWQuc29tZShmdW5jdGlvbiAocmVjb3JkKSB7CiAgICByZXR1cm4gIXJlY29yZC5tZXRhLmFub255bW91czsKICB9KSkgewogICAgdmFyIF90aWNrZXQgPSB0by5xdWVyeS50b2tlbjsKICAgIC8vIDIu5b2T5YmN5bey57uP5LuO5Y2V54K56aG16Z2i6YeN5a6a5ZCR5Zue5p2l5LqG77yM5LiU5ZyodXJs5Zyw5Z2A5Lit5pC65bim5LqGdGlja2V05oiWY29kZe+8mwogICAgaWYgKHdpbmRvdy5zc29Db25maWcubW9kZSA9PSAnY2FzJykgewogICAgICBfdGlja2V0ID0gdG8ucXVlcnkudGlja2V0OwogICAgfSBlbHNlIGlmICh3aW5kb3cuc3NvQ29uZmlnLm1vZGUgPT0gJ29hdXRoJykgewogICAgICBfdGlja2V0ID0gdG8ucXVlcnkuY29kZTsKICAgIH0KICAgIHN0b3JlCiAgICAvLyAzLuaQuuW4pnRpY2tldOWBmueUqOaIt+mJtOadg++8mwogICAgLmRpc3BhdGNoKCdsb2dpbi92YWxpZEFuZENvbXBsZXRlZEN1cnJlbnQnLCBfdGlja2V0KS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgc3RvcmUuX3ZtLiRyb290LiRlbWl0KCdsb2dpbi1jb21wbGV0ZWQnKTsKICAgICAgaWYgKHJlZ2lzdGVyUm91dGVGcmVzaCkgewogICAgICAgIGlmIChzZXNzaW9uU3RvcmFnZS5tZW51X2FsaWFzKSB7CiAgICAgICAgICB2YXIgcGF0aCA9ICcvJyArIHNlc3Npb25TdG9yYWdlLm1lbnVfYWxpYXM7CiAgICAgICAgICB2YXIgaXNDaGlsZHJlbiA9IHJvdXRlci5hZGRMaXN0KHBhdGgsIHJvdXRlci5vcHRpb25zLnJvdXRlcyk7IC8v5Yqo5oCB5paw5aKe5LqM57qn6Lev55SxCiAgICAgICAgICAvL+W9k+WJjeeCueWHu+iPnOWNleeahOi3r+eUseWIq+WQjeS4jeWtmOWcqCByb3V0ZXIuanMg6YeM6Z2iCiAgICAgICAgICAvLyBpZiAoIWlzQ2hpbGRyZW4pIHsKICAgICAgICAgIC8vICAgICBsZXQgYWxpYXNfbmV3ID0gewogICAgICAgICAgLy8gICAgICAgICBwYXRoOiBwYXRoLAogICAgICAgICAgLy8gICAgICAgICBuYW1lOiAnYWxpYXNfbmV3JywKICAgICAgICAgIC8vICAgICAgICAgY29tcG9uZW50OiByZXNvbHZlID0+CiAgICAgICAgICAvLyAgICAgICAgICAgICByZXF1aXJlKFsnQC92aWV3cy9tZW51Q29udGVudC52dWUnXSwgcmVzb2x2ZSksCiAgICAgICAgICAvLyAgICAgICAgIGNoaWxkcmVuOiBbXQogICAgICAgICAgLy8gICAgIH0KICAgICAgICAgIC8vICAgICByb3V0ZXIub3B0aW9ucy5yb3V0ZXMucHVzaChhbGlhc19uZXcpCiAgICAgICAgICAvLyAgICAgcm91dGVyLmFkZExpc3QocGF0aCwgcm91dGVyLm9wdGlvbnMucm91dGVzKSAvL+WKqOaAgeaWsOWinuS6jOe6p+i3r+eUsQogICAgICAgICAgLy8gfQogICAgICAgICAgcm91dGVyLnJlcGxhY2UoewogICAgICAgICAgICBwYXRoOiB0by5wYXRoLAogICAgICAgICAgICBxdWVyeTogdG8ucXVlcnkKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgICByZWdpc3RlclJvdXRlRnJlc2ggPSBmYWxzZTsKICAgICAgfQogICAgICBuZXh0KCk7CiAgICAgIC8vIHVybOWcsOWdgOW4pnRva2Vu55qE5pa55byP6K6k6K+B5oiQ5Yqf5ZCO5Yig6ZmkdXJs5Lit55qEdG9rZW4KICAgICAgcmVtb3ZlVXJsUGFyYW1zKCd0b2tlbicpOwogICAgfSkuY2F0Y2goZnVuY3Rpb24gKCkgewogICAgICAvLyA0LumJtOadg+Wksei0peaXtuagueaNruW9k+WJjeaooeW8j+mHjeWumuWQkeWIsOWvueW6lOmhtemdouOAggogICAgICBsb2dvdXRBbmRDbGVhblVwKHRvLCBmcm9tLCBuZXh0KTsKICAgIH0pOwogIH0gZWxzZSB7CiAgICBuZXh0KCk7CiAgfQp9KTsKZXhwb3J0IGRlZmF1bHQgcm91dGVyOw=="},null]}