{"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-babel\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\dataShare-fvue\\src\\views\\dataResource\\dataCollect\\changeDataSource\\Source.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\src\\views\\dataResource\\dataCollect\\changeDataSource\\Source.vue","mtime":1737140141038},{"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},{"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-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:aW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvZGF0YVNoYXJlLWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3JlZ2VuZXJhdG9yUnVudGltZS5qcyI7CmltcG9ydCBfYXN5bmNUb0dlbmVyYXRvciBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS9kYXRhU2hhcmUtZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXN5bmNUb0dlbmVyYXRvci5qcyI7CmltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gIkQ6L2plbmtpbnMvd29ya3NwYWNlL2RhdGFTaGFyZS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuY29uY2F0LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmlsdGVyLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmluZC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbmQtaW5kZXguanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5pbmNsdWRlcy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zcGxpY2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5maWx0ZXIuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5maW5kLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IuZm9yLWVhY2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5qc29uLnN0cmluZ2lmeS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5rZXlzLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5leGVjLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnJlcGxhY2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIjsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCBkaWFsb2dNaXhpbiBmcm9tICdAL21peGlucy9kaWFsb2cuanMnOwppbXBvcnQgQVBJIGZyb20gJ0AvYXBpL2J1c2luZXNzL2NoYW5nZURhdGFTb3VyY2UnOwppbXBvcnQgRElDVCBmcm9tICdAL3V0aWxzL2RpY3QnOwppbXBvcnQgeyBnZXQgfSBmcm9tICdsb2Rhc2gnOwpleHBvcnQgZGVmYXVsdCB7CiAgbWl4aW5zOiBbZGlhbG9nTWl4aW5dLAogIHByb3BzOiB7CiAgICBzeXNEYXRhU291cmNlOiB7CiAgICAgIHR5cGU6IEFycmF5LAogICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHsKICAgICAgICByZXR1cm4gW107CiAgICAgIH0KICAgIH0sCiAgICBkYXRhOiB7CiAgICAgIHR5cGU6IE9iamVjdCwKICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7CiAgICAgICAgcmV0dXJuIHt9OwogICAgICB9CiAgICB9CiAgfSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgRElDVDogRElDVCwKICAgICAgc291cmNlUHJvcDogewogICAgICAgIG5hbWU6ICcnLAogICAgICAgIGFsaWFzOiAnJywKICAgICAgICBzZXR0aW5nSnNvbjogW10sCiAgICAgICAgZW5hYmxlZDogZmFsc2UsCiAgICAgICAgZGJUeXBlOiAnTXlzcWwnLAogICAgICAgIGRhdGFzb3VyY2VzVHlwZTogMSwKICAgICAgICB1cmw6ICcnLAogICAgICAgIGRyaXZlckNsYXNzOiAnJywKICAgICAgICB2YWxpZGF0aW9uUXVlcnk6ICcnLAogICAgICAgIHVzZXJuYW1lOiAnJywKICAgICAgICBwYXNzd29yZDogJycKICAgICAgfSwKICAgICAgaXNFbmNyeXB0OiAwLAogICAgICByb3dNYXBBcnI6IFtdLAogICAgICBuZXdTb3VyY2VQcm9wOiB7fSwKICAgICAgaXNTdWJtaXQ6IGZhbHNlLAogICAgICBkYXRhU291cmNlRGlzYWJsZWQ6IGZhbHNlLAogICAgICBzdWJtaXRMb2FkaW5nOiBmYWxzZSwKICAgICAgaXA6ICd7aXB9JywKICAgICAgcG9ydDogJ3twb3J0fScsCiAgICAgIGluc3RhbmNlOiAne2luc3RhbmNlfScsCiAgICAgIGN1cnJlbnREYXRhOiBudWxsCiAgICB9OwogIH0sCiAgbWV0aG9kczogewogICAgaW5pdERhdGE6IGZ1bmN0aW9uIGluaXREYXRhKGRhdGEpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKICAgICAgdGhpcy5jdXJyZW50RGF0YSA9IGRhdGE7CiAgICAgIHZhciBzZXR0aW5nSnNvbiA9ICcnOwogICAgICBpZiAoZGF0YSkgewogICAgICAgIHRoaXMuc291cmNlUHJvcCA9IF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgdGhpcy5zb3VyY2VQcm9wKSwgZGF0YSk7CiAgICAgICAgc2V0dGluZ0pzb24gPSBkYXRhID09PSBudWxsIHx8IGRhdGEgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGRhdGEuc2V0dGluZ0pzb247CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdmFyIF90aGlzJHN5c0RhdGFTb3VyY2UkOwogICAgICAgIHRoaXMuc291cmNlUHJvcCA9IHRoaXMuJG9wdGlvbnMuZGF0YSgpLnNvdXJjZVByb3A7CiAgICAgICAgc2V0dGluZ0pzb24gPSAoX3RoaXMkc3lzRGF0YVNvdXJjZSQgPSB0aGlzLnN5c0RhdGFTb3VyY2VbMF0pID09PSBudWxsIHx8IF90aGlzJHN5c0RhdGFTb3VyY2UkID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfdGhpcyRzeXNEYXRhU291cmNlJC5zZXR0aW5nSnNvbjsKICAgICAgfQogICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXMuJHJlZnMuZm9ybS5jbGVhclZhbGlkYXRlKCk7CiAgICAgIH0pOwogICAgICB0aGlzLnNldHRpbmdTZWwoc2V0dGluZ0pzb24pOwogICAgfSwKICAgIG9uU2V0dGluZ0NoYW5nZTogZnVuY3Rpb24gb25TZXR0aW5nQ2hhbmdlKHYsIGl0ZW0pIHsKICAgICAgdGhpcy5zb3VyY2VQcm9wW2l0ZW0ubmFtZV0gPSB2OwogICAgICBjb25zb2xlLmxvZyh0aGlzLnNvdXJjZVByb3ApOwogICAgfSwKICAgIGVuY3J5cHQ6IGZ1bmN0aW9uIGVuY3J5cHQoaXRlbSkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKICAgICAgaWYgKHRoaXMuaXNFbmNyeXB0ID09PSAxKSB7CiAgICAgICAgaWYgKCFpdGVtLnZhbHVlKSB7CiAgICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoJ+ivt+i+k+WFpeWvhueggSEnKTsKICAgICAgICAgIHRoaXMuaXNFbmNyeXB0ID0gMDsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdGhpcy4kaHR0cC5wb3N0KCIiLmNvbmNhdCh3aW5kb3cuY29udGV4dC5wb3J0YWwsICIvYmFzZS90b29scy92MS9lbmNyeXB0RGJQYXNzd29yZCIpLCB7CiAgICAgICAgICBwYXNzd29yZDogaXRlbS52YWx1ZQogICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgaWYgKCFyZXMuZGF0YS5zdGF0ZSkgewogICAgICAgICAgICBfdGhpczIuJG1lc3NhZ2UuZXJyb3IoJ+WKoOWvhuWksei0pScpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgICBpdGVtLnZhbHVlID0gcmVzLmRhdGEudmFsdWUucGFzc3dvcmQ7CiAgICAgICAgICB2YXIgcHVibGljS2V5ID0gewogICAgICAgICAgICBuYW1lOiAnY29ubmVjdGlvblByb3BlcnRpZXMnLAogICAgICAgICAgICBjb21tZW50OiAn5YWs6ZKlJywKICAgICAgICAgICAgdHlwZTogJ2phdmEubGFuZy5TdHJpbmcnLAogICAgICAgICAgICBiYXNlQXR0cjogJzEnLAogICAgICAgICAgICBkZWZhdWx0OiAnJywKICAgICAgICAgICAgdmFsdWU6ICJjb25maWcuZGVjcnlwdD10cnVlO2NvbmZpZy5kZWNyeXB0LmtleT0iLmNvbmNhdChyZXMuZGF0YS52YWx1ZS5wdWJsaWNLZXkpCiAgICAgICAgICB9OwogICAgICAgICAgX3RoaXMyLnNvdXJjZVByb3Auc2V0dGluZ0pzb24uc3BsaWNlKF90aGlzMi5zb3VyY2VQcm9wLnNldHRpbmdKc29uLmZpbmRJbmRleChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICByZXR1cm4gaXRlbS5uYW1lID09PSAnY29ubmVjdGlvblByb3BlcnRpZXMnOwogICAgICAgICAgfSksIDEpOwogICAgICAgICAgX3RoaXMyLnNvdXJjZVByb3Auc2V0dGluZ0pzb24uc3BsaWNlKF90aGlzMi5zb3VyY2VQcm9wLnNldHRpbmdKc29uLmZpbmRJbmRleChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICByZXR1cm4gaXRlbS5uYW1lID09PSAncGFzc3dvcmQnOwogICAgICAgICAgfSkgKyAxLCAwLCBwdWJsaWNLZXkpOwogICAgICAgIH0pOwogICAgICB9IGVsc2UgewogICAgICAgIGl0ZW0udmFsdWUgPSAnJzsKICAgICAgICB2YXIgaW5kZXggPSB0aGlzLnNvdXJjZVByb3Auc2V0dGluZ0pzb24uZmluZEluZGV4KGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICByZXR1cm4gaXRlbS5uYW1lID09PSAnY29ubmVjdGlvblByb3BlcnRpZXMnOwogICAgICAgIH0pOwogICAgICAgIGlmIChpbmRleCA+IDApIHsKICAgICAgICAgIHRoaXMuc291cmNlUHJvcC5zZXR0aW5nSnNvbi5zcGxpY2UoaW5kZXgsIDEpOwogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgIGNoYW5nZURlZmF1bHQ6IGZ1bmN0aW9uIGNoYW5nZURlZmF1bHQodHlwZSkgewogICAgICBpZiAodGhpc1t0eXBlXSkgewogICAgICAgIHRoaXMuY3VycmVudFNlbCh0aGlzLnNvdXJjZVByb3AuZGJUeXBlKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzW3R5cGVdID0gJ3snICsgdHlwZSArICd9JzsKICAgICAgICB0aGlzLmN1cnJlbnRTZWwodGhpcy5zb3VyY2VQcm9wLmRiVHlwZSk7CiAgICAgIH0KICAgIH0sCiAgICBjdXJyZW50U2VsOiBmdW5jdGlvbiBjdXJyZW50U2VsKHZhbCkgewogICAgICB2YXIgZCA9IERJQ1QuREJfVFlQRV9MSVNULmZpbmQoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICByZXR1cm4gaXRlbS52YWx1ZSA9PT0gdmFsOwogICAgICB9KTsKICAgICAgaWYgKCFkKSByZXR1cm47CiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdGhpcy5zb3VyY2VQcm9wLnNldHRpbmdKc29uLmxlbmd0aDsgaisrKSB7CiAgICAgICAgdmFyIGF0dHIgPSB0aGlzLnNvdXJjZVByb3Auc2V0dGluZ0pzb25bal07CiAgICAgICAgaWYgKGF0dHIubmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ3VybCcpID4gLTEpIHsKICAgICAgICAgIGF0dHIudmFsdWUgPSB0aGlzLmZvcm1hdFVSTCh2YWwsIGQudXJsKTsKICAgICAgICAgIHRoaXMuc291cmNlUHJvcC51cmwgPSB0aGlzLmZvcm1hdFVSTCh2YWwsIGQudXJsKTsKICAgICAgICB9IGVsc2UgaWYgKGF0dHIubmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ2RyaXZlcicpID4gLTEpIHsKICAgICAgICAgIGF0dHIudmFsdWUgPSBkID09PSBudWxsIHx8IGQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGQuZHJpdmVyTmFtZTsKICAgICAgICAgIHRoaXMuc291cmNlUHJvcC5kcml2ZXJDbGFzcyA9IGQgPT09IG51bGwgfHwgZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZC5kcml2ZXJOYW1lOwogICAgICAgIH0gZWxzZSBpZiAoYXR0ci5uYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigndmFsaWRhdGlvbnF1ZXJ5JykgPiAtMSkgewogICAgICAgICAgYXR0ci52YWx1ZSA9IGQgPT09IG51bGwgfHwgZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZC52YWxpZGF0aW9ucXVlcnk7CiAgICAgICAgICB0aGlzLnNvdXJjZVByb3AudmFsaWRhdGlvblF1ZXJ5ID0gZCA9PT0gbnVsbCB8fCBkID09PSB2b2lkIDAgPyB2b2lkIDAgOiBkLnZhbGlkYXRpb25xdWVyeTsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICBmb3JtYXRVUkw6IGZ1bmN0aW9uIGZvcm1hdFVSTCh0eXBlKSB7CiAgICAgIHZhciBuZXdVUkwgPSAnJzsKICAgICAgaWYgKHR5cGUgPT09ICdNeXNxbCcpIHsKICAgICAgICBuZXdVUkwgPSAiamRiYzpteXNxbDovLyIuY29uY2F0KHRoaXMuaXAsICI6IikuY29uY2F0KHRoaXMucG9ydCwgIi8iKS5jb25jYXQodGhpcy5pbnN0YW5jZSwgIj91c2VVbmljb2RlPXRydWUmY2hhcmFjdGVyRW5jb2Rpbmc9VVRGLTgmc2VydmVyVGltZXpvbmU9QXNpYS9TaGFuZ2hhaSZ6ZXJvRGF0ZVRpbWVCZWhhdmlvcj1jb252ZXJ0VG9OdWxsIik7CiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ09yYWNsZScpIHsKICAgICAgICBuZXdVUkwgPSAiamRiYzpvcmFjbGU6dGhpbjpAIi5jb25jYXQodGhpcy5pcCwgIjoiKS5jb25jYXQodGhpcy5wb3J0LCAiOiIpLmNvbmNhdCh0aGlzLmluc3RhbmNlKTsKICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnU3FsU2VydmVyJykgewogICAgICAgIG5ld1VSTCA9ICJqZGJjOnNxbHNlcnZlcjovLyIuY29uY2F0KHRoaXMuaXAsICI6IikuY29uY2F0KHRoaXMucG9ydCwgIjtkYXRhYmFzZU5hbWU9IikuY29uY2F0KHRoaXMuaW5zdGFuY2UpOwogICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdQb3N0Z3JlU3FsJykgewogICAgICAgIG5ld1VSTCA9ICJqZGJjOnBvc3RncmVzcWw6Ly8iLmNvbmNhdCh0aGlzLmlwLCAiOiIpLmNvbmNhdCh0aGlzLnBvcnQsICIvIikuY29uY2F0KHRoaXMuaW5zdGFuY2UpOwogICAgICB9CiAgICAgIHJldHVybiBuZXdVUkw7CiAgICB9LAogICAgc2V0dGluZ1NlbDogZnVuY3Rpb24gc2V0dGluZ1NlbChzZXR0aW5nSnNvbikgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgaWYgKHNldHRpbmdKc29uKSB7CiAgICAgICAgdmFyIHNldHRpbmdKc29uXyA9IEpTT04ucGFyc2Uoc2V0dGluZ0pzb24ucmVwbGFjZSgvW1xcXS9nLCAnJykpOwogICAgICAgIGlmICh0aGlzLmN1cnJlbnREYXRhKSB7CiAgICAgICAgICB0aGlzLmdldERlZmF1bHREYXRhKHNldHRpbmdKc29uXyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRoaXMuaXAgPSAne2lwfSc7CiAgICAgICAgICB0aGlzLnBvcnQgPSAne3BvcnR9JzsKICAgICAgICAgIHRoaXMuaW5zdGFuY2UgPSAne2luc3RhbmNlfSc7CiAgICAgICAgfQoKICAgICAgICAvLyDmlLnlj5jkuobmlbDmja7msaBpZO+8jOmCo+S5iOmcgOimgei+k+WFpeeahOWxnuaAp+S5n+WPmOS6hgogICAgICAgIHZhciBkZWYgPSB0aGlzLnN5c0RhdGFTb3VyY2VbMF07CiAgICAgICAgdGhpcy5zb3VyY2VQcm9wLmNsYXNzUGF0aCA9IGRlZi5jbGFzc1BhdGg7CiAgICAgICAgdGhpcy5zb3VyY2VQcm9wLmluaXRNZXRob2QgPSBkZWYuaW5pdE1ldGhvZDsKICAgICAgICB0aGlzLnNvdXJjZVByb3AuY2xvc2VNZXRob2QgPSBkZWYuY2xvc2VNZXRob2Q7CiAgICAgICAgLy8g5aSE55CG6YWN572u55qE5Yid5aeL5YyW5YC8CiAgICAgICAgdGhpcy5zb3VyY2VQcm9wLnNldHRpbmdKc29uID0gW107CiAgICAgICAgc2V0dGluZ0pzb25fLmZvckVhY2goZnVuY3Rpb24gKG9iaikgewogICAgICAgICAgb2JqLnZhbHVlID0gb2JqLnZhbHVlIHx8IG9ialsnZGVmYXVsdCddOwogICAgICAgICAgX3RoaXMzLnNvdXJjZVByb3Auc2V0dGluZ0pzb24ucHVzaChvYmopOwogICAgICAgIH0pOwoKICAgICAgICAvLyDpgInmi6nkuobmlbDmja7mupDnsbvlnosg5bCx5pu/5o2i5pWw5o2u5rqQ5Lit55qE6L+e5o6l5Zyw5Z2A5ZKM6amx5YqoCiAgICAgICAgdGhpcy5jdXJyZW50U2VsKHRoaXMuc291cmNlUHJvcC5kYlR5cGUpOwoKICAgICAgICAvLyDmlbDmja7mupDphY3nva7liKvlkI3ot5/ov5nph4znmoTliKvlkI3kuIDoh7QKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuc291cmNlUHJvcC5zZXR0aW5nSnNvbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgdmFyIGF0dHIgPSB0aGlzLnNvdXJjZVByb3Auc2V0dGluZ0pzb25baV07CiAgICAgICAgICBpZiAoYXR0ci5uYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZignYWxpYXMnKSA+IC0xKSB7CiAgICAgICAgICAgIGF0dHIudmFsdWUgPSBhdHRyLmFsaWFzOwogICAgICAgICAgfQogICAgICAgICAgaWYgKFsndXNlcm5hbWUnLCAncGFzc3dvcmQnXS5pbmNsdWRlcyhhdHRyLm5hbWUudG9Mb3dlckNhc2UoKSkpIHsKICAgICAgICAgICAgdGhpcy5zb3VyY2VQcm9wW2F0dHIubmFtZV0gPSBhdHRyLnZhbHVlOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgIGdldERlZmF1bHREYXRhOiBmdW5jdGlvbiBnZXREZWZhdWx0RGF0YShzZXR0aW5nSnNvbikgewogICAgICBpZiAoc2V0dGluZ0pzb24pIHsKICAgICAgICB2YXIgdGFyZ2V0ID0gc2V0dGluZ0pzb24uZmlsdGVyKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICByZXR1cm4gaXRlbS5uYW1lID09PSAndXJsJzsKICAgICAgICB9KTsKICAgICAgICBpZiAodGFyZ2V0KSB7CiAgICAgICAgICB2YXIgdXJsID0gdGFyZ2V0WzBdLnZhbHVlOwogICAgICAgICAgdmFyIF90aGlzJGFuYWx5c2lzVVJMID0gdGhpcy5hbmFseXNpc1VSTCh1cmwpLAogICAgICAgICAgICBfdGhpcyRhbmFseXNpc1VSTCRpcCA9IF90aGlzJGFuYWx5c2lzVVJMLmlwLAogICAgICAgICAgICBpcCA9IF90aGlzJGFuYWx5c2lzVVJMJGlwID09PSB2b2lkIDAgPyAnJHtpcH0nIDogX3RoaXMkYW5hbHlzaXNVUkwkaXAsCiAgICAgICAgICAgIF90aGlzJGFuYWx5c2lzVVJMJHBvciA9IF90aGlzJGFuYWx5c2lzVVJMLnBvcnQsCiAgICAgICAgICAgIHBvcnQgPSBfdGhpcyRhbmFseXNpc1VSTCRwb3IgPT09IHZvaWQgMCA/ICcke3BvcnR9JyA6IF90aGlzJGFuYWx5c2lzVVJMJHBvciwKICAgICAgICAgICAgX3RoaXMkYW5hbHlzaXNVUkwkaW5zID0gX3RoaXMkYW5hbHlzaXNVUkwuaW5zdGFuY2UsCiAgICAgICAgICAgIGluc3RhbmNlID0gX3RoaXMkYW5hbHlzaXNVUkwkaW5zID09PSB2b2lkIDAgPyAnJHtpbnN0YW5jZX0nIDogX3RoaXMkYW5hbHlzaXNVUkwkaW5zOwogICAgICAgICAgdGhpcy5pcCA9IGlwOwogICAgICAgICAgdGhpcy5wb3J0ID0gcG9ydDsKICAgICAgICAgIHRoaXMuaW5zdGFuY2UgPSBpbnN0YW5jZTsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICBhbmFseXNpc1VSTDogZnVuY3Rpb24gYW5hbHlzaXNVUkwodXJsKSB7CiAgICAgIHZhciByZXM7CiAgICAgIHN3aXRjaCAodGhpcy5jdXJyZW50RGF0YS5kYlR5cGUpIHsKICAgICAgICBjYXNlICdNeXNxbCc6CiAgICAgICAgICByZXMgPSB0aGlzLmFuYWx5c2lzTXlzcWwodXJsKTsKICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgJ09yYWNsZSc6CiAgICAgICAgICByZXMgPSB0aGlzLmFuYWx5c2lzT3JhY2xlKHVybCk7CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlICdTcWxTZXJ2ZXInOgogICAgICAgICAgcmVzID0gdGhpcy5hbmFseXNpc1NxbFNlcnZlcih1cmwpOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAnUG9zdGdyZVNxbCc6CiAgICAgICAgICByZXMgPSB0aGlzLmFuYWx5c2lzUG9zdGdyZVNxbCh1cmwpOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIHJldHVybiByZXM7CiAgICB9LAogICAgYW5hbHlzaXNNeXNxbDogZnVuY3Rpb24gYW5hbHlzaXNNeXNxbCh1cmwpIHsKICAgICAgdmFyIGlwLCBwb3J0LCBpbnN0YW5jZTsKICAgICAgdmFyIGEgPSB1cmwuc3BsaXQoJy8vJylbMV0uc3BsaXQoJz8nKVswXTsKICAgICAgaXAgPSBhLnNwbGl0KCc6JylbMF0gfHwgJyR7aXB9JzsKICAgICAgcG9ydCA9IGEuc3BsaXQoJzonKVsxXS5zcGxpdCgnLycpWzBdIHx8ICcke3BvcnR9JzsKICAgICAgaW5zdGFuY2UgPSBhLnNwbGl0KCc6JylbMV0uc3BsaXQoJy8nKVsxXSB8fCAnJHtpbnN0YW5jZX0nOwogICAgICByZXR1cm4gewogICAgICAgIGlwOiBpcCwKICAgICAgICBwb3J0OiBwb3J0LAogICAgICAgIGluc3RhbmNlOiBpbnN0YW5jZQogICAgICB9OwogICAgfSwKICAgIGFuYWx5c2lzT3JhY2xlOiBmdW5jdGlvbiBhbmFseXNpc09yYWNsZSh1cmwpIHsKICAgICAgdmFyIGlwLCBwb3J0LCBpbnN0YW5jZTsKICAgICAgdmFyIGEgPSB1cmwuc3BsaXQoJ0AnKVsxXTsKICAgICAgaXAgPSBhLnNwbGl0KCc6JylbMF0gfHwgJyR7aXB9JzsKICAgICAgcG9ydCA9IGEuc3BsaXQoJzonKVsxXSB8fCAnJHtwb3J0fSc7CiAgICAgIGluc3RhbmNlID0gYS5zcGxpdCgnOicpWzJdIHx8ICcke2luc3RhbmNlfSc7CiAgICAgIHJldHVybiB7CiAgICAgICAgaXA6IGlwLAogICAgICAgIHBvcnQ6IHBvcnQsCiAgICAgICAgaW5zdGFuY2U6IGluc3RhbmNlCiAgICAgIH07CiAgICB9LAogICAgYW5hbHlzaXNTcWxTZXJ2ZXI6IGZ1bmN0aW9uIGFuYWx5c2lzU3FsU2VydmVyKHVybCkgewogICAgICB2YXIgaXAsIHBvcnQsIGluc3RhbmNlOwogICAgICB2YXIgYSA9IHVybC5zcGxpdCgnLy8nKVsxXS5zcGxpdCgnOycpWzBdOwogICAgICBpcCA9IGEuc3BsaXQoJzonKVswXSB8fCAnJHtpcH0nOwogICAgICBwb3J0ID0gYS5zcGxpdCgnOicpWzFdIHx8ICcke3BvcnR9JzsKICAgICAgaW5zdGFuY2UgPSB1cmwuc3BsaXQoJz0nKVsxXSB8fCAnJHtpbnN0YW5jZX0nOwogICAgICByZXR1cm4gewogICAgICAgIGlwOiBpcCwKICAgICAgICBwb3J0OiBwb3J0LAogICAgICAgIGluc3RhbmNlOiBpbnN0YW5jZQogICAgICB9OwogICAgfSwKICAgIGFuYWx5c2lzUG9zdGdyZVNxbDogZnVuY3Rpb24gYW5hbHlzaXNQb3N0Z3JlU3FsKHVybCkgewogICAgICB2YXIgaXAsIHBvcnQsIGluc3RhbmNlOwogICAgICB2YXIgYSA9IHVybC5zcGxpdCgnLy8nKVsxXTsKICAgICAgaXAgPSBhLnNwbGl0KCc6JylbMF0gfHwgJyR7aXB9JzsKICAgICAgcG9ydCA9IGEuc3BsaXQoJzonKVsxXS5zcGxpdCgnLycpWzBdIHx8ICcke3BvcnR9JzsKICAgICAgaW5zdGFuY2UgPSBhLnNwbGl0KCc6JylbMV0uc3BsaXQoJy8nKVsxXSB8fCAnJHtpbnN0YW5jZX0nOwogICAgICByZXR1cm4gewogICAgICAgIGlwOiBpcCwKICAgICAgICBwb3J0OiBwb3J0LAogICAgICAgIGluc3RhbmNlOiBpbnN0YW5jZQogICAgICB9OwogICAgfSwKICAgIGhhbmRsZVNhdmU6IGZ1bmN0aW9uIGhhbmRsZVNhdmUodHlwZSkgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlMigpIHsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTIkKF9jb250ZXh0MikgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQyLnByZXYgPSBfY29udGV4dDIubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgX3RoaXM0LiRyZWZzLmZvcm0udmFsaWRhdGUoLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHZhciBfcmVmID0gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUodmFsaWQpIHsKICAgICAgICAgICAgICAgICAgdmFyIGNvbmZpZywgY3VyLCBuZXdTb3VyY2VQcm9wLCBfeWllbGQkY3VyJHJlcXVlc3QsIHN0YXRlLCBtZXNzYWdlOwogICAgICAgICAgICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZSQoX2NvbnRleHQpIHsKICAgICAgICAgICAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dC5wcmV2ID0gX2NvbnRleHQubmV4dCkgewogICAgICAgICAgICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXZhbGlkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDIwOwogICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZyA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVjazogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdE1zZzogJ+a1i+ivlemAmui/hycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0OiBBUEkuY2hlY2tDb25uZWN0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0TXNnOiAn5pWw5o2u5rqQ5bey5L+d5a2YJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3Q6IEFQSS5zYXZlU291cmNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgICAgICBjdXIgPSBjb25maWdbdHlwZV07CiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1NvdXJjZVByb3AgPSBfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIF90aGlzNC5zb3VyY2VQcm9wKSwge30sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nSnNvbjogSlNPTi5zdHJpbmdpZnkoX3RoaXM0LnNvdXJjZVByb3Auc2V0dGluZ0pzb24pCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICBfY29udGV4dC5wcmV2ID0gNDsKICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXM0LnN1Ym1pdExvYWRpbmcgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gODsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1ci5yZXF1ZXN0KG5ld1NvdXJjZVByb3ApOwogICAgICAgICAgICAgICAgICAgICAgY2FzZSA4OgogICAgICAgICAgICAgICAgICAgICAgICBfeWllbGQkY3VyJHJlcXVlc3QgPSBfY29udGV4dC5zZW50OwogICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IF95aWVsZCRjdXIkcmVxdWVzdC5zdGF0ZTsKICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IF95aWVsZCRjdXIkcmVxdWVzdC5tZXNzYWdlOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICBfdGhpczQuJG1lc3NhZ2Uuc3VjY2VzcyhtZXNzYWdlIHx8IGN1ci5kZWZhdWx0TXNnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ3NhdmUnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdGhpczQudmlzaWJsZSA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXM0LiRlbWl0KCdvbkNvbmZpcm0nLCBuZXdTb3VyY2VQcm9wKTsKICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDE3OwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTQ6CiAgICAgICAgICAgICAgICAgICAgICAgIF9jb250ZXh0LnByZXYgPSAxNDsKICAgICAgICAgICAgICAgICAgICAgICAgX2NvbnRleHQudDAgPSBfY29udGV4dFsiY2F0Y2giXSg0KTsKICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coX2NvbnRleHQudDApOwogICAgICAgICAgICAgICAgICAgICAgY2FzZSAxNzoKICAgICAgICAgICAgICAgICAgICAgICAgX2NvbnRleHQucHJldiA9IDE3OwogICAgICAgICAgICAgICAgICAgICAgICBfdGhpczQuc3VibWl0TG9hZGluZyA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuZmluaXNoKDE3KTsKICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjA6CiAgICAgICAgICAgICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuc3RvcCgpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwgX2NhbGxlZSwgbnVsbCwgW1s0LCAxNCwgMTcsIDIwXV0pOwogICAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChfeCkgewogICAgICAgICAgICAgICAgICByZXR1cm4gX3JlZi5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICB9KCkpOwogICAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0Mi5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTIpOwogICAgICB9KSkoKTsKICAgIH0KICB9Cn07"},null]}