{"remainingRequest":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\dataShare-fvue\\src\\views\\dataManage\\dataDWCatalog\\fieldsManage.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\src\\views\\dataManage\\dataDWCatalog\\fieldsManage.vue","mtime":1736276117576},{"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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgZGlhbG9nTWl4aW4gZnJvbSAnQC9taXhpbnMvZGlhbG9nLmpzJzsNCmltcG9ydCB1dGlscyBmcm9tICdAL2hvdGVudC11aS11dGlsLmpzJzsNCmltcG9ydCBlbnVtRGljdERpYWxvZyBmcm9tICcuL2VudW1EaWN0RGlhbG9nLnZ1ZSc7DQppbXBvcnQgbXVsdGlEaWN0RGlhbG9nIGZyb20gJy4vbXVsdGlEaWN0RGlhbG9nLnZ1ZSc7DQppbXBvcnQgeyBnZXREaWN0aW9uYXJ5QnlDb2RlIH0gZnJvbSAnQC91dGlscy9kaWN0aW9uYXJ5LmpzJzsNCmltcG9ydCBBUEkgZnJvbSAnQC9hcGkvYnVzaW5lc3MvZGF0YURXQ2F0YWxvZyc7DQppbXBvcnQgeyBtYXBTdGF0ZSB9IGZyb20gJ3Z1ZXgnOw0KDQpleHBvcnQgZGVmYXVsdCB7DQogIG5hbWU6ICdGaWVsZHNNYW5hZ2UnLA0KICBjb21wb25lbnRzOiB7DQogICAgZW51bURpY3REaWFsb2csDQogICAgbXVsdGlEaWN0RGlhbG9nLA0KICB9LA0KICBtaXhpbnM6IFtkaWFsb2dNaXhpbl0sDQogIHByb3BzOiBbXSwNCiAgZGF0YSgpIHsNCiAgICB2YXIgY2hlY2tleSA9IChydWxlLCB2YWx1ZSwgY2FsbGJhY2spID0+IHsNCiAgICAgIGlmICghdmFsdWUpIHsNCiAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBFcnJvcign5a2X5q6157yW56CB5LiN6IO95Li656m6JykpOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgaWYgKHRoaXMuZm9ybS5hdHRyRGF0YS5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uY29kZSA9PT0gdmFsdWUpLmxlbmd0aCA+IDEpIHsNCiAgICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoJ+Wtl+autee8lueggeS4jeiDvemHjeWkjSEnKSk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgY2FsbGJhY2soKTsNCiAgICAgICAgfQ0KICAgICAgfQ0KICAgIH07DQogICAgcmV0dXJuIHsNCiAgICAgIGZpZWxkc1J1bGVzOiB7DQogICAgICAgIG5hbWU6IFsNCiAgICAgICAgICB7DQogICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgIG1lc3NhZ2U6ICflrZfmrrXlkI3np7DkuI3og73kuLrnqbonLA0KICAgICAgICAgICAgdHJpZ2dlcjogJ2JsdXInLA0KICAgICAgICAgIH0sDQogICAgICAgIF0sDQogICAgICAgIGNvZGU6IFsNCiAgICAgICAgICB7DQogICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgIG1lc3NhZ2U6ICflrZfmrrXnvJbnoIHkuI3og73kuLrnqbonLA0KICAgICAgICAgICAgdHJpZ2dlcjogJ2JsdXInLA0KICAgICAgICAgIH0sDQogICAgICAgICAgew0KICAgICAgICAgICAgcGF0dGVybjogL15bYS16QS1aXVthLXpBLVowLTlfXSokLywNCiAgICAgICAgICAgIG1lc3NhZ2U6ICfku6XlrZfmr43lvIDlpLTnmoTlrZfmr43jgIHmlbDlrZfjgIHkuIvliJLnur/nu4TlkIgnLA0KICAgICAgICAgICAgdHJpZ2dlcjogWydjaGFuZ2UnLCAnYmx1ciddLA0KICAgICAgICAgIH0sDQogICAgICAgICAgeyB2YWxpZGF0b3I6IGNoZWNrZXksIHRyaWdnZXI6ICdibHVyJyB9LA0KICAgICAgICBdLA0KICAgICAgfSwNCiAgICAgIGZvcm06IHsgYXR0ckRhdGE6IFtdIH0sDQogICAgICBpbXBvcnREYXRhOiB7IHRhYmxlSWQ6ICcnIH0sDQogICAgICBkaWFsb2dWaXNpYmxlRW51bTogZmFsc2UsDQogICAgICBkaWFsb2dWaXNpYmxlTXVsdGk6IGZhbHNlLA0KICAgICAgY3VycmVudFJvdzogbnVsbCwNCiAgICAgIGluZGV4OiBudWxsLA0KICAgICAgdGFiZWxEYXRhOiBudWxsLA0KICAgICAgdGFibGVMb2FkaW5nOiBmYWxzZSwNCiAgICAgIHVwbG9hZExvYWRpbmc6IGZhbHNlLA0KICAgICAgdXBsb2FkVmlzaWJsZTogZmFsc2UsDQogICAgICBwdWJsaXNoZWQ6IGZhbHNlLA0KICAgIH07DQogIH0sDQogIG1vdW50ZWQoKSB7DQogICAgZG9jdW1lbnQub25rZXlkb3duID0gKCkgPT4gew0KICAgICAgaWYgKHRoaXMuZm9ybS5hdHRyRGF0YSkgew0KICAgICAgICBjb25zdCBrZXkgPSB3aW5kb3cuZXZlbnQua2V5Q29kZTsNCiAgICAgICAgaWYgKGtleSA9PSAxMTMpIHsNCiAgICAgICAgICAvLyA9PSA4MyAmJiBldmVudC5jdHJsS2V5DQogICAgICAgICAgdGhpcy5hZGRBdHRyUm93cygpOw0KICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gew0KICAgICAgICAgICAgdGhpcy4kcmVmcy5hdHRyVGFibGVTY3JvbGxiYXJIZWlnaHQuYm9keVdyYXBwZXIuc2Nyb2xsVG9wID0gdGhpcy4kcmVmcy5hdHRyVGFibGVTY3JvbGxiYXJIZWlnaHQuYm9keVdyYXBwZXIuc2Nyb2xsSGVpZ2h0Ow0KICAgICAgICAgIH0sIDUwMCk7DQogICAgICAgIH0NCiAgICAgIH0NCiAgICB9Ow0KICB9LA0KICBjb21wdXRlZDogew0KICAgIGFjdGlvblVybDogKF8pID0+IGAke3dpbmRvdy5jb250ZXh0LnBvcnRhbH0vYml6L2RhdGFSZXNvdXJjZS9kd0ZpZWxkL3YxL2ltcG9ydEZpbGVgLA0KICAgIC4uLm1hcFN0YXRlKHsNCiAgICAgIGhlYWRlcnM6IChzdGF0ZSkgPT4gKHsNCiAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3N0YXRlLmxvZ2luLmN1cnJlbnRVc2VyLnRva2VufWAsDQogICAgICB9KSwNCiAgICB9KSwNCiAgfSwNCg0KICBiZWZvcmVEZXN0cm95KCkge30sDQogIG1ldGhvZHM6IHsNCiAgICBpbml0RGF0YShkYXRhKSB7DQogICAgICB0aGlzLnRhYmVsRGF0YSA9IGRhdGE7DQogICAgICB0aGlzLmltcG9ydERhdGEudGFibGVJZCA9IGRhdGEuaWQ7DQogICAgICB0aGlzLnB1Ymxpc2hlZCA9IHRoaXMudGFiZWxEYXRhLmRlcGxveWVkID09PSAnMSc7DQogICAgICB0aGlzLmdldEZpZWxkc0J5VGFibGUoKTsNCiAgICB9LA0KICAgIGFzeW5jIGdldEZpZWxkc0J5VGFibGUoKSB7DQogICAgICB0aGlzLnRhYmxlTG9hZGluZyA9IHRydWU7DQogICAgICB0cnkgew0KICAgICAgICBjb25zdCB7IGZpZWxkTGlzdCA9IFtdIH0gPSBhd2FpdCBBUEkucXVlcnlGaWVsZHNCeVRhYmxlSWQodGhpcy50YWJlbERhdGEuaWQpOw0KICAgICAgICBpZiAoZmllbGRMaXN0Lmxlbmd0aCkgew0KICAgICAgICAgIGZpZWxkTGlzdC5mb3JFYWNoKChpdGVtKSA9PiB7DQogICAgICAgICAgICBpZiAoaXRlbS5maWVsZFZhbHVlVHlwZSkgew0KICAgICAgICAgICAgICBpdGVtLmZpZWxkVmFsdWVUeXBlID0gaXRlbS5maWVsZFZhbHVlVHlwZS50b1N0cmluZygpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0pOw0KICAgICAgICAgIHRoaXMuZm9ybS5hdHRyRGF0YSA9IGZpZWxkTGlzdC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uZmllbGRUeXBlID09PSAnMicpOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIHRoaXMuZm9ybS5hdHRyRGF0YSA9IFtdOw0KICAgICAgICB9DQogICAgICB9IGNhdGNoIChlcnIpIHsNCiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKGVyciB8fCAn6LWE5rqQ6aG55a2X5q615p+l6K+i5aSx6LSl77yBJyk7DQogICAgICB9IGZpbmFsbHkgew0KICAgICAgICB0aGlzLnRhYmxlTG9hZGluZyA9IGZhbHNlOw0KICAgICAgfQ0KICAgIH0sDQogICAgZ2V0RGljdGlvbmFyeUJ5Q29kZSwNCiAgICBjaGFuZ2VEaWN0KGRhdGEsIGtleSkgew0KICAgICAgdGhpcy5jdXJyZW50Um93LmRpbWVuc2lvbklkID0gZGF0YVtrZXldOw0KICAgICAgdGhpcy5mb3JtLmF0dHJEYXRhLnNwbGljZSh0aGlzLmluZGV4LCAxLCB0aGlzLmN1cnJlbnRSb3cpOw0KICAgIH0sDQogICAgLy8g5paw5aKe5a2X5q61DQogICAgYWRkQXR0clJvd3MoKSB7DQogICAgICBjb25zdCByb3cgPSB7DQogICAgICAgIHRhYmxlSWQ6IHRoaXMudGFiZWxEYXRhLmlkLA0KICAgICAgICBjb2RlOiAnJywNCiAgICAgICAgbmFtZTogJycsDQogICAgICAgIGRlc2M6ICcnLA0KICAgICAgICBmaWVsZFR5cGU6ICcyJywNCiAgICAgICAgaXNJbml0RmlsZWQ6ICdOJywNCiAgICAgICAgaXNQazogJzAnLA0KICAgICAgICBpc1JlcXVpcmVkOiAnMCcsDQogICAgICAgIHVpQ29tQ29kZTogJ2lucHV0JywNCiAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLA0KICAgICAgICBkZWZhdWx0VmFsdWU6ICcnLA0KICAgICAgICBmb3JtYXQ6ICcnLA0KICAgICAgICBmaWVsZFZhbHVlVHlwZTogJzEnLA0KICAgICAgICBkaW1lbnNpb25JZDogJycsDQogICAgICAgIHVuaXQ6ICcnLA0KICAgICAgICBhdHRyTGVuZ3RoOiAyMDAsDQogICAgICAgIGRlY2ltYWxMZW46IDAsDQogICAgICAgIGlzRW5jcnlwdDogJzAnLA0KICAgICAgICBpc0VkaXQ6ICcwJywNCiAgICAgICAgaXNEZXNlbnNpdGl6ZTogJzAnLA0KICAgICAgICBpbmRleDogdGhpcy5mb3JtLmF0dHJEYXRhLmxlbmd0aCArIDEsDQogICAgICB9Ow0KICAgICAgdGhpcy5mb3JtLmF0dHJEYXRhLnNwbGljZSh0aGlzLmZvcm0uYXR0ckRhdGEubGVuZ3RoLCAwLCByb3cpOw0KICAgIH0sDQoNCiAgICBjaGFuZ2VGaWVsZFZhbHVlVHlwZSh2YWwsIHJvdywgaW5kZXgpIHsNCiAgICAgIHJvdy5kaW1lbnNpb25JZCA9ICcnOw0KICAgICAgcm93LmZpZWxkVmFsdWVUeXBlID0gdmFsOw0KICAgICAgdGhpcy5mb3JtLmF0dHJEYXRhLnNwbGljZShpbmRleCwgMSwgcm93KTsNCiAgICB9LA0KDQogICAgLy8gVUnnsbvlnovliIfmjaLorr7nva7pu5jorqTlgLwNCiAgICBjaGFuZ2VVSVR5cGUodmFsLCByb3csIGluZGV4KSB7DQogICAgICBjb25zb2xlLmxvZyh2YWwsIHJvdywgaW5kZXgpOw0KICAgICAgcm93LmRhdGFUeXBlID0gJ3N0cmluZyc7DQogICAgICByb3cuZm9ybWF0ID0gJyc7DQogICAgICByb3cuZmllbGRWYWx1ZVR5cGUgPSAnMSc7DQogICAgICBpZiAodmFsID09PSAnZGF0ZScpIHsNCiAgICAgICAgcm93LmRhdGFUeXBlID0gJ2RhdGV0aW1lJzsNCiAgICAgICAgcm93LmZvcm1hdCA9ICd5eXl5LU1NLWRkJzsNCiAgICAgIH0gZWxzZSBpZiAodmFsID09PSAnc2VsZWN0JyB8fCB2YWwgPT09ICdjaGVja2JveCcgfHwgdmFsID09PSAncmFkaW8nKSB7DQogICAgICAgIHJvdy5maWVsZFZhbHVlVHlwZSA9ICcyJzsNCiAgICAgIH0NCiAgICAgIHRoaXMuZm9ybS5hdHRyRGF0YS5zcGxpY2UoaW5kZXgsIDEsIHJvdyk7DQogICAgfSwNCg0KICAgIC8vIOaVsOaNruexu+Wei+WIh+aNouiuvue9rum7mOiupOWAvA0KICAgIGNoYW5nZURhdGFUeXBlKHZhbCwgcm93LCBpbmRleCkgew0KICAgICAgcm93LmF0dHJMZW5ndGggPSAwOw0KICAgICAgcm93LmRlY2ltYWxMZW4gPSAwOw0KICAgICAgcm93LmZvcm1hdCA9ICcnOw0KICAgICAgcm93LmZpZWxkVmFsdWVUeXBlID0gJzEnOw0KICAgICAgcm93LmRpbWVuc2lvbklkID0gJyc7DQogICAgICBpZiAodmFsID09PSAnZGF0ZXRpbWUnKSB7DQogICAgICAgIHJvdy5mb3JtYXQgPSAneXl5eS1NTS1kZCc7DQogICAgICB9IGVsc2UgaWYgKHZhbCA9PT0gJ3N0cmluZycpIHsNCiAgICAgICAgcm93LmF0dHJMZW5ndGggPSAyMDA7DQogICAgICB9IGVsc2UgaWYgKHZhbCA9PT0gJ251bWJlcicpIHsNCiAgICAgICAgcm93LmF0dHJMZW5ndGggPSAxMDsNCiAgICAgICAgcm93LmRlY2ltYWxMZW4gPSAyOw0KICAgICAgfQ0KICAgICAgdGhpcy5mb3JtLmF0dHJEYXRhLnNwbGljZShpbmRleCwgMSwgcm93KTsNCiAgICB9LA0KDQogICAgLy8g6YCJ5oup5a2X5YW4DQogICAgaGFuZGxlU2VhcmNoRGljdChyb3csICRpbmRleCkgew0KICAgICAgaWYgKHRoaXMucHVibGlzaGVkICYmIHJvdy5pZCkgew0KICAgICAgICByZXR1cm47DQogICAgICB9DQogICAgICB0aGlzLmN1cnJlbnRSb3cgPSByb3c7DQogICAgICB0aGlzLmluZGV4ID0gJGluZGV4Ow0KICAgICAgaWYgKHJvdy5maWVsZFZhbHVlVHlwZSA9PT0gJzInKSB7DQogICAgICAgIHRoaXMuZGlhbG9nVmlzaWJsZUVudW0gPSB0cnVlOw0KICAgICAgfSBlbHNlIGlmIChyb3cuZmllbGRWYWx1ZVR5cGUgPT09ICczJykgew0KICAgICAgICB0aGlzLmRpYWxvZ1Zpc2libGVNdWx0aSA9IHRydWU7DQogICAgICB9DQogICAgfSwNCg0KICAgIGhhbmRsZUNvbW1hbmQocGFyYW0pIHsNCiAgICAgIHN3aXRjaCAocGFyYW0uY29tbWFuZCkgew0KICAgICAgICBjYXNlICdkZWwnOg0KICAgICAgICAgIHRoaXMuZGVsZXRlQXR0clJvd3MocGFyYW0ucm93LCBwYXJhbS5pbmRleCk7DQogICAgICAgICAgYnJlYWs7DQogICAgICAgIGNhc2UgJ3VwJzoNCiAgICAgICAgICB0aGlzLmF0dHJVcChwYXJhbS5yb3csIHBhcmFtLmluZGV4KTsNCiAgICAgICAgICBicmVhazsNCiAgICAgICAgY2FzZSAnZG93bic6DQogICAgICAgICAgdGhpcy5hdHRyRG93bihwYXJhbS5yb3csIHBhcmFtLmluZGV4KTsNCiAgICAgICAgICBicmVhazsNCiAgICAgICAgZGVmYXVsdDoNCiAgICAgICAgICBicmVhazsNCiAgICAgIH0NCiAgICB9LA0KDQogICAgYXN5bmMgaXNEZWwocm93LCBpbmRleCkgew0KICAgICAgdHJ5IHsNCiAgICAgICAgY29uc3QgeyBzdGF0ZSwgbWVzc2FnZSB9ID0gYXdhaXQgQVBJLmRlbGV0ZUZpZWxkKHJvdy5pZCk7DQogICAgICAgIGlmIChzdGF0ZSkgew0KICAgICAgICAgIHRoaXMuZm9ybS5hdHRyRGF0YS5zcGxpY2UoaW5kZXgsIDEpOw0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcygn5a2X5q615Yig6Zmk5oiQ5YqfJyk7DQogICAgICAgIH0NCiAgICAgIH0gY2F0Y2ggKGVycikgew0KICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoZXJyIHx8ICfmk43kvZzlpLHotKUnKTsNCiAgICAgIH0gZmluYWxseSB7DQogICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOw0KICAgICAgfQ0KICAgIH0sDQoNCiAgICAvLyDliKDpmaTlrZfmrrUNCiAgICBkZWxldGVBdHRyUm93cyhyb3csIGluZGV4KSB7DQogICAgICBpZiAodGhpcy5wdWJsaXNoZWQgJiYgcm93LmlkKSB7DQogICAgICAgIHJldHVybjsNCiAgICAgIH0NCg0KICAgICAgaWYgKHJvdy5pc0luaXRGaWxlZCA9PT0gJ1knKSB7DQogICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygn6K+l5a2X5q615Li65Yid5aeL5a2X5q6177yM5LiN5Y+v5Yig6Zmk77yBJyk7DQogICAgICAgIHJldHVybjsNCiAgICAgIH0NCg0KICAgICAgdGhpcy4kY29uZmlybShg5q2k5pON5L2c5bCG5Yig6Zmk5a2X5q6177yIJHtyb3cubmFtZX3vvIksIOaYr+WQpue7p+e7rT9gLCAn5o+Q56S6Jywgew0KICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ+ehruWumicsDQogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICflj5bmtognLA0KICAgICAgICB0eXBlOiAnd2FybmluZycsDQogICAgICB9KQ0KICAgICAgICAudGhlbihhc3luYyAoKSA9PiB7DQogICAgICAgICAgaWYgKHJvdy5pZCkgew0KICAgICAgICAgICAgdGhpcy5pc0RlbChyb3csIGluZGV4KTsNCiAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgdGhpcy5mb3JtLmF0dHJEYXRhLnNwbGljZShpbmRleCwgMSk7DQogICAgICAgICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MoJ+Wtl+auteWIoOmZpOaIkOWKnycpOw0KICAgICAgICAgIH0NCiAgICAgICAgfSkNCiAgICAgICAgLmNhdGNoKCgpID0+IHt9KTsNCiAgICB9LA0KDQogICAgYXR0clVwKHJvdywgaW5kZXgpIHsNCiAgICAgIGlmICh0aGlzLnB1Ymxpc2hlZCAmJiByb3cuaWQpIHsNCiAgICAgICAgcmV0dXJuOw0KICAgICAgfQ0KDQogICAgICB0aGlzLmZvcm0uYXR0ckRhdGFbaW5kZXhdLmluZGV4ID0gdGhpcy5mb3JtLmF0dHJEYXRhW2luZGV4XS5pbmRleCAtIDE7DQogICAgICB0aGlzLmZvcm0uYXR0ckRhdGFbaW5kZXggLSAxXS5pbmRleCA9IHRoaXMuZm9ybS5hdHRyRGF0YVtpbmRleCAtIDFdLmluZGV4ICsgMTsNCiAgICAgIHRoaXMuZm9ybS5hdHRyRGF0YSA9IHV0aWxzLmFycmF5TW92ZSh0aGlzLmZvcm0uYXR0ckRhdGEsIHJvdywgJ3VwJyk7DQogICAgfSwNCiAgICBhdHRyRG93bihyb3csIGluZGV4KSB7DQogICAgICBpZiAodGhpcy5wdWJsaXNoZWQgJiYgcm93LmlkKSB7DQogICAgICAgIHJldHVybjsNCiAgICAgIH0NCg0KICAgICAgdGhpcy5mb3JtLmF0dHJEYXRhW2luZGV4XS5pbmRleCA9IHRoaXMuZm9ybS5hdHRyRGF0YVtpbmRleF0uaW5kZXggKyAxOw0KICAgICAgdGhpcy5mb3JtLmF0dHJEYXRhW2luZGV4ICsgMV0uaW5kZXggPSB0aGlzLmZvcm0uYXR0ckRhdGFbaW5kZXggKyAxXS5pbmRleCAtIDE7DQogICAgICB0aGlzLmZvcm0uYXR0ckRhdGEgPSB1dGlscy5hcnJheU1vdmUodGhpcy5mb3JtLmF0dHJEYXRhLCByb3csICdkb3duJyk7DQogICAgfSwNCg0KICAgIG9uQ2FuY2VsKCkgew0KICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7DQogICAgfSwNCiAgICBvbkNvbmZpcm0oKSB7DQogICAgICB0aGlzLiRyZWZzLmZvcm0udmFsaWRhdGUoYXN5bmMgKHZhbGlkLCBvYmplY3QpID0+IHsNCiAgICAgICAgaWYgKHZhbGlkKSB7DQogICAgICAgICAgY29uc29sZS5sb2codGhpcy5mb3JtLmF0dHJEYXRhKTsNCiAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgY29uc3QgeyBzdGF0ZSwgbWVzc2FnZSB9ID0gYXdhaXQgQVBJLnNhdmVGaWVsZHModGhpcy5mb3JtLmF0dHJEYXRhKTsNCiAgICAgICAgICAgIGlmIChzdGF0ZSkgew0KICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MoJ+Wtl+auteS/neWtmOaIkOWKnycpOw0KICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdjb25maXJtJyk7DQogICAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKG1lc3NhZ2UgfHwgJ+aTjeS9nOWksei0pScpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0gY2F0Y2ggKGVycikgew0KICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKGVyciB8fCAn5pON5L2c5aSx6LSlJyk7DQogICAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOw0KICAgICAgICAgIH0NCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoYOaciSR7T2JqZWN0LmtleXMob2JqZWN0KS5sZW5ndGh95Liq5a2X5q615pyq6YCa6L+H5qCh6aqM77yM6K+35q2j56Gu5aGr5YaZ6KGo5Y2V44CCYCk7DQogICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7DQogICAgICAgIH0NCiAgICAgIH0pOw0KICAgIH0sDQogICAgZG93bmxvYWQoKSB7DQogICAgICBjb25zdCBmaWxlVHlwZTIgPSAn5pWw5o2u5piO57uG5bGC5Yqo5oCB6KGo5a2X5q615riF5Y2VLnhsc3gnOw0KICAgICAgY29uc3QgZmlsZVR5cGUxID0gJ+aVsOaNruaYjue7huWxgueJqeeQhuihqOWtl+autea4heWNlS54bHN4JzsNCiAgICAgIGxldCBmaWxlVHlwZTsNCg0KICAgICAgaWYgKHRoaXMudGFiZWxEYXRhLnRhYmxlQ2xhc3MgPT09ICcxJykgew0KICAgICAgICBmaWxlVHlwZSA9IGZpbGVUeXBlMTsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIGZpbGVUeXBlID0gZmlsZVR5cGUyOw0KICAgICAgfQ0KICAgICAgdmFyIGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7DQogICAgICBhLmhyZWYgPSB3aW5kb3cuY29udGV4dC5kb3dubG9hZCArIGZpbGVUeXBlOw0KICAgICAgYS5kb3dubG9hZCA9IGZpbGVUeXBlOyAvLyDorr7nva7kuIvovb3mlofku7bmlofku7blkI0NCiAgICAgIGEuc3R5bGUuZGlzcGxheSA9ICdub25lJzsNCiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSk7DQogICAgICBhLmNsaWNrKCk7DQogICAgICBhLnJlbW92ZSgpOw0KICAgIH0sDQogICAgLy8gIOWvvOWFpeaWh+S7tuS4iuS8oOWJjQ0KICAgIGJlZm9yZVVwbG9hZChmaWxlKSB7DQogICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gew0KICAgICAgICB0aGlzLnVwbG9hZExvYWRpbmcgPSB0cnVlOw0KICAgICAgICBjb25zdCB7IHNpemUsIG5hbWUgfSA9IGZpbGU7DQogICAgICAgIHRoaXMuJGNvbmZpcm0oYOivt+ehruiupOaYr+WQpuWvvOWFpSDigJwke25hbWV94oCdIO+8n2AsICfmj5DnpLonLCB7DQogICAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICfnoa7orqQnLA0KICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICflj5bmtognLA0KICAgICAgICAgIHR5cGU6ICd3YXJuaW5nJywNCiAgICAgICAgfSkNCiAgICAgICAgICAudGhlbigoXykgPT4gew0KICAgICAgICAgICAgbGV0IHBhc3NlZE9yTm90ID0gdHJ1ZTsgLy8g5piv5ZCm6YCa6L+H6aqM6K+BDQogICAgICAgICAgICBjb25zdCB0eXBlUmVndWxhciA9IC9cLih4bHN8eGxzeCkkL2k7DQogICAgICAgICAgICBjb25zdCB2ZXJpZmljYXRpb24gPSBbDQogICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBjb25kaXRpb246ICF0eXBlUmVndWxhci50ZXN0KG5hbWUpLA0KICAgICAgICAgICAgICAgIHJlc3VsdDogKCkgPT4gdGhpcy4kbWVzc2FnZS5lcnJvcign5Y+q6IO95LiK5LygeGxz5oiWeGxzeOaWh+S7tuexu+WeiycpLA0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgXTsNCiAgICAgICAgICAgIHZlcmlmaWNhdGlvbi5mb3JFYWNoKChpdGVtKSA9PiB7DQogICAgICAgICAgICAgIGlmIChpdGVtLmNvbmRpdGlvbikgew0KICAgICAgICAgICAgICAgIGl0ZW0ucmVzdWx0KCk7DQogICAgICAgICAgICAgICAgcGFzc2VkT3JOb3QgPSBmYWxzZTsNCiAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZExvYWRpbmcgPSBmYWxzZTsNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHBhc3NlZE9yTm90ID8gcmVzb2x2ZSgpIDogcmVqZWN0KCk7DQogICAgICAgICAgfSkNCiAgICAgICAgICAuY2F0Y2goKF8pID0+IHsNCiAgICAgICAgICAgIHJlamVjdCgpOw0KICAgICAgICAgICAgdGhpcy51cGxvYWRMb2FkaW5nID0gZmFsc2U7DQogICAgICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoJ+W3suWPlua2iOS4iuS8oCcpOw0KICAgICAgICAgIH0pOw0KICAgICAgfSk7DQogICAgfSwNCg0KICAgIC8vIOWvvOWFpeaWh+S7tuS4iuS8oOaIkOWKnw0KICAgIGFzeW5jIGhhbmRsZVN1Y2Nlc3MocmVzKSB7DQogICAgICBpZiAocmVzLnN0YXRlKSB7DQogICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcygn5a+85YWl5oiQ5YqfJyk7DQogICAgICAgIHRoaXMudXBsb2FkTG9hZGluZyA9IGZhbHNlOw0KICAgICAgICBhd2FpdCB0aGlzLmdldEZpZWxkc0J5VGFibGUoKTsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLm1lc3NhZ2UpOw0KICAgICAgfQ0KICAgIH0sDQoNCiAgICAvLyDlr7zlhaXmlofku7bkuIrkvKDlpLHotKUNCiAgICBoYW5kbGVFcnJvcihlcnIpIHsNCiAgICAgIGlmIChlcnIpIHsNCiAgICAgICAgbGV0IGVyckRhdGEgPSBlcnIudG9TdHJpbmcoKS5yZXBsYWNlKCdFcnJvcjonLCAnJyk7DQogICAgICAgIGVyckRhdGEgPSBKU09OLnBhcnNlKGVyckRhdGEpOw0KICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKGVyckRhdGEubWVzc2FnZSB8fCAn5a+85YWl5aSx6LSl77yM6K+36YeN6K+VJyk7DQogICAgICB9IGVsc2Ugew0KICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKCflr7zlhaXlpLHotKXvvIzor7fph43or5UnKTsNCiAgICAgIH0NCiAgICAgIHRoaXMudXBsb2FkTG9hZGluZyA9IGZhbHNlOw0KICAgIH0sDQogIH0sDQp9Ow0K"},null]}