{"remainingRequest":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\ljzc-fvue\\src\\components\\flow\\formContent.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\src\\components\\flow\\formContent.vue","mtime":1705040076852},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgT25saW5lRm9ybSBmcm9tICJAL2NvbXBvbmVudHMvZmxvdy9PbmxpbmVGb3JtLnZ1ZSI7DQppbXBvcnQgZm9ybSBmcm9tICJAL2FwaS9mb3JtQ29udGVudC5qcyI7DQppbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSAiZWxlbWVudC11aSI7DQppbXBvcnQgeyBMb2FkaW5nIH0gZnJvbSAiZWxlbWVudC11aSI7DQppbXBvcnQgRmlsZVByZXZpZXcgZnJvbSAiQC9jb21wb25lbnRzL2NvbW1vbi9GaWxlUHJldmlldy52dWUiOw0KaW1wb3J0IHJlcSBmcm9tICJAL3JlcXVlc3QuanMiOw0KZXhwb3J0IGRlZmF1bHQgew0KICBuYW1lOiAiZm9ybUNvbnRlbnQiLA0KICBwcm9wczogWw0KICAgICJpbnN0SWQiLA0KICAgICJ0YXNrSWQiLA0KICAgICJkZWZJZCIsDQogICAgInByb0luc3RJZCIsDQogICAgInR5cGUiLA0KICAgICJyZWFkSWQiLA0KICAgICJyZWFkRG9uZUlkIiwNCiAgICAibXlSZWFkVHlwZSIsDQogICAgImxlYWRlcklkIiwNCiAgICAiZm9ybUxvYWRpbmciLA0KICAgICJ0YXNrX3N0YXRlIiwNCiAgICAidGFza3MiLA0KICAgICJpc0xvb2siLA0KICAgICJjb3B5SW5zdElkIg0KICBdLA0KICBkYXRhKCkgew0KICAgIHJldHVybiB7DQogICAgICBidXR0b25zOiBbXSwNCiAgICAgIHN0YXR1c19zdHlsZTogIiIsDQogICAgICBkYXRhSW5zdElkOiAiIiwNCiAgICAgIGh0bWw6IG51bGwsDQogICAgICBkYXRhOiBudWxsLA0KICAgICAgcGVybWlzc2lvbjogbnVsbCwNCiAgICAgIGlzVmlldzogdHJ1ZSwNCiAgICAgIGZvcm1UeXBlOiAiSU5ORVIiLA0KICAgICAgaHRtbFNyYzogbnVsbCwNCiAgICAgIHVyZ2VudFN0YXRlQ29uZjoge30sDQogICAgICBmb3JtSGVscEZpbGU6ICIiLA0KICAgICAgc3JjOiAiIiwNCiAgICAgIGZpbGVzOiBbXSwNCiAgICAgIGZpbGVJZDogIiIsDQogICAgICBmaWxlVHJlZTogIiIsDQogICAgICBmb3JtRGF0YTogIiIsDQogICAgICBpbml0RmlsbERhdGE6IGZhbHNlLA0KICAgICAgZm9ybUlkOiAnJywNCiAgICAgIGZsb3dLZXk6ICcnLA0KICAgICAgdGFza0RldGFpbExvYWRpbmc6ICcnLA0KICAgICAgdG9wRGl2SGVpZ2h0OiAiOTlweCIsICAgLy/nqbpkaXbnmoTpq5jluqYg55So5LqO5pKR5byA6aG16Z2i5LiL55qEZGl25YaF5a65DQogICAgICBmb3JtS2V5OiAiIiwvL+ihqOWNlWtleQ0KICAgICAgZm9ybUNvbXBvbmVudEtleTogbmV3IERhdGUoKS5nZXRUaW1lKCkNCiAgICB9Ow0KICB9LA0KICB3YXRjaDogew0KICAgIHRhc2tzOiBmdW5jdGlvbiAobmV3VmFsLCBvbGRWYWwpIHsNCiAgICAgIGlmIChuZXdWYWwpIHsNCiAgICAgICAgdGhpcy5pbml0KCk7DQogICAgICB9DQogICAgfSwNCiAgICB1cmdlbnRTdGF0ZVZhbHVlOiBmdW5jdGlvbiAobmV3VmFsLCBvbGRWYWwpIHsNCiAgICAgIGlmICh3aW5kb3cudXJnZW50U3RhdGVWYWx1ZSkgew0KICAgICAgICB3aW5kb3cudXJnZW50U3RhdGVWYWx1ZS5uZXcgPSBuZXdWYWw7DQogICAgICB9DQogICAgfQ0KICB9LA0KICBjcmVhdGVkKCkgew0KICAgIGlmICh0aGlzLmlzUGxtZWZvcm1QYWdlKSB7DQogICAgICB0aGlzLnRvcERpdkhlaWdodCA9IDANCiAgICB9DQogICAgLy/lvoXlip7nmoTml7blgJksd2F0Y2jlt7Lnu4/nm5HlkKzkuoZ0YXNrcyzlj6/ku6XkuI3nlKjliJ3lp4vljJYNCiAgICBpZiAoIXRoaXMudGFza0lkKSB7DQogICAgICB0aGlzLmluaXQoKTsNCiAgICB9DQogICAgaWYgKHRoaXMudHlwZSA9PSAicmVxdWVzdCIpIHsNCiAgICAgIHRoaXMudG9wRGl2SGVpZ2h0ID0gIjIwcHgiOw0KICAgIH0NCg0KICB9LA0KICBtZXRob2RzOiB7DQogICAgLyoqDQogICAgICog5L+u5pS55qC35byPDQogICAgICogQHBhcmFtIGRpdmhlaWdodCAg5pyA5LiK6Z2iZGl255qE6auY5bqmDQogICAgICovDQogICAgdXBkYXRlU3R5bGUoZGl2aGVpZ2h0KSB7DQogICAgICB0aGlzLnRvcERpdkhlaWdodCA9IGRpdmhlaWdodDsNCiAgICB9LA0KICAgIHByZXZpZXdIZWxwRmlsZSgpIHsNCiAgICAgIGxldCBvYmogPSB7fTsNCiAgICAgIG9iai5pZCA9IHRoaXMuZm9ybUhlbHBGaWxlWzBdLmlkOw0KICAgICAgb2JqLm5hbWUgPSB0aGlzLmZvcm1IZWxwRmlsZVswXS5uYW1lOw0KICAgICAgb2JqLnNpemUgPSB0aGlzLmZvcm1IZWxwRmlsZVswXS5zaXplOw0KICAgICAgdGhpcy4kcmVmcy5maWxlUHJldmlldy5wcmV2aWV3KG9iaik7DQogICAgfSwNCiAgICBzZXRJbml0RmlsbERhdGEoaXNJbml0RmlsbERhdGEpIHsNCiAgICAgIHRoaXMuaW5pdEZpbGxEYXRhID0gaXNJbml0RmlsbERhdGE7DQogICAgfSwNCiAgICBoaWRkZW5Db250ZW50KCkgew0KICAgICAgdGhpcy4kcmVmcy5mb3JtQ29udGFpbmVyLmNsYXNzTmFtZSA9ICJmb3JtLWNvbnRhaW5lci1ub3QiOw0KICAgIH0sDQogICAgaW5pdCh1cGRhdGVGb3JtQ29tcG9uZW50KSB7DQogICAgICBpZiAodGhpcy50YXNrX3N0YXRlID09ICJGT0xMT1ciKSB7DQogICAgICAgIHRoaXMuc3RhdHVzX3N0eWxlID0gInBhZGRpbmctdG9wOjBweCAhaW1wb3J0YW50OyI7DQogICAgICB9DQogICAgICB2YXIgJCA9IHJlcXVpcmUoImpxdWVyeSIpOw0KICAgICAgbGV0IF9tZSA9IHRoaXM7DQogICAgICBpZiAoX21lLnRhc2tzKSB7DQogICAgICAgIF9tZS5pbml0RmlsbERhdGEgPSBfbWUudGFza3MuaW5pdEZpbGxEYXRhOw0KICAgICAgfQ0KICAgICAgbGV0IHJlYWRPbmx5ID0gZmFsc2U7DQogICAgICBpZiAoX21lLnRhc2tzICYmIF9tZS50YXNrcy5icG1UYXNrICYmIChfbWUudGFza3MuYnBtVGFzay5zdGF0dXMgPT09ICdDT01NVScgfHwgX21lLnRhc2tzLmJwbVRhc2suc3RhdHVzID09PSAnVFJBTlNGT1JNRURJTlFVJyB8fCBfbWUudGFza3MuYnBtVGFzay5zdGF0dXMgPT09ICdGT0xMT1cnKSkgew0KICAgICAgICByZWFkT25seSA9IHRydWU7DQogICAgICB9DQoNCiAgICAgIC8v6I635Y+W5rWB56iL5a6a5LmJa2V5DQogICAgICBfbWUuZ2V0Rmxvd0tleSgpOw0KICAgICAgbGV0IGhhbmRsZXJKcyA9IGZ1bmN0aW9uIChyZXApIHsNCg0KICAgICAgICBjb25zdCBjdXJyZW50VXNlciA9IF9tZS4kc3RvcmUuc3RhdGUubG9naW4uY3VycmVudFVzZXI7DQoNCiAgICAgICAgbGV0IGRhdGEgPSBfbWUuZGF0YTsNCiAgICAgICAgbGV0IF90aGlzID0gX21lOw0KICAgICAgICBpZiAocmVwICYmIHJlcC5kaXlKcykgew0KICAgICAgICAgIGV2YWwocmVwLmRpeUpzKTsNCiAgICAgICAgfQ0KICAgICAgfTsNCg0KICAgICAgbGV0IGhhbmRsZXIgPSBmdW5jdGlvbiAocmVwKSB7DQogICAgICAgIC8v5Y+R6LW35rWB56iL55qE5pe25YCZ5b6X5Yiw5oyJ6ZKu5a+56LGhDQogICAgICAgIGlmIChyZXAuYnV0dG9ucykgew0KICAgICAgICAgIF9tZS5idXR0b25zID0gcmVwLmJ1dHRvbnM7DQogICAgICAgIH0NCiAgICAgICAgaWYgKF9tZS50YXNrRGV0YWlsTG9hZGluZykgew0KICAgICAgICAgIF9tZS50YXNrRGV0YWlsTG9hZGluZy5jbG9zZSgpOw0KICAgICAgICB9DQogICAgICAgIGlmIChfbWUubXlSZWFkVHlwZSA9PSAiYWdlbnQiKSB7DQogICAgICAgICAgTWVzc2FnZS53YXJuaW5nKCLmraTmtYHnqIvlt7Looqvlp5TmiZgs5rKh5pyJ5a6h5om55p2DIik7DQogICAgICAgIH0NCiAgICAgICAgaWYgKCFyZXApIHsNCiAgICAgICAgICByZXR1cm47DQogICAgICAgIH0NCiAgICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KHJlcCkgPT0gInt9Iikgew0KICAgICAgICAgIE1lc3NhZ2UuZXJyb3IoIuatpOa1geeoi+i/mOayoeacieiuvue9ruWFqOWxgOihqOWNlSzor7flhYjorr7nva7lhajlsYDooajljZUhIik7DQogICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQogICAgICAgIGlmIChyZXAucmVzdWx0TXNnID09ICJmb3JtRW1wdHkiIHx8IHJlcC5yZXN1bHQgPT0gImZvcm1FbXB0eSIpIHsNCiAgICAgICAgICBNZXNzYWdlLmVycm9yKCLmraTmtYHnqIvov5jmsqHmnInorr7nva7ooajljZUs6K+35YWI6K6+572u6KGo5Y2VISIpOw0KICAgICAgICAgIHJldHVybjsNCiAgICAgICAgfQ0KICAgICAgICBfbWUuZm9ybUtleSA9IHJlcC5mb3JtLmZvcm1LZXk7DQogICAgICAgIC8vX21lLmZvcm1JZD1yZXAuZm9ybS5mb3JtSWQ7DQogICAgICAgIGlmIChyZXAuZm9ybSAmJiByZXAuZm9ybS50eXBlID09ICJGUkFNRSIpIHsNCiAgICAgICAgICBfbWUuaHRtbFNyYyA9IHJlcC5mb3JtLmZvcm1WYWx1ZTsNCiAgICAgICAgICBfbWUuZm9ybVR5cGUgPSByZXAuZm9ybS50eXBlOw0KICAgICAgICAgIC8v6KGo5Y2V5Yqg6L295a6M5oiQ5Y+R5biD5LqL5Lu2IOWuoeaJueaMiemSruaJjeWPr+S7peeCueWHuw0KICAgICAgICAgIF9tZS4kcm9vdC4kZW1pdCgiZm9ybUxvYWRpbmciLCBmYWxzZSk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgX21lLmZvcm1JZCA9IHJlcC5mb3JtLmZvcm1JZDsNCiAgICAgICAgICBmb3JtLnByZXZpZXcocmVwLmZvcm0uZm9ybUlkLCBoYW5kbGVySnMpOw0KICAgICAgICAgIGlmIChfbWUuZm9ybURhdGEpIHsNCiAgICAgICAgICAgIF9tZS5kYXRhID0gSlNPTi5wYXJzZShCYXNlNjQuZGVjb2RlKF9tZS5mb3JtRGF0YSkpOw0KICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBfbWUuZGF0YSA9IHJlcC5kYXRhOw0KICAgICAgICAgIH0NCg0KICAgICAgICAgIGlmIChyZXAucGVybWlzc2lvbikgew0KICAgICAgICAgICAgY29uc3QgcGVybWlzc2lvbk9iaiA9IEpTT04ucGFyc2UocmVwLnBlcm1pc3Npb24pOw0KICAgICAgICAgICAgbGV0IGNvbW1vblJpZ2h0ID0gIiI7DQogICAgICAgICAgICAvL+WmguaenOaYr+euoeeQhuerr+i/m+WFpe+8jOWImeWwhumhtemdouWtl+auteeahOadg+mZkOS/ruaUueS4uuWPr+e8lui+kQ0KICAgICAgICAgICAgaWYgKF9tZS50eXBlID09ICJtYW5hZ2UiKSB7DQogICAgICAgICAgICAgIGNvbW1vblJpZ2h0ID0gInciOw0KICAgICAgICAgICAgICAvL+WmguaenOaYr+afpeeci+WunuS+i++8jOS5n+aYr+iOt+WPluWPkei1t+a1geeoi+eahOihqOWNleWSjOadg+mZkOOAguWPquS4jei/h+aJgOacieWPr+ingeeahOadg+mZkOimgeWPmOaIkOe8lui+kQ0KICAgICAgICAgICAgfSBlbHNlIGlmICgicmVxdWVzdCIgPT0gX21lLnR5cGUgfHwgX21lLm15UmVhZFR5cGUgPT0gIm15UmVxdWVzdCINCiAgICAgICAgICAgICAgfHwgX21lLm15UmVhZFR5cGUgPT0gImRlbGVnYXRlIiB8fCBfbWUubXlSZWFkVHlwZSA9PSAibXlSZWFkIiB8fCBfbWUucmVhZERvbmVJZCB8fCBfbWUudHlwZSA9PSAicmVhZCIgfHwgcmVhZE9ubHkpIHsNCiAgICAgICAgICAgICAgY29tbW9uUmlnaHQgPSAiciI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAocGVybWlzc2lvbk9iai5maWVsZHMgJiYgY29tbW9uUmlnaHQpIHsNCiAgICAgICAgICAgICAgZm9yICh2YXIga2V5IGluIHBlcm1pc3Npb25PYmouZmllbGRzKSB7DQogICAgICAgICAgICAgICAgY29uc3QgYm9kZWYgPSBwZXJtaXNzaW9uT2JqLmZpZWxkc1trZXldOw0KICAgICAgICAgICAgICAgIGlmIChib2RlZikgew0KICAgICAgICAgICAgICAgICAgZm9yICh2YXIgZm5hbWUgaW4gYm9kZWYpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKA0KICAgICAgICAgICAgICAgICAgICAgIGNvbW1vblJpZ2h0ID09ICJ3IiB8fA0KICAgICAgICAgICAgICAgICAgICAgIChjb21tb25SaWdodCA9PSAiciIgJiYgYm9kZWZbZm5hbWVdICE9ICJuIikNCiAgICAgICAgICAgICAgICAgICAgKSB7DQogICAgICAgICAgICAgICAgICAgICAgYm9kZWZbZm5hbWVdID0gY29tbW9uUmlnaHQ7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgcGVybWlzc2lvbk9iai5maWVsZHNba2V5XSA9IGJvZGVmOw0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAocGVybWlzc2lvbk9iai50YWJsZSAmJiBjb21tb25SaWdodCkgew0KICAgICAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gcGVybWlzc2lvbk9iai50YWJsZSkgew0KICAgICAgICAgICAgICAgIGNvbnN0IHRhYmxlID0gcGVybWlzc2lvbk9iai50YWJsZVtrZXldOw0KICAgICAgICAgICAgICAgIGlmICh0YWJsZSkgew0KICAgICAgICAgICAgICAgICAgaWYgKGNvbW1vblJpZ2h0ID09ICJ3Iikgew0KICAgICAgICAgICAgICAgICAgICB0YWJsZVsiaGlkZGVuIl0gPSBmYWxzZTsNCiAgICAgICAgICAgICAgICAgICAgdGFibGVbImFkZCJdID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgdGFibGVbImRlbCJdID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY29tbW9uUmlnaHQgPT0gInIiKSB7DQogICAgICAgICAgICAgICAgICAgIHRhYmxlWyJhZGQiXSA9IGZhbHNlOw0KICAgICAgICAgICAgICAgICAgICB0YWJsZVsiZGVsIl0gPSBmYWxzZTsNCiAgICAgICAgICAgICAgICAgICAgdGFibGVbInJlcXVpcmVkIl0gPSBmYWxzZTsNCiAgICAgICAgICAgICAgICAgICAgdGFibGVbImVkaXQiXSA9IGZhbHNlOw0KICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBwZXJtaXNzaW9uT2JqLnRhYmxlW2tleV0gPSB0YWJsZTsNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBfbWUucGVybWlzc2lvbiA9IHBlcm1pc3Npb25PYmo7DQogICAgICAgICAgfQ0KICAgICAgICAgIF9tZS5odG1sID0gcmVwLmZvcm0uZm9ybUh0bWw7DQogICAgICAgICAgaWYgKHJlcC5mb3JtLmhlbHBGaWxlKSB7DQogICAgICAgICAgICBfbWUuZm9ybUhlbHBGaWxlID0gSlNPTi5wYXJzZShyZXAuZm9ybS5oZWxwRmlsZSk7DQogICAgICAgICAgfQ0KICAgICAgICAgIGlmIChfbWUuaHRtbC5zcGxpdCgncmVmPSJuZXh0X3N0ZXBfY2hlY2tfJykubGVuZ3RoID4gMSkgew0KICAgICAgICAgICAgX21lLiRyb290LiRlbWl0KCJzdGFydEZsb3dCdG5DaGFuZ2UiLCBmYWxzZSk7DQogICAgICAgICAgfQ0KICAgICAgICAgIC8v6KGo5Y2V5Yqg6L295a6M5oiQ5Y+R5biD5LqL5Lu2IOWuoeaJueaMiemSruaJjeWPr+S7peeCueWHuw0KICAgICAgICAgIF9tZS4kcm9vdC4kZW1pdCgiZm9ybUxvYWRpbmciLCBmYWxzZSk7DQogICAgICAgICAgaWYgKHVwZGF0ZUZvcm1Db21wb25lbnQpIHsNCiAgICAgICAgICAgIF9tZS5mb3JtQ29tcG9uZW50S2V5ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7DQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICB9Ow0KICAgICAgdGhpcy4kc3RvcmUNCiAgICAgICAgLmRpc3BhdGNoKCJzdG9yZVByb2Nlc3MvZ2V0VXJnZW50U3RhdGVDb25mIiwgew0KICAgICAgICAgIGRlZklkOiB0aGlzLmRlZklkLA0KICAgICAgICAgIGluc3RJZDogdGhpcy5pbnN0SWQsDQogICAgICAgICAgdGFza0lkOiB0aGlzLnRhc2tJZA0KICAgICAgICB9KQ0KICAgICAgICAudGhlbihkYXRhID0+IHsNCiAgICAgICAgICBpZiAoZGF0YS5jb25mKSB7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICBkYXRhLmNvbmYgPSBKU09OLnBhcnNlKGRhdGEuY29uZik7DQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgew0KICAgICAgICAgICAgICBkYXRhLmNvbmYgPSBldmFsKCIoIiArIGRhdGEuY29uZiArICIpIik7DQogICAgICAgICAgICB9DQogICAgICAgICAgICB3aW5kb3cudXJnZW50U3RhdGVWYWx1ZSA9IHsgb2xkOiBkYXRhLnZhbHVlIH07DQogICAgICAgICAgICBpZiAoIWRhdGEudmFsdWUpIHsNCiAgICAgICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwLCBjOyAoYyA9IGRhdGEuY29uZltpbmRleCsrXSk7KSB7DQogICAgICAgICAgICAgICAgaWYgKGMuZGVmYXVsdCkgew0KICAgICAgICAgICAgICAgICAgZGF0YS52YWx1ZSA9IGMuc3RhdGU7DQogICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIF9tZS51cmdlbnRTdGF0ZUNvbmYgPSBkYXRhOw0KICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICBpZiAodGhpcy50YXNrSWQgJiYgKHRoaXMudGFza3MgJiYgSlNPTi5zdHJpbmdpZnkodGhpcy50YXNrcykgIT0gInt9IikpIHsNCiAgICAgICAgaWYgKCF0aGlzLnRhc2tzLmJwbVRhc2sgJiYgIXRoaXMudGFza3Muc3RhdGUgJiYgdGhpcy50YXNrcy5tZXNzYWdlID09ICfmraTku7vliqHlt7LooqvlpITnkIbmiJbkuI3lrZjlnKjvvIEnKSB7DQogICAgICAgICAgX21lLiRyb3V0ZXIucHVzaCgiL3YtZmxvdy92LXRvZG8iKTsNCiAgICAgICAgICByZXR1cm47DQogICAgICAgIH0NCiAgICAgICAgdGhpcy50YXNrRGV0YWlsTG9hZGluZyA9IExvYWRpbmcuc2VydmljZSh7IGZ1bGxzY3JlZW46IHRydWUsIGxvY2s6IHRydWUsIHRleHQ6ICfooajljZXmlbDmja7liqDovb3kuK3vvIzor7fogJDlv4PnrYnlvoUuLi4nLCBzcGlubmVyOiAnZWwtaWNvbi1sb2FkaW5nJywgYmFja2dyb3VuZDogJ3JnYmEoMCwgMCwgMCwgMC43KScgfSk7Ly/lvIDlp4sNCiAgICAgICAgaWYgKHRoaXMudGFza3MuYnBtVGFzay5icG1uSW5zdElkKSB7DQogICAgICAgICAgZm9ybS50YXNrRGV0YWlsKA0KICAgICAgICAgICAgeyB0YXNrSWQ6IHRoaXMudGFza0lkLCBsZWFkZXJJZDogdGhpcy5sZWFkZXJJZCB9LA0KICAgICAgICAgICAgaGFuZGxlcg0KICAgICAgICAgICk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgZm9ybS5nZXRJbnN0Rm9ybUFuZEJPKHRoaXMudGFza3MuYnBtVGFzay5wcm9jSW5zdElkLCBoYW5kbGVyKTsNCiAgICAgICAgfQ0KICAgICAgfSBlbHNlIGlmICh0aGlzLnRhc2tJZCAmJiB3aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKCcvdGFzay8nICsgdGhpcy50YXNrSWQgKyAnLzAnKSAhPSAtMSkgew0KICAgICAgICBmb3JtLnRhc2tEZXRhaWwoDQogICAgICAgICAgeyB0YXNrSWQ6IHRoaXMudGFza0lkLCBsZWFkZXJJZDogdGhpcy5sZWFkZXJJZCB9LA0KICAgICAgICAgIGhhbmRsZXINCiAgICAgICAgKTsNCiAgICAgICAgbGV0IHBhcmFtcyA9IHsNCiAgICAgICAgICB0YXNrSWQ6IHRoaXMudGFza0lkLA0KICAgICAgICAgIGxlYWRlcklkOiB0aGlzLmxlYWRlcklkDQogICAgICAgIH07DQogICAgICAgIHRoaXMuJHN0b3JlLmRpc3BhdGNoKCJzdG9yZVByb2Nlc3MvdGFza0RldGFpbCIsIHBhcmFtcyk7IC8v6I635Y+W5pON5L2c5oyJ6ZKuDQogICAgICB9IGVsc2UgaWYgKHRoaXMuaW5zdElkKSB7DQogICAgICAgIGlmICgnc3RhcnQnICE9IHRoaXMudHlwZSkgew0KICAgICAgICAgIHRoaXMuaXNWaWV3ID0gZmFsc2U7DQogICAgICAgIH0NCiAgICAgICAgLy/mn6XnnIvmiJHlj5HotbfnmoTvvIzkuZ/kvb/nlKjlj5HotbfmtYHnqIvnmoTooajljZXjgILlj6rkuI3ov4fmiornvJbovpHlkozlv4XloavmnYPpmZDmlLnmiJDlj6ror7sNCiAgICAgICAgaWYgKCJyZXF1ZXN0IiA9PSB0aGlzLnR5cGUgfHwgIm15UmVxdWVzdCIgPT0gdGhpcy5teVJlYWRUeXBlKSB7DQogICAgICAgICAgZm9ybS5nZXRGb3JtQW5kQk8oeyBwcm9JbnN0SWQ6IHRoaXMuaW5zdElkIH0sIGhhbmRsZXIpOw0KICAgICAgICB9IGVsc2UgaWYgKCJyZWFkIiA9PSB0aGlzLnR5cGUgfHwgdGhpcy5teVJlYWRUeXBlKSB7DQogICAgICAgICAgY29uc3QgdGhpc18gPSB0aGlzOw0KICAgICAgICAgIGlmICh0aGlzLnJlYWRJZCkgew0KICAgICAgICAgICAgLy/nn6XkvJrlvoXlip4NCiAgICAgICAgICAgIC8v5qC55o2u5b6F5Yqe55+l5Lya5Lu75Yqh5Li76ZSuSUTojrflj5bku7vliqFJRA0KICAgICAgICAgICAgdGhpcy4kc3RvcmUNCiAgICAgICAgICAgICAgLmRpc3BhdGNoKCJzdG9yZVByb2Nlc3MvZ2V0QnBtVGFza05vdGljZUJ5SWQiLCB0aGlzXy5yZWFkSWQpDQogICAgICAgICAgICAgIC50aGVuKHJvdyA9PiB7DQogICAgICAgICAgICAgICAgaWYgKHJvdy50YXNrSWQpIHsNCiAgICAgICAgICAgICAgICAgIC8v5qC55o2u5Lu75YqhSWTojrflj5blrqHmibnljoblj7LmlbDmja7vvIjlj6rmnInkuIDmnaHvvIkNCiAgICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlDQogICAgICAgICAgICAgICAgICAgIC5kaXNwYXRjaCgic3RvcmVQcm9jZXNzL2dldFRhc2tLZXlCeVRhc2tJZCIsIHJvdy50YXNrSWQpDQogICAgICAgICAgICAgICAgICAgIC50aGVuKHJlcyA9PiB7DQogICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5mb3JtRGF0YSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhpc18uZm9ybURhdGEgPSByZXMuZm9ybURhdGE7DQogICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgIGxldCBpc0luY2x1ZERhdGEgPSByZXMuZm9ybURhdGEgPyBmYWxzZSA6IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgZm9ybS5nZXRJbnN0Rm9ybUFuZEJPKA0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0SWQ6IHRoaXNfLmluc3RJZCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZUlkOiByZXMudGFza0tleSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkRGF0YTogaXNJbmNsdWREYXRhDQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlcg0KICAgICAgICAgICAgICAgICAgICAgICk7DQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocm93Lm5vZGVJZCkgew0KICAgICAgICAgICAgICAgICAgbGV0IGRhdGEgPSB7IG5vZGVJZDogcm93Lm5vZGVJZCwgaW5zdElkOiB0aGlzXy5pbnN0SWQgfTsNCiAgICAgICAgICAgICAgICAgIC8v5qC55o2u5Lu75Yqh6IqC54K5SUTlkozmtYHnqIvlrp7kvotJROiOt+WPluWuoeaJueWOhuWPsuaVsOaNru+8iOWPquacieS4gOadoe+8iQ0KICAgICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUNCiAgICAgICAgICAgICAgICAgICAgLmRpc3BhdGNoKCJzdG9yZVByb2Nlc3MvZ2V0VGFza0tleUJ5Tm9kZUlkIiwgZGF0YSkNCiAgICAgICAgICAgICAgICAgICAgLnRoZW4ocmVzID0+IHsNCiAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmZvcm1EYXRhKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aGlzXy5mb3JtRGF0YSA9IHJlcy5mb3JtRGF0YTsNCiAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgbGV0IGlzSW5jbHVkRGF0YSA9IHJlcy5mb3JtRGF0YSA/IGZhbHNlIDogdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgICBmb3JtLmdldEluc3RGb3JtQW5kQk8oDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RJZDogdGhpc18uaW5zdElkLA0KICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlSWQ6IHJlcy50YXNrS2V5LA0KICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWREYXRhOiBpc0luY2x1ZERhdGENCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVyDQogICAgICAgICAgICAgICAgICAgICAgKTsNCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgIC8v5p+l55yL5oiR5Y+R6LW355qE77yM5Lmf5L2/55So5Y+R6LW35rWB56iL55qE6KGo5Y2VDQogICAgICAgICAgICAgICAgICBmb3JtLmdldEZvcm1BbmRCTyh7IHByb0luc3RJZDogdGhpcy5pbnN0SWQgfSwgaGFuZGxlcik7DQogICAgICAgICAgICAgICAgICAvLyBmb3JtLmdldEluc3RGb3JtQW5kQk8odGhpc18uaW5zdElkLCBoYW5kbGVyKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgIH0pOw0KICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5yZWFkRG9uZUlkKSB7DQogICAgICAgICAgICAvL+efpeS8muW3suWKng0KICAgICAgICAgICAgLy/moLnmja7lt7Llip7nn6XkvJrku7vliqHkuLvplK5JROiOt+WPluS7u+WKoUlEDQogICAgICAgICAgICB0aGlzLiRzdG9yZQ0KICAgICAgICAgICAgICAuZGlzcGF0Y2goInN0b3JlUHJvY2Vzcy9nZXRCcG1UYXNrTm90aWNlRG9uZUJ5SWQiLCB0aGlzXy5yZWFkRG9uZUlkKQ0KICAgICAgICAgICAgICAudGhlbihyb3cgPT4gew0KICAgICAgICAgICAgICAgIGlmIChyb3cudGFza0lkKSB7DQogICAgICAgICAgICAgICAgICAvL+agueaNruS7u+WKoUlk6I635Y+W5a6h5om55Y6G5Y+y5pWw5o2u77yI5Y+q5pyJ5LiA5p2h77yJDQogICAgICAgICAgICAgICAgICB0aGlzLiRzdG9yZQ0KICAgICAgICAgICAgICAgICAgICAuZGlzcGF0Y2goInN0b3JlUHJvY2Vzcy9nZXRUYXNrS2V5QnlUYXNrSWQiLCByb3cudGFza0lkKQ0KICAgICAgICAgICAgICAgICAgICAudGhlbihyZXMgPT4gew0KICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMuZm9ybURhdGEpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXNfLmZvcm1EYXRhID0gcmVzLmZvcm1EYXRhOw0KICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICBsZXQgaXNJbmNsdWREYXRhID0gcmVzLmZvcm1EYXRhID8gZmFsc2UgOiB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgIGZvcm0uZ2V0SW5zdEZvcm1BbmRCTygNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdElkOiB0aGlzXy5pbnN0SWQsDQogICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJZDogcmVzLnRhc2tLZXksDQogICAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZERhdGE6IGlzSW5jbHVkRGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZXINCiAgICAgICAgICAgICAgICAgICAgICApOw0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJvdy50YXNrS2V5KSB7DQogICAgICAgICAgICAgICAgICBsZXQgZGF0YSA9IHsgbm9kZUlkOiByb3cudGFza0tleSwgaW5zdElkOiB0aGlzXy5pbnN0SWQgfTsNCiAgICAgICAgICAgICAgICAgIC8v5qC55o2u5Lu75Yqh6IqC54K5SUTlkozmtYHnqIvlrp7kvotJROiOt+WPluWuoeaJueWOhuWPsuaVsOaNru+8iOWPquacieS4gOadoe+8iQ0KICAgICAgICAgICAgICAgICAgdGhpcy4kc3RvcmUNCiAgICAgICAgICAgICAgICAgICAgLmRpc3BhdGNoKCJzdG9yZVByb2Nlc3MvZ2V0VGFza0tleUJ5Tm9kZUlkIiwgZGF0YSkNCiAgICAgICAgICAgICAgICAgICAgLnRoZW4ocmVzID0+IHsNCiAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmZvcm1EYXRhKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aGlzXy5mb3JtRGF0YSA9IHJlcy5mb3JtRGF0YTsNCiAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgbGV0IGlzSW5jbHVkRGF0YSA9IHJlcy5mb3JtRGF0YSA/IGZhbHNlIDogdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgICBmb3JtLmdldEluc3RGb3JtQW5kQk8oDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RJZDogdGhpc18uaW5zdElkLA0KICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlSWQ6IHJlcy50YXNrS2V5LA0KICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWREYXRhOiBpc0luY2x1ZERhdGENCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVyDQogICAgICAgICAgICAgICAgICAgICAgKTsNCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgIC8v5p+l55yL5oiR5Y+R6LW355qE77yM5Lmf5L2/55So5Y+R6LW35rWB56iL55qE6KGo5Y2VDQogICAgICAgICAgICAgICAgICBmb3JtLmdldEZvcm1BbmRCTyh7IHByb0luc3RJZDogdGhpcy5pbnN0SWQgfSwgaGFuZGxlcik7DQogICAgICAgICAgICAgICAgICAvLyBmb3JtLmdldEluc3RGb3JtQW5kQk8odGhpcy5pbnN0SWQsIGhhbmRsZXIpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIC8v5p+l55yL5oiR5Y+R6LW355qE77yM5Lmf5L2/55So5Y+R6LW35rWB56iL55qE6KGo5Y2VDQogICAgICAgICAgICBmb3JtLmdldEZvcm1BbmRCTyh7IHByb0luc3RJZDogdGhpcy5pbnN0SWQgfSwgaGFuZGxlcik7DQogICAgICAgICAgICAvLyBmb3JtLmdldEluc3RGb3JtQW5kQk8odGhpcy5pbnN0SWQsIGhhbmRsZXIpOw0KICAgICAgICAgIH0NCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAvL+afpeeci+aIkeWPkei1t+eahO+8jOS5n+S9v+eUqOWPkei1t+a1geeoi+eahOihqOWNlQ0KICAgICAgICAgIGZvcm0uZ2V0Rm9ybUFuZEJPKHsgcHJvSW5zdElkOiB0aGlzLmluc3RJZCB9LCBoYW5kbGVyKTsNCiAgICAgICAgICAvLyBmb3JtLmdldEluc3RGb3JtQW5kQk8odGhpcy5pbnN0SWQsIGhhbmRsZXIpOw0KICAgICAgICB9DQogICAgICB9IGVsc2UgaWYgKHRoaXMuZGVmSWQpIHsNCiAgICAgICAgbGV0IGRhdGEgPSB7fTsNCiAgICAgICAgaWYgKHRoaXMucHJvSW5zdElkICE9IHVuZGVmaW5lZCkgew0KICAgICAgICAgIGRhdGEgPSB7IGRlZklkOiB0aGlzLmRlZklkLCBwcm9JbnN0SWQ6IHRoaXMucHJvSW5zdElkIH07DQogICAgICAgIH0gZWxzZSBpZiAodGhpcy5jb3B5SW5zdElkKSB7DQogICAgICAgICAgZGF0YSA9IHsgZGVmSWQ6IHRoaXMuZGVmSWQsIGNvcHlJbnN0SWQ6IHRoaXMuY29weUluc3RJZCB9Ow0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIGRhdGEgPSB7IGRlZklkOiB0aGlzLmRlZklkIH07DQogICAgICAgIH0NCiAgICAgICAgZm9ybS5nZXRGb3JtQW5kQk8oZGF0YSwgaGFuZGxlcik7DQogICAgICB9DQogICAgfSwNCiAgICBnZXRGbG93S2V5KCkgew0KICAgICAgaWYgKHRoaXMuZGVmSWQgfHwgdGhpcy5pbnN0SWQgfHwgdGhpcy50YXNrSWQpIHsNCiAgICAgICAgbGV0IHVybCA9ICcke2JwbVJ1blRpbWV9L3J1bnRpbWUvaW5zdGFuY2UvdjEvZ2V0Rmxvd0tleSc7DQogICAgICAgIGlmICh0aGlzLmRlZklkKSB7DQogICAgICAgICAgdXJsID0gdXJsICsgJz9kZWZJZD0nICsgdGhpcy5kZWZJZDsNCiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmluc3RJZCkgew0KICAgICAgICAgIHVybCA9IHVybCArICc/cHJvY0luc3RJZD0nICsgdGhpcy5pbnN0SWQ7DQogICAgICAgIH0gZWxzZSBpZiAodGhpcy50YXNrSWQpIHsNCiAgICAgICAgICB1cmwgPSB1cmwgKyAnP3Rhc2tJZD0nICsgdGhpcy50YXNrSWQ7DQogICAgICAgIH0NCiAgICAgICAgbGV0IF9tZSA9IHRoaXM7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgX21lLiRodHRwLmdldCh1cmwsICdqc29uJywgZmFsc2UpLnRoZW4ocmVzcCA9PiB7DQogICAgICAgICAgICBjb25zdCByZXAgPSByZXNwLmRhdGE7DQogICAgICAgICAgICBpZiAocmVwLnN0YXRlKSB7DQogICAgICAgICAgICAgIF9tZS5mbG93S2V5ID0gcmVwLnZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0pDQogICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7IH0NCiAgICAgIH0NCiAgICB9DQogIH0sDQogIGNvbXB1dGVkOiB7DQogICAgdXJnZW50U3RhdGVWYWx1ZTogZnVuY3Rpb24gKCkgew0KICAgICAgcmV0dXJuIHRoaXMudXJnZW50U3RhdGVDb25mLnZhbHVlOw0KICAgIH0sDQogICAgaXNQbG1lZm9ybVBhZ2UoKSB7DQogICAgICByZXR1cm4gdGhpcy4kcm91dGUucXVlcnkuaGFzT3duUHJvcGVydHkoJ3BsbWVmb3JtJykNCiAgICB9DQogIH0sDQogIGNvbXBvbmVudHM6IHsgT25saW5lRm9ybSwgRmlsZVByZXZpZXcgfSwNCg0KfTsNCg=="},null]}