{"remainingRequest":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\dataShare-fvue\\src\\views\\dataResource\\sourceLayer\\dataODSCatalog\\FieldsManage\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\src\\views\\dataResource\\sourceLayer\\dataODSCatalog\\FieldsManage\\index.vue","mtime":1746730556257},{"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-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgZGlhbG9nTWl4aW4gZnJvbSAnQC9taXhpbnMvZGlhbG9nLmpzJzsNCmltcG9ydCB1dGlscyBmcm9tICdAL2hvdGVudC11aS11dGlsLmpzJzsNCmltcG9ydCBFbnVtRGljdERpYWxvZyBmcm9tICcuL0VudW1EaWN0RGlhbG9nLnZ1ZSc7DQppbXBvcnQgTXVsdGlEaWN0RGlhbG9nIGZyb20gJy4vTXVsdGlEaWN0RGlhbG9nLnZ1ZSc7DQppbXBvcnQgeyBnZXREaWN0aW9uYXJ5QnlDb2RlIH0gZnJvbSAnQC91dGlscy9kaWN0aW9uYXJ5LmpzJzsNCmltcG9ydCBBUEkgZnJvbSAnQC9hcGkvYnVzaW5lc3MvZGF0YU9EU0NhdGFsb2cnOw0KaW1wb3J0IHsgbWFwU3RhdGUgfSBmcm9tICd2dWV4JzsNCg0KZXhwb3J0IGRlZmF1bHQgew0KICBuYW1lOiAnU291cmNlRmllbGRzTWFuYWdlJywNCiAgY29tcG9uZW50czogew0KICAgIEVudW1EaWN0RGlhbG9nLA0KICAgIE11bHRpRGljdERpYWxvZywNCiAgfSwNCiAgbWl4aW5zOiBbZGlhbG9nTWl4aW5dLA0KICBwcm9wczogew0KICAgIGRhdGE6IHsNCiAgICAgIHR5cGU6IE9iamVjdCwNCiAgICAgIGRlZmF1bHQ6ICgpID0+ICh7fSksDQogICAgfSwNCiAgfSwNCiAgZGF0YSgpIHsNCiAgICB2YXIgY2hlY2tleSA9IChydWxlLCB2YWx1ZSwgY2FsbGJhY2spID0+IHsNCiAgICAgIGlmICghdmFsdWUpIHsNCiAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBFcnJvcign5a2X5q6157yW56CB5LiN6IO95Li656m6JykpOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgaWYgKHRoaXMuZm9ybS5hdHRyRGF0YS5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uY29kZSA9PT0gdmFsdWUpLmxlbmd0aCA+IDEpIHsNCiAgICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoJ+Wtl+autee8lueggeS4jeiDvemHjeWkjSEnKSk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgY2FsbGJhY2soKTsNCiAgICAgICAgfQ0KICAgICAgfQ0KICAgIH07DQogICAgcmV0dXJuIHsNCiAgICAgIGZpZWxkc1J1bGVzOiB7DQogICAgICAgIG5hbWU6IFsNCiAgICAgICAgICB7DQogICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgIG1lc3NhZ2U6ICflrZfmrrXlkI3np7DkuI3og73kuLrnqbonLA0KICAgICAgICAgICAgdHJpZ2dlcjogJ2JsdXInLA0KICAgICAgICAgIH0sDQogICAgICAgIF0sDQogICAgICAgIGNvZGU6IFsNCiAgICAgICAgICB7DQogICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgIG1lc3NhZ2U6ICflrZfmrrXnvJbnoIHkuI3og73kuLrnqbonLA0KICAgICAgICAgICAgdHJpZ2dlcjogJ2JsdXInLA0KICAgICAgICAgIH0sDQogICAgICAgICAgew0KICAgICAgICAgICAgcGF0dGVybjogL15bYS16QS1aXVthLXpBLVowLTlfXSokLywNCiAgICAgICAgICAgIG1lc3NhZ2U6ICfku6XlrZfmr43lvIDlpLTnmoTlrZfmr43jgIHmlbDlrZfjgIHkuIvliJLnur/nu4TlkIgnLA0KICAgICAgICAgICAgdHJpZ2dlcjogWydjaGFuZ2UnLCAnYmx1ciddLA0KICAgICAgICAgIH0sDQogICAgICAgICAgeyB2YWxpZGF0b3I6IGNoZWNrZXksIHRyaWdnZXI6ICdibHVyJyB9LA0KICAgICAgICBdLA0KICAgICAgfSwNCiAgICAgIGZvcm06IHsgYXR0ckRhdGE6IFtdIH0sDQogICAgICBpbXBvcnREYXRhOiB7IHRhYmxlSWQ6ICcnIH0sDQogICAgICBkaWFsb2dWaXNpYmxlRW51bTogZmFsc2UsDQogICAgICBkaWFsb2dWaXNpYmxlTXVsdGk6IGZhbHNlLA0KICAgICAgY3VycmVudFJvdzogbnVsbCwNCiAgICAgIGluZGV4OiBudWxsLA0KICAgICAgdGFiZWxEYXRhOiBudWxsLA0KICAgICAgdGFibGVMb2FkaW5nOiBmYWxzZSwNCiAgICAgIHVwbG9hZExvYWRpbmc6IGZhbHNlLA0KICAgICAgdXBsb2FkVmlzaWJsZTogZmFsc2UsDQogICAgICBsb2FkaW5nOiBmYWxzZSwNCiAgICB9Ow0KICB9LA0KICBtb3VudGVkKCkgew0KICAgIGRvY3VtZW50Lm9ua2V5ZG93biA9ICgpID0+IHsNCiAgICAgIGlmICh0aGlzLmZvcm0uYXR0ckRhdGEpIHsNCiAgICAgICAgY29uc3Qga2V5ID0gd2luZG93LmV2ZW50LmtleUNvZGU7DQogICAgICAgIGlmIChrZXkgPT0gMTEzKSB7DQogICAgICAgICAgLy8gPT0gODMgJiYgZXZlbnQuY3RybEtleQ0KICAgICAgICAgIHRoaXMuYWRkQXR0clJvd3MoKTsNCiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsNCiAgICAgICAgICAgIHRoaXMuJHJlZnMuYXR0clRhYmxlU2Nyb2xsYmFySGVpZ2h0LmJvZHlXcmFwcGVyLnNjcm9sbFRvcCA9IHRoaXMuJHJlZnMuYXR0clRhYmxlU2Nyb2xsYmFySGVpZ2h0LmJvZHlXcmFwcGVyLnNjcm9sbEhlaWdodDsNCiAgICAgICAgICB9LCA1MDApOw0KICAgICAgICB9DQogICAgICB9DQogICAgfTsNCiAgfSwNCiAgY29tcHV0ZWQ6IHsNCiAgICBhY3Rpb25Vcmw6IChfKSA9PiBgJHt3aW5kb3cuY29udGV4dC5wb3J0YWx9L2Jpei9kYXRhUmVzb3VyY2Uvb2RzRmllbGQvdjEvaW1wb3J0RmlsZWAsDQogICAgLi4ubWFwU3RhdGUoew0KICAgICAgaGVhZGVyczogKHN0YXRlKSA9PiAoew0KICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7c3RhdGUubG9naW4uY3VycmVudFVzZXIudG9rZW59YCwNCiAgICAgIH0pLA0KICAgIH0pLA0KICB9LA0KDQogIGJlZm9yZURlc3Ryb3koKSB7fSwNCiAgbWV0aG9kczogew0KICAgIGluaXREYXRhKGRhdGEpIHsNCiAgICAgIHRoaXMudGFiZWxEYXRhID0gZGF0YTsNCiAgICAgIHRoaXMuaW1wb3J0RGF0YS50YWJsZUlkID0gZGF0YS5pZDsNCiAgICAgIHRoaXMuZ2V0RmllbGRzQnlUYWJsZSgpOw0KICAgIH0sDQogICAgYXN5bmMgZ2V0RmllbGRzQnlUYWJsZSgpIHsNCiAgICAgIHRoaXMudGFibGVMb2FkaW5nID0gdHJ1ZTsNCiAgICAgIHRyeSB7DQogICAgICAgIGNvbnN0IHsgZmllbGRMaXN0IH0gPSBhd2FpdCBBUEkuZ2V0RmllbGRzTGlzdCh0aGlzLmRhdGEuaWQpOw0KICAgICAgICAvLyBjb25zb2xlLmxvZyhmaWVsZExpc3QpOw0KICAgICAgICBpZiAoZmllbGRMaXN0ICYmIGZpZWxkTGlzdC5sZW5ndGgpIHsNCiAgICAgICAgICAvLyB0aGlzLmZvcm0uYXR0ckRhdGEgPSBmaWVsZExpc3Q7DQogICAgICAgICAgdGhpcy5mb3JtLmF0dHJEYXRhID0gZmllbGRMaXN0LmZpbHRlcigoaXRlbSkgPT4gaXRlbS5maWVsZFR5cGUgPT09ICcyJyk7DQogICAgICAgICAgdGhpcy5mb3JtLmF0dHJEYXRhLnNvcnQoKGEsIGIpID0+IGEuc24gLSBiLnNuKTsNCiAgICAgICAgfQ0KICAgICAgfSBjYXRjaCAoZXJyKSB7DQogICAgICAgIC8vIGNvbnNvbGUubG9nKGVycik7DQogICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZyhlcnIgfHwgJ+i1hOa6kOmhueWtl+auteafpeivouWksei0pe+8gScpOw0KICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgdGhpcy50YWJsZUxvYWRpbmcgPSBmYWxzZTsNCiAgICAgIH0NCiAgICB9LA0KICAgIGdldERpY3Rpb25hcnlCeUNvZGUsDQogICAgLy8gY2hhbmdlRGljdChkYXRhKSB7DQogICAgLy8gICB0aGlzLmN1cnJlbnRSb3cuZGltZW5zaW9uSWQgPSBkYXRhLmlkOw0KICAgIC8vICAgdGhpcy5mb3JtLmF0dHJEYXRhLnNwbGljZSh0aGlzLmluZGV4LCAxLCBkYXRhKTsNCiAgICAvLyB9LA0KICAgIGNoYW5nZURpY3QoZGF0YSwga2V5KSB7DQogICAgICAvLyB0aGlzLmN1cnJlbnRSb3cuZGltZW5zaW9uSWQgPSBkYXRhLmlkOw0KICAgICAgLy8gdGhpcy5mb3JtLmF0dHJEYXRhLnNwbGljZSh0aGlzLmluZGV4LCAxLCBkYXRhKTsNCiAgICAgIHRoaXMuY3VycmVudFJvdy5kaW1lbnNpb25JZCA9IGRhdGFba2V5XTsNCiAgICAgIHRoaXMuZm9ybS5hdHRyRGF0YS5zcGxpY2UodGhpcy5pbmRleCwgMSwgdGhpcy5jdXJyZW50Um93KTsNCiAgICB9LA0KICAgIC8vIOaWsOWinuWtl+autQ0KICAgIGFkZEF0dHJSb3dzKCkgew0KICAgICAgY29uc3QgbGFzdCA9IHRoaXMuZm9ybS5hdHRyRGF0YVt0aGlzLmZvcm0uYXR0ckRhdGEubGVuZ3RoIC0gMV07DQogICAgICBjb25zdCBzbiA9IGxhc3QgJiYgbGFzdC5zbiA/IGxhc3Quc24gKyAxIDogMTsNCiAgICAgIGNvbnN0IHJvdyA9IHsNCiAgICAgICAgdGFibGVJZDogdGhpcy50YWJlbERhdGEuaWQsDQogICAgICAgIGNvZGU6ICcnLA0KICAgICAgICBuYW1lOiAnJywNCiAgICAgICAgZGVzYzogJycsDQogICAgICAgIGZpZWxkVHlwZTogJzInLA0KICAgICAgICBpc0luaXRGaWxlZDogJ04nLA0KICAgICAgICBpc1BrOiAnMCcsDQogICAgICAgIGlzUmVxdWlyZWQ6ICcwJywNCiAgICAgICAgVWlDb21Db2RlOiAnaW5wdXQnLA0KICAgICAgICBkYXRhVHlwZTogJ3ZhcmNoYXInLA0KICAgICAgICBkZWZhdWx0VmFsdWU6ICcnLA0KICAgICAgICBmb3JtYXQ6ICcnLA0KICAgICAgICBmaWVsZFZhbHVlVHlwZTogMSwNCiAgICAgICAgZGltZW5zaW9uSWQ6ICcnLA0KICAgICAgICB1bml0OiAnJywNCiAgICAgICAgYXR0ckxlbmd0aDogMjAwLA0KICAgICAgICBkZWNpbWFsTGVuOiAwLA0KICAgICAgICBpc0VuY3J5cHQ6ICcwJywNCiAgICAgICAgaXNFZGl0OiAnMCcsDQogICAgICAgIGlzRGVzZW5zaXRpemU6ICcwJywNCiAgICAgICAgaXNQYXJ0aXRpb246ICcwJywNCiAgICAgICAgaW5kZXg6IHRoaXMuZm9ybS5hdHRyRGF0YS5sZW5ndGggKyAxLA0KICAgICAgfTsNCiAgICAgIHNuID8gKHJvdy5zbiA9IHNuKSA6IG51bGw7DQogICAgICB0aGlzLmZvcm0uYXR0ckRhdGEuc3BsaWNlKHRoaXMuZm9ybS5hdHRyRGF0YS5sZW5ndGgsIDAsIHJvdyk7DQogICAgfSwNCg0KICAgIGNoYW5nZUZpZWxkVmFsdWVUeXBlKHZhbCwgcm93LCBpbmRleCkgew0KICAgICAgcm93LmRpbWVuc2lvbklkID0gJyc7DQogICAgICByb3cuZmllbGRWYWx1ZVR5cGUgPSB2YWw7DQogICAgICB0aGlzLmZvcm0uYXR0ckRhdGEuc3BsaWNlKGluZGV4LCAxLCByb3cpOw0KICAgIH0sDQoNCiAgICAvLyBVSeexu+Wei+WIh+aNouiuvue9rum7mOiupOWAvA0KICAgIGNoYW5nZVVJVHlwZSh2YWwsIHJvdywgaW5kZXgpIHsNCiAgICAgIGNvbnNvbGUubG9nKHZhbCwgcm93LCBpbmRleCk7DQogICAgICByb3cuZGF0YVR5cGUgPSAndmFyY2hhcic7DQogICAgICByb3cuZm9ybWF0ID0gJyc7DQogICAgICByb3cuZmllbGRWYWx1ZVR5cGUgPSAxOw0KICAgICAgaWYgKHZhbCA9PT0gJ2RhdGUnKSB7DQogICAgICAgIHJvdy5kYXRhVHlwZSA9ICdkYXRlJzsNCiAgICAgICAgcm93LmZvcm1hdCA9ICd5eXl5LU1NLWRkJzsNCiAgICAgIH0gZWxzZSBpZiAodmFsID09PSAnZGF0ZXRpbWUnKSB7DQogICAgICAgIHJvdy5kYXRhVHlwZSA9ICdkYXRldGltZSc7DQogICAgICAgIHJvdy5mb3JtYXQgPSAneXl5eS1NTS1kZCBISDptbTpzcyc7DQogICAgICB9IGVsc2UgaWYgKHZhbCA9PT0gJ3NlbGVjdCcgfHwgdmFsID09PSAnY2hlY2tib3gnIHx8IHZhbCA9PT0gJ3JhZGlvJykgew0KICAgICAgICByb3cuZmllbGRWYWx1ZVR5cGUgPSAyOw0KICAgICAgfQ0KICAgICAgdGhpcy5mb3JtLmF0dHJEYXRhLnNwbGljZShpbmRleCwgMSwgcm93KTsNCiAgICB9LA0KDQogICAgLy8g5pWw5o2u57G75Z6L5YiH5o2i6K6+572u6buY6K6k5YC8DQogICAgY2hhbmdlRGF0YVR5cGUodmFsLCByb3csIGluZGV4KSB7DQogICAgICByb3cuYXR0ckxlbmd0aCA9IDA7DQogICAgICByb3cuZGVjaW1hbExlbiA9IDA7DQogICAgICByb3cuZm9ybWF0ID0gJyc7DQogICAgICByb3cuZmllbGRWYWx1ZVR5cGUgPSAxOw0KICAgICAgcm93LmRpbWVuc2lvbklkID0gJyc7DQogICAgICBpZiAodmFsID09PSAnZGF0ZScpIHsNCiAgICAgICAgcm93LmZvcm1hdCA9ICd5eXl5LU1NLWRkJzsNCiAgICAgIH0gZWxzZSBpZiAodmFsID09PSAnZGF0ZXRpbWUnKSB7DQogICAgICAgIHJvdy5mb3JtYXQgPSAneXl5eS1NTS1kZCBISDptbTpzcyc7DQogICAgICB9IGVsc2UgaWYgKHZhbCA9PT0gJ3ZhcmNoYXInKSB7DQogICAgICAgIHJvdy5hdHRyTGVuZ3RoID0gMjAwOw0KICAgICAgfSBlbHNlIGlmICh2YWwgPT09ICdudW1iZXInKSB7DQogICAgICAgIHJvdy5hdHRyTGVuZ3RoID0gMTA7DQogICAgICAgIHJvdy5kZWNpbWFsTGVuID0gMjsNCiAgICAgIH0NCiAgICAgIHRoaXMuZm9ybS5hdHRyRGF0YS5zcGxpY2UoaW5kZXgsIDEsIHJvdyk7DQogICAgfSwNCg0KICAgIC8vIOmAieaLqeWtl+WFuA0KICAgIGhhbmRsZVNlYXJjaERpY3Qocm93LCAkaW5kZXgpIHsNCiAgICAgIHRoaXMuY3VycmVudFJvdyA9IHJvdzsNCiAgICAgIHRoaXMuaW5kZXggPSAkaW5kZXg7DQogICAgICBpZiAocm93LmZpZWxkVmFsdWVUeXBlID09PSAyKSB7DQogICAgICAgIHRoaXMuZGlhbG9nVmlzaWJsZUVudW0gPSB0cnVlOw0KICAgICAgfSBlbHNlIGlmIChyb3cuZmllbGRWYWx1ZVR5cGUgPT09IDMpIHsNCiAgICAgICAgdGhpcy5kaWFsb2dWaXNpYmxlTXVsdGkgPSB0cnVlOw0KICAgICAgfQ0KICAgIH0sDQoNCiAgICBoYW5kbGVEZWxldGUocGFyYW0sIGRlcGxveWVkKSB7DQogICAgICBpZiAoZGVwbG95ZWQgJiYgcGFyYW0ucm93LmlkKSByZXR1cm47DQogICAgICB0aGlzLmhhbmRsZUNvbW1hbmQocGFyYW0pOw0KICAgIH0sDQoNCiAgICBoYW5kbGVDb21tYW5kKHBhcmFtKSB7DQogICAgICBzd2l0Y2ggKHBhcmFtLmNvbW1hbmQpIHsNCiAgICAgICAgY2FzZSAnZGVsJzoNCiAgICAgICAgICB0aGlzLmRlbGV0ZUF0dHJSb3dzKHBhcmFtLnJvdywgcGFyYW0uaW5kZXgpOw0KICAgICAgICAgIGJyZWFrOw0KICAgICAgICBjYXNlICd1cCc6DQogICAgICAgICAgdGhpcy5hdHRyVXAocGFyYW0ucm93LCBwYXJhbS5pbmRleCk7DQogICAgICAgICAgYnJlYWs7DQogICAgICAgIGNhc2UgJ2Rvd24nOg0KICAgICAgICAgIHRoaXMuYXR0ckRvd24ocGFyYW0ucm93LCBwYXJhbS5pbmRleCk7DQogICAgICAgICAgYnJlYWs7DQogICAgICAgIGRlZmF1bHQ6DQogICAgICAgICAgYnJlYWs7DQogICAgICB9DQogICAgfSwNCg0KICAgIC8vIOWIoOmZpOWtl+autSDkvKrliKDpmaQg6K6+572u5a2X5q61IHN0YXR1cyDlgLwgaGlkZQ0KICAgIGlzRGVsKHJvdywgaW5kZXgpIHt9LA0KICAgIC8vIOWIoOmZpOWtl+autQ0KICAgIGRlbGV0ZUF0dHJSb3dzKHJvdywgaW5kZXgpIHsNCiAgICAgIGlmIChyb3cuaXNJbml0RmlsZWQgPT09ICdZJykgew0KICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoJ+ivpeWtl+auteS4uuWIneWni+Wtl+aute+8jOS4jeWPr+WIoOmZpO+8gScpOw0KICAgICAgICByZXR1cm47DQogICAgICB9DQogICAgICB0aGlzLmZvcm0uYXR0ckRhdGEuc3BsaWNlKGluZGV4LCAxKTsNCiAgICAgIC8vIGlmICghcm93LmlkKSB7DQogICAgICAvLyAgIHRoaXMuZm9ybS5hdHRyRGF0YS5zcGxpY2UoaW5kZXgsIDEpOw0KICAgICAgLy8gICByZXR1cm47DQogICAgICAvLyB9DQogICAgICAvLw0KICAgICAgLy8gdGhpcy4kY29uZmlybShg5piv5ZCm5Yig6Zmk5a2X5q6177yIJHtyb3cubmFtZX3vvIk/YCwgJ+aPkOekuicsIHsNCiAgICAgIC8vICAgY29uZmlybUJ1dHRvblRleHQ6ICfnoa7lrponLA0KICAgICAgLy8gICBjYW5jZWxCdXR0b25UZXh0OiAn5Y+W5raIJywNCiAgICAgIC8vICAgdHlwZTogJ3dhcm5pbmcnLA0KICAgICAgLy8gfSkudGhlbihhc3luYyAoKSA9PiB7DQogICAgICAvLyAgIGF3YWl0IEFQSS5kZWxGaWVsZHMocm93LmlkKTsNCiAgICAgIC8vICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKCfliKDpmaTmiJDlip8nKTsNCiAgICAgIC8vICAgdGhpcy5mb3JtLmF0dHJEYXRhLnNwbGljZShpbmRleCwgMSk7DQogICAgICAvLyB9KTsNCg0KICAgICAgLy8gICBpZiAoIXJvdy5pZCkgew0KICAgICAgLy8gICAgIHRoaXMuZm9ybS5hdHRyRGF0YS5zcGxpY2UoaW5kZXgsIDEpOw0KICAgICAgLy8gICB9DQogICAgICAvLyAgIHRoaXMuaXNEZWwocm93LCBpbmRleCk7DQogICAgfSwNCiAgICBhdHRyVXAocm93LCBpbmRleCkgew0KICAgICAgdGhpcy5mb3JtLmF0dHJEYXRhW2luZGV4XS5pbmRleCA9IHRoaXMuZm9ybS5hdHRyRGF0YVtpbmRleF0uaW5kZXggLSAxOw0KICAgICAgdGhpcy5mb3JtLmF0dHJEYXRhW2luZGV4XS5zbiA9IHRoaXMuZm9ybS5hdHRyRGF0YVtpbmRleCAtIDFdLnNuOw0KICAgICAgdGhpcy5mb3JtLmF0dHJEYXRhW2luZGV4IC0gMV0uaW5kZXggPSB0aGlzLmZvcm0uYXR0ckRhdGFbaW5kZXggLSAxXS5pbmRleCArIDE7DQogICAgICB0aGlzLmZvcm0uYXR0ckRhdGFbaW5kZXggLSAxXS5zbiA9IHRoaXMuZm9ybS5hdHRyRGF0YVtpbmRleCAtIDFdLnNuICsgMTsNCiAgICAgIHRoaXMuZm9ybS5hdHRyRGF0YSA9IHV0aWxzLmFycmF5TW92ZSh0aGlzLmZvcm0uYXR0ckRhdGEsIHJvdywgJ3VwJyk7DQogICAgfSwNCiAgICBhdHRyRG93bihyb3csIGluZGV4KSB7DQogICAgICB0aGlzLmZvcm0uYXR0ckRhdGFbaW5kZXhdLmluZGV4ID0gdGhpcy5mb3JtLmF0dHJEYXRhW2luZGV4XS5pbmRleCArIDE7DQogICAgICB0aGlzLmZvcm0uYXR0ckRhdGFbaW5kZXhdLnNuID0gdGhpcy5mb3JtLmF0dHJEYXRhW2luZGV4XS5zbiArIDE7DQogICAgICB0aGlzLmZvcm0uYXR0ckRhdGFbaW5kZXggKyAxXS5pbmRleCA9IHRoaXMuZm9ybS5hdHRyRGF0YVtpbmRleCArIDFdLmluZGV4IC0gMTsNCiAgICAgIHRoaXMuZm9ybS5hdHRyRGF0YVtpbmRleCArIDFdLnNuID0gdGhpcy5mb3JtLmF0dHJEYXRhW2luZGV4XS5zbiAtIDE7DQogICAgICB0aGlzLmZvcm0uYXR0ckRhdGEgPSB1dGlscy5hcnJheU1vdmUodGhpcy5mb3JtLmF0dHJEYXRhLCByb3csICdkb3duJyk7DQogICAgfSwNCg0KICAgIG9uQ2FuY2VsKCkgew0KICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7DQogICAgICB0aGlzLmZvcm0uYXR0ckRhdGEgPSBbXTsNCiAgICB9LA0KICAgIC8vIGFzeW5jIGhhbmRsZVB1Ymxpc2goKSB7DQogICAgLy8gICB0aGlzLiRjb25maXJtKCflj5HluIPlkI7mlbDmja7lsIbml6Dms5Xkv67mlLnlkozliKDpmaQsIOaYr+WQpue7p+e7rT8nLCAn5o+Q56S6Jywgew0KICAgIC8vICAgICBjb25maXJtQnV0dG9uVGV4dDogJ+ehruWumicsDQogICAgLy8gICAgIGNhbmNlbEJ1dHRvblRleHQ6ICflj5bmtognLA0KICAgIC8vICAgICB0eXBlOiAnd2FybmluZycsDQogICAgLy8gICB9KS50aGVuKGFzeW5jICgpID0+IHsNCiAgICAvLyAgICAgdHJ5IHsNCiAgICAvLyAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlOw0KICAgIC8vICAgICAgIGF3YWl0IEFQSS5wdWJsaXNoVGFibGUodGhpcy5kYXRhLmlkKTsNCiAgICAvLyAgICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MoJ+WPkeW4g+aIkOWKnycpOw0KICAgIC8vICAgICAgIHRoaXMuZ2V0RmllbGRzQnlUYWJsZSgpOw0KICAgIC8vICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlOw0KICAgIC8vICAgICB9IGZpbmFsbHkgew0KICAgIC8vICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOw0KICAgIC8vICAgICB9DQogICAgLy8gICB9KTsNCiAgICAvLyB9LA0KICAgIC8vIG9uQ29uZmlybSgpIHsNCiAgICAvLyAgIHRoaXMuJHJlZnMuZm9ybS52YWxpZGF0ZShhc3luYyAodmFsaWQsIG9iamVjdCkgPT4gew0KICAgIC8vICAgICBpZiAodmFsaWQpIHsNCiAgICAvLyAgICAgICBjb25zb2xlLmxvZyh0aGlzLmZvcm0uYXR0ckRhdGEpOw0KICAgIC8vICAgICAgIHRyeSB7DQogICAgLy8gICAgICAgICBjb25zdCB7IHN0YXRlLCBtZXNzYWdlIH0gPSBhd2FpdCBBUEkuc2F2ZUZpZWxkcyh0aGlzLmZvcm0uYXR0ckRhdGEpOw0KICAgIC8vICAgICAgICAgaWYgKHN0YXRlKSB7DQogICAgLy8gICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcygn5a2X5q615L+d5a2Y5oiQ5YqfJyk7DQogICAgLy8gICAgICAgICAgIHRoaXMuJGVtaXQoJ2NvbmZpcm0nKTsNCiAgICAvLyAgICAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7DQogICAgLy8gICAgICAgICB9IGVsc2Ugew0KICAgIC8vICAgICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcobWVzc2FnZSB8fCAn5pON5L2c5aSx6LSlJyk7DQogICAgLy8gICAgICAgICB9DQogICAgLy8gICAgICAgfSBjYXRjaCAoZXJyKSB7DQogICAgLy8gICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoZXJyIHx8ICfmk43kvZzlpLHotKUnKTsNCiAgICAvLyAgICAgICB9IGZpbmFsbHkgew0KICAgIC8vICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7DQogICAgLy8gICAgICAgfQ0KICAgIC8vICAgICB9IGVsc2Ugew0KICAgIC8vICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZyhg5pyJJHtPYmplY3Qua2V5cyhvYmplY3QpLmxlbmd0aH3kuKrlrZfmrrXmnKrpgJrov4fmoKHpqozvvIzor7fmraPnoa7loavlhpnooajljZXjgIJgKTsNCiAgICAvLyAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsNCiAgICAvLyAgICAgfQ0KICAgIC8vICAgfSk7DQogICAgLy8gfSwNCiAgICBvbkNvbmZpcm0oKSB7DQogICAgICB0aGlzLiRyZWZzLmZvcm0udmFsaWRhdGUoYXN5bmMgKHZhbGlkLCBvYmplY3QpID0+IHsNCiAgICAgICAgaWYgKHZhbGlkKSB7DQogICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsNCiAgICAgICAgICBjb25zdCBmaWVsZCA9IHRoaXMuZm9ybS5hdHRyRGF0YTsNCiAgICAgICAgICBjb25zdCBwYXJhbXMgPSBmaWVsZDsNCiAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5kZXBsb3llZCkgew0KICAgICAgICAgICAgICBhd2FpdCBBUEkuc2F2ZU9yVXBkYXRlRmllbGRzKHBhcmFtcyk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICBhd2FpdCBBUEkuc2F2ZUZpZWxkcyhwYXJhbXMpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKCflrZfmrrXkv53lrZjmiJDlip8nKTsNCiAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgdGhpcy4kZW1pdCgnY29uZmlybScpOw0KICAgICAgICAgIH0gY2F0Y2ggKGVycikgew0KICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKGVyciB8fCAn5pON5L2c5aSx6LSlJyk7DQogICAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOw0KICAgICAgICAgIH0NCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoYOaciSR7T2JqZWN0LmtleXMob2JqZWN0KS5sZW5ndGh95Liq5a2X5q615pyq6YCa6L+H5qCh6aqM77yM6K+35q2j56Gu5aGr5YaZ6KGo5Y2V44CCYCk7DQogICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7DQogICAgICAgIH0NCiAgICAgIH0pOw0KICAgIH0sDQogICAgZG93bmxvYWQoKSB7DQogICAgICBjb25zdCBmaWxlTmFtZSA9ICfmlbDmja7otLTmupDlsYIt5pWw5o2u6KGo5a2X5q615riF5Y2VLnhsc3gnOw0KICAgICAgLy8gY29uc3QgZmlsZSA9IGAuL2ZpbGUvZG93bmxvYWQvJHtmaWxlTmFtZX1gOw0KICAgICAgY29uc3QgZmlsZSA9IHdpbmRvdy5jb250ZXh0LmRvd25sb2FkICsgZmlsZU5hbWU7DQogICAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpOw0KICAgICAgYS5ocmVmID0gZmlsZTsNCiAgICAgIGEuZG93bmxvYWQgPSBmaWxlTmFtZTsgLy8g6K6+572u5LiL6L295paH5Lu25paH5Lu25ZCNDQogICAgICBhLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7DQogICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpOw0KICAgICAgYS5jbGljaygpOw0KICAgICAgYS5yZW1vdmUoKTsNCiAgICB9LA0KICAgIC8vICDlr7zlhaXmlofku7bkuIrkvKDliY0NCiAgICBiZWZvcmVVcGxvYWQoZmlsZSkgew0KICAgICAgdGhpcy51cGxvYWRWaXNpYmxlID0gZmFsc2U7DQogICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gew0KICAgICAgICB0aGlzLnVwbG9hZExvYWRpbmcgPSB0cnVlOw0KICAgICAgICBjb25zdCB7IHNpemUsIG5hbWUgfSA9IGZpbGU7DQogICAgICAgIHRoaXMuJGNvbmZpcm0oYOivt+ehruiupOaYr+WQpuWvvOWFpSDigJwke25hbWV94oCdIO+8n2AsICfmj5DnpLonLCB7DQogICAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICfnoa7orqQnLA0KICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICflj5bmtognLA0KICAgICAgICAgIHR5cGU6ICd3YXJuaW5nJywNCiAgICAgICAgfSkNCiAgICAgICAgICAudGhlbigoXykgPT4gew0KICAgICAgICAgICAgbGV0IHBhc3NlZE9yTm90ID0gdHJ1ZTsgLy8g5piv5ZCm6YCa6L+H6aqM6K+BDQogICAgICAgICAgICBjb25zdCB0eXBlUmVndWxhciA9IC9cLih4bHN8eGxzeCkkL2k7DQogICAgICAgICAgICBjb25zdCB2ZXJpZmljYXRpb24gPSBbDQogICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBjb25kaXRpb246ICF0eXBlUmVndWxhci50ZXN0KG5hbWUpLA0KICAgICAgICAgICAgICAgIHJlc3VsdDogKCkgPT4gdGhpcy4kbWVzc2FnZS5lcnJvcign5Y+q6IO95LiK5LygeGxz5oiWeGxzeOaWh+S7tuexu+WeiycpLA0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgXTsNCiAgICAgICAgICAgIHZlcmlmaWNhdGlvbi5mb3JFYWNoKChpdGVtKSA9PiB7DQogICAgICAgICAgICAgIGlmIChpdGVtLmNvbmRpdGlvbikgew0KICAgICAgICAgICAgICAgIGl0ZW0ucmVzdWx0KCk7DQogICAgICAgICAgICAgICAgcGFzc2VkT3JOb3QgPSBmYWxzZTsNCiAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZExvYWRpbmcgPSBmYWxzZTsNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHBhc3NlZE9yTm90ID8gcmVzb2x2ZSgpIDogcmVqZWN0KCk7DQogICAgICAgICAgfSkNCiAgICAgICAgICAuY2F0Y2goKF8pID0+IHsNCiAgICAgICAgICAgIHJlamVjdCgpOw0KICAgICAgICAgICAgdGhpcy51cGxvYWRMb2FkaW5nID0gZmFsc2U7DQogICAgICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoJ+W3suWPlua2iOS4iuS8oCcpOw0KICAgICAgICAgIH0pOw0KICAgICAgfSk7DQogICAgfSwNCg0KICAgIC8vIOWvvOWFpeaWh+S7tuS4iuS8oOaIkOWKnw0KICAgIGFzeW5jIGhhbmRsZVN1Y2Nlc3MocmVzKSB7DQogICAgICBpZiAocmVzLnN0YXRlKSB7DQogICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcygn5a+85YWl5oiQ5YqfJyk7DQogICAgICAgIHRoaXMudXBsb2FkTG9hZGluZyA9IGZhbHNlOw0KICAgICAgICBhd2FpdCB0aGlzLmdldEZpZWxkc0J5VGFibGUoKTsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLm1lc3NhZ2UpOw0KICAgICAgfQ0KICAgIH0sDQoNCiAgICAvLyDlr7zlhaXmlofku7bkuIrkvKDlpLHotKUNCiAgICBoYW5kbGVFcnJvcigpIHsNCiAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoJ+WvvOWFpeWksei0pe+8jOivt+mHjeivlScpOw0KICAgICAgdGhpcy51cGxvYWRMb2FkaW5nID0gZmFsc2U7DQogICAgfSwNCiAgfSwNCn07DQo="},null]}