{"remainingRequest":"F:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\thread-loader\\dist\\cjs.js!F:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js!F:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!F:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!F:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\src\\views\\tool\\build\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"F:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\src\\views\\tool\\build\\index.vue","mtime":1675221397135},{"path":"F:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\babel.config.js","mtime":1675221397043},{"path":"F:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1678842086999},{"path":"F:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\thread-loader\\dist\\cjs.js","mtime":1678842086986},{"path":"F:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":1678842088721},{"path":"F:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1678842086999},{"path":"F:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":1678842089772}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF90eXBlb2YgZnJvbSAiRjovV29ya3NwYWNlcy9hcmQvUnVvWWktVnVlLW1hc3Rlci1wZy9SdW9ZaS1WdWUtbWFzdGVyL3J1b3lpLXVpL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90eXBlb2YuanMiOwppbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tICJGOi9Xb3Jrc3BhY2VzL2FyZC9SdW9ZaS1WdWUtbWFzdGVyLXBnL1J1b1lpLVZ1ZS1tYXN0ZXIvcnVveWktdWkvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFNwcmVhZDIuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAuZXhlYy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5yZXBsYWNlLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucHVzaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmpzb24uc3RyaW5naWZ5LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuc3BsaWNlLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuZm9yLWVhY2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbmQtaW5kZXguanMiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwoKaW1wb3J0IGRyYWdnYWJsZSBmcm9tICd2dWVkcmFnZ2FibGUnOwppbXBvcnQgYmVhdXRpZmllciBmcm9tICdqcy1iZWF1dGlmeSc7CmltcG9ydCBDbGlwYm9hcmRKUyBmcm9tICdjbGlwYm9hcmQnOwppbXBvcnQgcmVuZGVyIGZyb20gJ0AvdXRpbHMvZ2VuZXJhdG9yL3JlbmRlcic7CmltcG9ydCBSaWdodFBhbmVsIGZyb20gJy4vUmlnaHRQYW5lbCc7CmltcG9ydCB7IGlucHV0Q29tcG9uZW50cywgc2VsZWN0Q29tcG9uZW50cywgbGF5b3V0Q29tcG9uZW50cywgZm9ybUNvbmYgfSBmcm9tICdAL3V0aWxzL2dlbmVyYXRvci9jb25maWcnOwppbXBvcnQgeyBiZWF1dGlmaWVyQ29uZiwgdGl0bGVDYXNlIH0gZnJvbSAnQC91dGlscy9pbmRleCc7CmltcG9ydCB7IG1ha2VVcEh0bWwsIHZ1ZVRlbXBsYXRlLCB2dWVTY3JpcHQsIGNzc1N0eWxlIH0gZnJvbSAnQC91dGlscy9nZW5lcmF0b3IvaHRtbCc7CmltcG9ydCB7IG1ha2VVcEpzIH0gZnJvbSAnQC91dGlscy9nZW5lcmF0b3IvanMnOwppbXBvcnQgeyBtYWtlVXBDc3MgfSBmcm9tICdAL3V0aWxzL2dlbmVyYXRvci9jc3MnOwppbXBvcnQgZHJhd2luZ0RlZmF1bHQgZnJvbSAnQC91dGlscy9nZW5lcmF0b3IvZHJhd2luZ0RlZmF1bHQnOwppbXBvcnQgbG9nbyBmcm9tICdAL2Fzc2V0cy9sb2dvL2xvZ28ucG5nJzsKaW1wb3J0IENvZGVUeXBlRGlhbG9nIGZyb20gJy4vQ29kZVR5cGVEaWFsb2cnOwppbXBvcnQgRHJhZ2dhYmxlSXRlbSBmcm9tICcuL0RyYWdnYWJsZUl0ZW0nOwp2YXIgb2xkQWN0aXZlSWQ7CnZhciB0ZW1wQWN0aXZlRGF0YTsKZXhwb3J0IGRlZmF1bHQgewogIGNvbXBvbmVudHM6IHsKICAgIGRyYWdnYWJsZTogZHJhZ2dhYmxlLAogICAgcmVuZGVyOiByZW5kZXIsCiAgICBSaWdodFBhbmVsOiBSaWdodFBhbmVsLAogICAgQ29kZVR5cGVEaWFsb2c6IENvZGVUeXBlRGlhbG9nLAogICAgRHJhZ2dhYmxlSXRlbTogRHJhZ2dhYmxlSXRlbQogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIGxvZ286IGxvZ28sCiAgICAgIGlkR2xvYmFsOiAxMDAsCiAgICAgIGZvcm1Db25mOiBmb3JtQ29uZiwKICAgICAgaW5wdXRDb21wb25lbnRzOiBpbnB1dENvbXBvbmVudHMsCiAgICAgIHNlbGVjdENvbXBvbmVudHM6IHNlbGVjdENvbXBvbmVudHMsCiAgICAgIGxheW91dENvbXBvbmVudHM6IGxheW91dENvbXBvbmVudHMsCiAgICAgIGxhYmVsV2lkdGg6IDEwMCwKICAgICAgZHJhd2luZ0xpc3Q6IGRyYXdpbmdEZWZhdWx0LAogICAgICBkcmF3aW5nRGF0YToge30sCiAgICAgIGFjdGl2ZUlkOiBkcmF3aW5nRGVmYXVsdFswXS5mb3JtSWQsCiAgICAgIGRyYXdlclZpc2libGU6IGZhbHNlLAogICAgICBmb3JtRGF0YToge30sCiAgICAgIGRpYWxvZ1Zpc2libGU6IGZhbHNlLAogICAgICBnZW5lcmF0ZUNvbmY6IG51bGwsCiAgICAgIHNob3dGaWxlTmFtZTogZmFsc2UsCiAgICAgIGFjdGl2ZURhdGE6IGRyYXdpbmdEZWZhdWx0WzBdCiAgICB9OwogIH0sCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIC8vIOmYsuatoiBmaXJlZm94IOS4iyDmi5bmi70g5Lya5paw5omT5Y2h5LiA5Liq6YCJ6aG55Y2hCiAgICBkb2N1bWVudC5ib2R5Lm9uZHJvcCA9IGZ1bmN0aW9uIChldmVudCkgewogICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKICAgIH07CiAgfSwKICB3YXRjaDogewogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGZ1bmMtbmFtZXMKICAgICdhY3RpdmVEYXRhLmxhYmVsJzogZnVuY3Rpb24gYWN0aXZlRGF0YUxhYmVsKHZhbCwgb2xkVmFsKSB7CiAgICAgIGlmICh0aGlzLmFjdGl2ZURhdGEucGxhY2Vob2xkZXIgPT09IHVuZGVmaW5lZCB8fCAhdGhpcy5hY3RpdmVEYXRhLnRhZyB8fCBvbGRBY3RpdmVJZCAhPT0gdGhpcy5hY3RpdmVJZCkgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB0aGlzLmFjdGl2ZURhdGEucGxhY2Vob2xkZXIgPSB0aGlzLmFjdGl2ZURhdGEucGxhY2Vob2xkZXIucmVwbGFjZShvbGRWYWwsICcnKSArIHZhbDsKICAgIH0sCiAgICBhY3RpdmVJZDogewogICAgICBoYW5kbGVyOiBmdW5jdGlvbiBoYW5kbGVyKHZhbCkgewogICAgICAgIG9sZEFjdGl2ZUlkID0gdmFsOwogICAgICB9LAogICAgICBpbW1lZGlhdGU6IHRydWUKICAgIH0KICB9LAogIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7CiAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgdmFyIGNsaXBib2FyZCA9IG5ldyBDbGlwYm9hcmRKUygnI2NvcHlOb2RlJywgewogICAgICB0ZXh0OiBmdW5jdGlvbiB0ZXh0KHRyaWdnZXIpIHsKICAgICAgICB2YXIgY29kZVN0ciA9IF90aGlzLmdlbmVyYXRlQ29kZSgpOwogICAgICAgIF90aGlzLiRub3RpZnkoewogICAgICAgICAgdGl0bGU6ICfmiJDlip8nLAogICAgICAgICAgbWVzc2FnZTogJ+S7o+eggeW3suWkjeWItuWIsOWJquWIh+adv++8jOWPr+eymOi0tOOAgicsCiAgICAgICAgICB0eXBlOiAnc3VjY2VzcycKICAgICAgICB9KTsKICAgICAgICByZXR1cm4gY29kZVN0cjsKICAgICAgfQogICAgfSk7CiAgICBjbGlwYm9hcmQub24oJ2Vycm9yJywgZnVuY3Rpb24gKGUpIHsKICAgICAgX3RoaXMuJG1lc3NhZ2UuZXJyb3IoJ+S7o+eggeWkjeWItuWksei0pScpOwogICAgfSk7CiAgfSwKICBtZXRob2RzOiB7CiAgICBhY3RpdmVGb3JtSXRlbTogZnVuY3Rpb24gYWN0aXZlRm9ybUl0ZW0oZWxlbWVudCkgewogICAgICB0aGlzLmFjdGl2ZURhdGEgPSBlbGVtZW50OwogICAgICB0aGlzLmFjdGl2ZUlkID0gZWxlbWVudC5mb3JtSWQ7CiAgICB9LAogICAgb25FbmQ6IGZ1bmN0aW9uIG9uRW5kKG9iaiwgYSkgewogICAgICBpZiAob2JqLmZyb20gIT09IG9iai50bykgewogICAgICAgIHRoaXMuYWN0aXZlRGF0YSA9IHRlbXBBY3RpdmVEYXRhOwogICAgICAgIHRoaXMuYWN0aXZlSWQgPSB0aGlzLmlkR2xvYmFsOwogICAgICB9CiAgICB9LAogICAgYWRkQ29tcG9uZW50OiBmdW5jdGlvbiBhZGRDb21wb25lbnQoaXRlbSkgewogICAgICB2YXIgY2xvbmUgPSB0aGlzLmNsb25lQ29tcG9uZW50KGl0ZW0pOwogICAgICB0aGlzLmRyYXdpbmdMaXN0LnB1c2goY2xvbmUpOwogICAgICB0aGlzLmFjdGl2ZUZvcm1JdGVtKGNsb25lKTsKICAgIH0sCiAgICBjbG9uZUNvbXBvbmVudDogZnVuY3Rpb24gY2xvbmVDb21wb25lbnQob3JpZ2luKSB7CiAgICAgIHZhciBjbG9uZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkob3JpZ2luKSk7CiAgICAgIGNsb25lLmZvcm1JZCA9ICsrdGhpcy5pZEdsb2JhbDsKICAgICAgY2xvbmUuc3BhbiA9IGZvcm1Db25mLnNwYW47CiAgICAgIGNsb25lLnJlbmRlcktleSA9ICtuZXcgRGF0ZSgpOyAvLyDmlLnlj5hyZW5kZXJLZXnlkI7lj6/ku6Xlrp7njrDlvLrliLbmm7TmlrDnu4Tku7YKICAgICAgaWYgKCFjbG9uZS5sYXlvdXQpIGNsb25lLmxheW91dCA9ICdjb2xGb3JtSXRlbSc7CiAgICAgIGlmIChjbG9uZS5sYXlvdXQgPT09ICdjb2xGb3JtSXRlbScpIHsKICAgICAgICBjbG9uZS52TW9kZWwgPSAiZmllbGQiLmNvbmNhdCh0aGlzLmlkR2xvYmFsKTsKICAgICAgICBjbG9uZS5wbGFjZWhvbGRlciAhPT0gdW5kZWZpbmVkICYmIChjbG9uZS5wbGFjZWhvbGRlciArPSBjbG9uZS5sYWJlbCk7CiAgICAgICAgdGVtcEFjdGl2ZURhdGEgPSBjbG9uZTsKICAgICAgfSBlbHNlIGlmIChjbG9uZS5sYXlvdXQgPT09ICdyb3dGb3JtSXRlbScpIHsKICAgICAgICBkZWxldGUgY2xvbmUubGFiZWw7CiAgICAgICAgY2xvbmUuY29tcG9uZW50TmFtZSA9ICJyb3ciLmNvbmNhdCh0aGlzLmlkR2xvYmFsKTsKICAgICAgICBjbG9uZS5ndXR0ZXIgPSB0aGlzLmZvcm1Db25mLmd1dHRlcjsKICAgICAgICB0ZW1wQWN0aXZlRGF0YSA9IGNsb25lOwogICAgICB9CiAgICAgIHJldHVybiB0ZW1wQWN0aXZlRGF0YTsKICAgIH0sCiAgICBBc3NlbWJsZUZvcm1EYXRhOiBmdW5jdGlvbiBBc3NlbWJsZUZvcm1EYXRhKCkgewogICAgICB0aGlzLmZvcm1EYXRhID0gX29iamVjdFNwcmVhZCh7CiAgICAgICAgZmllbGRzOiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZHJhd2luZ0xpc3QpKQogICAgICB9LCB0aGlzLmZvcm1Db25mKTsKICAgIH0sCiAgICBnZW5lcmF0ZTogZnVuY3Rpb24gZ2VuZXJhdGUoZGF0YSkgewogICAgICB2YXIgZnVuYyA9IHRoaXNbImV4ZWMiLmNvbmNhdCh0aXRsZUNhc2UodGhpcy5vcGVyYXRpb25UeXBlKSldOwogICAgICB0aGlzLmdlbmVyYXRlQ29uZiA9IGRhdGE7CiAgICAgIGZ1bmMgJiYgZnVuYyhkYXRhKTsKICAgIH0sCiAgICBleGVjUnVuOiBmdW5jdGlvbiBleGVjUnVuKGRhdGEpIHsKICAgICAgdGhpcy5Bc3NlbWJsZUZvcm1EYXRhKCk7CiAgICAgIHRoaXMuZHJhd2VyVmlzaWJsZSA9IHRydWU7CiAgICB9LAogICAgZXhlY0Rvd25sb2FkOiBmdW5jdGlvbiBleGVjRG93bmxvYWQoZGF0YSkgewogICAgICB2YXIgY29kZVN0ciA9IHRoaXMuZ2VuZXJhdGVDb2RlKCk7CiAgICAgIHZhciBibG9iID0gbmV3IEJsb2IoW2NvZGVTdHJdLCB7CiAgICAgICAgdHlwZTogJ3RleHQvcGxhaW47Y2hhcnNldD11dGYtOCcKICAgICAgfSk7CiAgICAgIHRoaXMuJGRvd25sb2FkLnNhdmVBcyhibG9iLCBkYXRhLmZpbGVOYW1lKTsKICAgIH0sCiAgICBleGVjQ29weTogZnVuY3Rpb24gZXhlY0NvcHkoZGF0YSkgewogICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29weU5vZGUnKS5jbGljaygpOwogICAgfSwKICAgIGVtcHR5OiBmdW5jdGlvbiBlbXB0eSgpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIHRoaXMuJGNvbmZpcm0oJ+ehruWumuimgea4heepuuaJgOaciee7hOS7tuWQl++8nycsICfmj5DnpLonLCB7CiAgICAgICAgdHlwZTogJ3dhcm5pbmcnCiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIF90aGlzMi5kcmF3aW5nTGlzdCA9IFtdOwogICAgICB9KTsKICAgIH0sCiAgICBkcmF3aW5nSXRlbUNvcHk6IGZ1bmN0aW9uIGRyYXdpbmdJdGVtQ29weShpdGVtLCBwYXJlbnQpIHsKICAgICAgdmFyIGNsb25lID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShpdGVtKSk7CiAgICAgIGNsb25lID0gdGhpcy5jcmVhdGVJZEFuZEtleShjbG9uZSk7CiAgICAgIHBhcmVudC5wdXNoKGNsb25lKTsKICAgICAgdGhpcy5hY3RpdmVGb3JtSXRlbShjbG9uZSk7CiAgICB9LAogICAgY3JlYXRlSWRBbmRLZXk6IGZ1bmN0aW9uIGNyZWF0ZUlkQW5kS2V5KGl0ZW0pIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CiAgICAgIGl0ZW0uZm9ybUlkID0gKyt0aGlzLmlkR2xvYmFsOwogICAgICBpdGVtLnJlbmRlcktleSA9ICtuZXcgRGF0ZSgpOwogICAgICBpZiAoaXRlbS5sYXlvdXQgPT09ICdjb2xGb3JtSXRlbScpIHsKICAgICAgICBpdGVtLnZNb2RlbCA9ICJmaWVsZCIuY29uY2F0KHRoaXMuaWRHbG9iYWwpOwogICAgICB9IGVsc2UgaWYgKGl0ZW0ubGF5b3V0ID09PSAncm93Rm9ybUl0ZW0nKSB7CiAgICAgICAgaXRlbS5jb21wb25lbnROYW1lID0gInJvdyIuY29uY2F0KHRoaXMuaWRHbG9iYWwpOwogICAgICB9CiAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0uY2hpbGRyZW4pKSB7CiAgICAgICAgaXRlbS5jaGlsZHJlbiA9IGl0ZW0uY2hpbGRyZW4ubWFwKGZ1bmN0aW9uIChjaGlsZEl0ZW0pIHsKICAgICAgICAgIHJldHVybiBfdGhpczMuY3JlYXRlSWRBbmRLZXkoY2hpbGRJdGVtKTsKICAgICAgICB9KTsKICAgICAgfQogICAgICByZXR1cm4gaXRlbTsKICAgIH0sCiAgICBkcmF3aW5nSXRlbURlbGV0ZTogZnVuY3Rpb24gZHJhd2luZ0l0ZW1EZWxldGUoaW5kZXgsIHBhcmVudCkgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKICAgICAgcGFyZW50LnNwbGljZShpbmRleCwgMSk7CiAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgbGVuID0gX3RoaXM0LmRyYXdpbmdMaXN0Lmxlbmd0aDsKICAgICAgICBpZiAobGVuKSB7CiAgICAgICAgICBfdGhpczQuYWN0aXZlRm9ybUl0ZW0oX3RoaXM0LmRyYXdpbmdMaXN0W2xlbiAtIDFdKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIGdlbmVyYXRlQ29kZTogZnVuY3Rpb24gZ2VuZXJhdGVDb2RlKCkgewogICAgICB2YXIgdHlwZSA9IHRoaXMuZ2VuZXJhdGVDb25mLnR5cGU7CiAgICAgIHRoaXMuQXNzZW1ibGVGb3JtRGF0YSgpOwogICAgICB2YXIgc2NyaXB0ID0gdnVlU2NyaXB0KG1ha2VVcEpzKHRoaXMuZm9ybURhdGEsIHR5cGUpKTsKICAgICAgdmFyIGh0bWwgPSB2dWVUZW1wbGF0ZShtYWtlVXBIdG1sKHRoaXMuZm9ybURhdGEsIHR5cGUpKTsKICAgICAgdmFyIGNzcyA9IGNzc1N0eWxlKG1ha2VVcENzcyh0aGlzLmZvcm1EYXRhKSk7CiAgICAgIHJldHVybiBiZWF1dGlmaWVyLmh0bWwoaHRtbCArIHNjcmlwdCArIGNzcywgYmVhdXRpZmllckNvbmYuaHRtbCk7CiAgICB9LAogICAgZG93bmxvYWQ6IGZ1bmN0aW9uIGRvd25sb2FkKCkgewogICAgICB0aGlzLmRpYWxvZ1Zpc2libGUgPSB0cnVlOwogICAgICB0aGlzLnNob3dGaWxlTmFtZSA9IHRydWU7CiAgICAgIHRoaXMub3BlcmF0aW9uVHlwZSA9ICdkb3dubG9hZCc7CiAgICB9LAogICAgcnVuOiBmdW5jdGlvbiBydW4oKSB7CiAgICAgIHRoaXMuZGlhbG9nVmlzaWJsZSA9IHRydWU7CiAgICAgIHRoaXMuc2hvd0ZpbGVOYW1lID0gZmFsc2U7CiAgICAgIHRoaXMub3BlcmF0aW9uVHlwZSA9ICdydW4nOwogICAgfSwKICAgIGNvcHk6IGZ1bmN0aW9uIGNvcHkoKSB7CiAgICAgIHRoaXMuZGlhbG9nVmlzaWJsZSA9IHRydWU7CiAgICAgIHRoaXMuc2hvd0ZpbGVOYW1lID0gZmFsc2U7CiAgICAgIHRoaXMub3BlcmF0aW9uVHlwZSA9ICdjb3B5JzsKICAgIH0sCiAgICB0YWdDaGFuZ2U6IGZ1bmN0aW9uIHRhZ0NoYW5nZShuZXdUYWcpIHsKICAgICAgdmFyIF90aGlzNSA9IHRoaXM7CiAgICAgIG5ld1RhZyA9IHRoaXMuY2xvbmVDb21wb25lbnQobmV3VGFnKTsKICAgICAgbmV3VGFnLnZNb2RlbCA9IHRoaXMuYWN0aXZlRGF0YS52TW9kZWw7CiAgICAgIG5ld1RhZy5mb3JtSWQgPSB0aGlzLmFjdGl2ZUlkOwogICAgICBuZXdUYWcuc3BhbiA9IHRoaXMuYWN0aXZlRGF0YS5zcGFuOwogICAgICBkZWxldGUgdGhpcy5hY3RpdmVEYXRhLnRhZzsKICAgICAgZGVsZXRlIHRoaXMuYWN0aXZlRGF0YS50YWdJY29uOwogICAgICBkZWxldGUgdGhpcy5hY3RpdmVEYXRhLmRvY3VtZW50OwogICAgICBPYmplY3Qua2V5cyhuZXdUYWcpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgewogICAgICAgIGlmIChfdGhpczUuYWN0aXZlRGF0YVtrZXldICE9PSB1bmRlZmluZWQgJiYgX3R5cGVvZihfdGhpczUuYWN0aXZlRGF0YVtrZXldKSA9PT0gX3R5cGVvZihuZXdUYWdba2V5XSkpIHsKICAgICAgICAgIG5ld1RhZ1trZXldID0gX3RoaXM1LmFjdGl2ZURhdGFba2V5XTsKICAgICAgICB9CiAgICAgIH0pOwogICAgICB0aGlzLmFjdGl2ZURhdGEgPSBuZXdUYWc7CiAgICAgIHRoaXMudXBkYXRlRHJhd2luZ0xpc3QobmV3VGFnLCB0aGlzLmRyYXdpbmdMaXN0KTsKICAgIH0sCiAgICB1cGRhdGVEcmF3aW5nTGlzdDogZnVuY3Rpb24gdXBkYXRlRHJhd2luZ0xpc3QobmV3VGFnLCBsaXN0KSB7CiAgICAgIHZhciBfdGhpczYgPSB0aGlzOwogICAgICB2YXIgaW5kZXggPSBsaXN0LmZpbmRJbmRleChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgIHJldHVybiBpdGVtLmZvcm1JZCA9PT0gX3RoaXM2LmFjdGl2ZUlkOwogICAgICB9KTsKICAgICAgaWYgKGluZGV4ID4gLTEpIHsKICAgICAgICBsaXN0LnNwbGljZShpbmRleCwgMSwgbmV3VGFnKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBsaXN0LmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0uY2hpbGRyZW4pKSBfdGhpczYudXBkYXRlRHJhd2luZ0xpc3QobmV3VGFnLCBpdGVtLmNoaWxkcmVuKTsKICAgICAgICB9KTsKICAgICAgfQogICAgfQogIH0KfTs="},null]}