{"remainingRequest":"D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\tj_zsj_web\\src\\views\\systemDefaultPage\\Ai.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\tj_zsj_web\\src\\views\\systemDefaultPage\\Ai.vue","mtime":1741762627408},{"path":"D:\\jenkins\\workspace\\tj_zsj_web\\babel.config.js","mtime":1741330404271},{"path":"D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvdGpfenNqX3dlYi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vcmVnZW5lcmF0b3JSdW50aW1lLmpzIjsKaW1wb3J0IF9hc3luY1RvR2VuZXJhdG9yIGZyb20gIkQ6L2plbmtpbnMvd29ya3NwYWNlL3RqX3pzal93ZWIvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2FzeW5jVG9HZW5lcmF0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5lcnJvci5jYXVzZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmNvbmNhdC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuanNvbi5zdHJpbmdpZnkuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAuZXhlYy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC50ZXN0LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnBhZC1zdGFydC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5yZXBsYWNlLmpzIjsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7CmltcG9ydCBTdXBlckRpYWxvZyBmcm9tICdAL2NvbXBvbmVudHMvU3VwZXJEaWFsb2cvaW5kZXgudnVlJzsKd2luZG93LmFpQWRyZXNzID0gJ2h0dHA6Ly8xODMuNjQuMTc1LjE1MzozNTA2Myc7CndpbmRvdy5haVRva2VuID0gJ3JhZ2Zsb3ctSXdabUl6Wm1Zd1pqUmxZekV4WldZNE5UVmtNREkwTW0nOwpleHBvcnQgZGVmYXVsdCB7CiAgY29tcG9uZW50czogewogICAgU3VwZXJEaWFsb2c6IFN1cGVyRGlhbG9nCiAgfSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgaW5wdXRNZXNzYWdlOiAnJywKICAgICAgdG9Mb2FkSW5nOiBmYWxzZSwKICAgICAgaXNVbmZvbGQ6IGZhbHNlLAogICAgICBjaGF0SGlzdG9yeTogW10sCiAgICAgIHNob3dBY3RpY2U6ICcnLAogICAgICBjaGF0SWQ6ICcnLAogICAgICBzZXNzaW9uX2lkOiAnJywKICAgICAgbmFtZTogJycsCiAgICAgIGN1cnJlbnRDaGF0OiBbXSwKICAgICAgaXNUZXhhcmVhOiBmYWxzZSwKICAgICAgZGlhbG9nRm9ybVZpc2libGU6IGZhbHNlLAogICAgICBmb3JtOiB7CiAgICAgICAgbmFtZTogJycKICAgICAgfSwKICAgICAgcnVsZXM6IHsKICAgICAgICBuYW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl5rS75Yqo5ZCN56ewJywKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH1dCiAgICAgIH0KICAgIH07CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgdGhpcy5jaGF0QXNzaXN0YW50KCk7CiAgfSwKICBtZXRob2RzOiB7CiAgICAvLyDojrflj5bogYrlpKnliqnmiYsKICAgIGNoYXRBc3Npc3RhbnQ6IGZ1bmN0aW9uIGNoYXRBc3Npc3RhbnQoKSB7CiAgICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICAgIGF4aW9zLmdldCgiIi5jb25jYXQod2luZG93LmFpQWRyZXNzLCAiL2FwaS92MS9jaGF0cyIpLCB7CiAgICAgICAgaGVhZGVyczogewogICAgICAgICAgJ0F1dGhvcml6YXRpb24nOiAiQmVhcmVyICIuY29uY2F0KHdpbmRvdy5haVRva2VuKSwKICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicKICAgICAgICB9CiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgX3RoaXMuY2hhdElkID0gcmVzcG9uc2UuZGF0YS5kYXRhWzJdLmlkOwogICAgICAgIF90aGlzLmdldFNlc3Npb25IaXN0b3J5KCk7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikge30pOwogICAgfSwKICAgIC8v6I635Y+W5Lya6K+d5Y6G5Y+yCiAgICBnZXRTZXNzaW9uSGlzdG9yeTogZnVuY3Rpb24gZ2V0U2Vzc2lvbkhpc3RvcnkoKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwogICAgICBheGlvcy5nZXQoIiIuY29uY2F0KHdpbmRvdy5haUFkcmVzcywgIi9hcGkvdjEvY2hhdHMvIikuY29uY2F0KHRoaXMuY2hhdElkLCAiL3Nlc3Npb25zIiksIHsKICAgICAgICBoZWFkZXJzOiB7CiAgICAgICAgICAnQXV0aG9yaXphdGlvbic6ICJCZWFyZXIgIi5jb25jYXQod2luZG93LmFpVG9rZW4pLAogICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJwogICAgICAgIH0KICAgICAgfSkudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgICBfdGhpczIuY2hhdEhpc3RvcnkgPSByZXNwb25zZS5kYXRhLmRhdGE7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikge30pOwogICAgfSwKICAgIC8vIOWIm+W7uuS8muivnQogICAgY3JlYXRlQVNlc3Npb246IGZ1bmN0aW9uIGNyZWF0ZUFTZXNzaW9uKCkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgdmFyIG5vdyA9IG5ldyBEYXRlKCk7CiAgICAgIHZhciB5ZWFyID0gbm93LmdldEZ1bGxZZWFyKCk7CiAgICAgIHZhciBtb250aCA9IG5vdy5nZXRNb250aCgpICsgMTsKICAgICAgdmFyIGRheSA9IG5vdy5nZXREYXRlKCk7CiAgICAgIHZhciBmb3JtYXR0ZWREYXRlID0gIlx1NjVCMFx1NUVGQVx1NEYxQVx1OEJERCAiLmNvbmNhdCh5ZWFyLCAiLyIpLmNvbmNhdChTdHJpbmcobW9udGgpLnBhZFN0YXJ0KDIsICcwJyksICIvIikuY29uY2F0KFN0cmluZyhkYXkpLnBhZFN0YXJ0KDIsICcwJykpOwogICAgICBheGlvcy5wb3N0KCIiLmNvbmNhdCh3aW5kb3cuYWlBZHJlc3MsICIvYXBpL3YxL2NoYXRzLyIpLmNvbmNhdCh0aGlzLmNoYXRJZCwgIi9zZXNzaW9ucyIpLCB7CiAgICAgICAgbmFtZTogZm9ybWF0dGVkRGF0ZQogICAgICB9LCB7CiAgICAgICAgaGVhZGVyczogewogICAgICAgICAgJ0F1dGhvcml6YXRpb24nOiAiQmVhcmVyICIuY29uY2F0KHdpbmRvdy5haVRva2VuKSwKICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicKICAgICAgICB9CiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgX3RoaXMzLmNoYXRIaXN0b3J5LnB1c2gocmVzcG9uc2UuZGF0YS5kYXRhKTsKICAgICAgICBfdGhpczMuc2Vzc2lvbl9pZCA9IHJlc3BvbnNlLmRhdGEuZGF0YS5pZDsKICAgICAgICBfdGhpczMubmFtZSA9IHJlc3BvbnNlLmRhdGEuZGF0YS5uYW1lOwogICAgICAgIF90aGlzMy5jdXJyZW50Q2hhdCA9IHJlc3BvbnNlLmRhdGEuZGF0YS5tZXNzYWdlczsKICAgICAgICBpZiAoX3RoaXMzLmlzVGV4YXJlYSkgewogICAgICAgICAgX3RoaXMzLmN1cnJlbnRDaGF0LnB1c2goewogICAgICAgICAgICBjb250ZW50OiBfdGhpczMuaW5wdXRNZXNzYWdlLAogICAgICAgICAgICByb2xlOiAndXNlcicKICAgICAgICAgIH0pOwogICAgICAgICAgX3RoaXMzLmdldEJ5VmFsdWVDaGFuZ2UoKTsKICAgICAgICAgIF90aGlzMy5pc1RleGFyZWEgPSBmYWxzZTsKICAgICAgICB9CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikge30pOwogICAgfSwKICAgIGNyZWF0ZU5ld0NoYXQ6IGZ1bmN0aW9uIGNyZWF0ZU5ld0NoYXQoKSB7CiAgICAgIHRoaXMuY3JlYXRlQVNlc3Npb24oKTsKICAgIH0sCiAgICBzd2l0Y2hDaGF0OiBmdW5jdGlvbiBzd2l0Y2hDaGF0KGl0ZW0pIHsKICAgICAgdGhpcy5zZXNzaW9uX2lkID0gaXRlbS5pZDsKICAgICAgdGhpcy5uYW1lID0gaXRlbS5uYW1lOwogICAgICB0aGlzLmN1cnJlbnRDaGF0ID0gaXRlbS5tZXNzYWdlczsKICAgICAgdGhpcy5zY3JvbGxUb0JvdHRvbSgpOwogICAgfSwKICAgIC8vIOWPkemAgQogICAgc2VuZE1lc3NhZ2U6IGZ1bmN0aW9uIHNlbmRNZXNzYWdlKCkgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlKCkgewogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlJChfY29udGV4dCkgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQucHJldiA9IF9jb250ZXh0Lm5leHQpIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgIGlmICghKCEvXlxzKyQvLnRlc3QoX3RoaXM0LmlucHV0TWVzc2FnZSkgJiYgX3RoaXM0LmlucHV0TWVzc2FnZSAhPT0gIiIpKSB7CiAgICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMTI7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYgKCEoX3RoaXM0LnNlc3Npb25faWQgPT09ICcnKSkgewogICAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDc7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgX3RoaXM0LmlzVGV4YXJlYSA9IHRydWU7CiAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDU7CiAgICAgICAgICAgICAgcmV0dXJuIF90aGlzNC5jcmVhdGVBU2Vzc2lvbigpOwogICAgICAgICAgICBjYXNlIDU6CiAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDEwOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDc6CiAgICAgICAgICAgICAgX3RoaXM0LmN1cnJlbnRDaGF0LnB1c2goewogICAgICAgICAgICAgICAgY29udGVudDogX3RoaXM0LmlucHV0TWVzc2FnZSwKICAgICAgICAgICAgICAgIHJvbGU6ICd1c2VyJwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAxMDsKICAgICAgICAgICAgICByZXR1cm4gX3RoaXM0LmdldEJ5VmFsdWVDaGFuZ2UoKTsKICAgICAgICAgICAgY2FzZSAxMDoKICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMTM7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMTI6CiAgICAgICAgICAgICAgX3RoaXM0LiRtZXNzYWdlLndhcm5pbmcoIuS4jeiDveWPkemAgeepuueZvea2iOaBryIpOwogICAgICAgICAgICBjYXNlIDEzOgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dC5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZSk7CiAgICAgIH0pKSgpOwogICAgfSwKICAgIGdldEJ5VmFsdWVDaGFuZ2U6IGZ1bmN0aW9uIGdldEJ5VmFsdWVDaGFuZ2UoKSB7CiAgICAgIHZhciBfdGhpczUgPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUyKCkgewogICAgICAgIHZhciBpbnB1dE1lc3NhZ2VCYWNrLCBvYmosIHJlc3BvbnNlLCByZWFkZXIsIGRlY29kZXIsIHJlc3VsdCwgX3lpZWxkJHJlYWRlciRyZWFkLCBkb25lLCB2YWx1ZSwgY2h1bmtUZXh0LCBqc29uU3RyaW5nOwogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlMiQoX2NvbnRleHQyKSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDIucHJldiA9IF9jb250ZXh0Mi5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBpbnB1dE1lc3NhZ2VCYWNrID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShfdGhpczUuaW5wdXRNZXNzYWdlKSk7CiAgICAgICAgICAgICAgX3RoaXM1LmlucHV0TWVzc2FnZSA9ICcnOwogICAgICAgICAgICAgIF90aGlzNS50b0xvYWRJbmcgPSB0cnVlOwogICAgICAgICAgICAgIG9iaiA9IHsKICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnLAogICAgICAgICAgICAgICAgcm9sZTogJ2Fzc2lzdGFudCcsCiAgICAgICAgICAgICAgICBsb2FkaW5nOiB0cnVlCiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICBfdGhpczUuY3VycmVudENoYXQucHVzaChvYmopOwogICAgICAgICAgICAgIF90aGlzNS5zY3JvbGxUb0JvdHRvbSgpOwogICAgICAgICAgICAgIF9jb250ZXh0Mi5wcmV2ID0gNjsKICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDk7CiAgICAgICAgICAgICAgcmV0dXJuIGZldGNoKCIiLmNvbmNhdCh3aW5kb3cuYWlBZHJlc3MsICIvYXBpL3YxL2NoYXRzLyIpLmNvbmNhdChfdGhpczUuY2hhdElkLCAiL2NvbXBsZXRpb25zIiksIHsKICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLAogICAgICAgICAgICAgICAgaGVhZGVyczogewogICAgICAgICAgICAgICAgICAnQXV0aG9yaXphdGlvbic6ICJCZWFyZXIgIi5jb25jYXQod2luZG93LmFpVG9rZW4pLAogICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOCcsCiAgICAgICAgICAgICAgICAgICdyZXNwb25zZVR5cGUnOiAnc3RyZWFtJwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsKICAgICAgICAgICAgICAgICAgcXVlc3Rpb246IGlucHV0TWVzc2FnZUJhY2ssCiAgICAgICAgICAgICAgICAgIHNlc3Npb25faWQ6IF90aGlzNS5zZXNzaW9uX2lkCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICBjYXNlIDk6CiAgICAgICAgICAgICAgcmVzcG9uc2UgPSBfY29udGV4dDIuc2VudDsKICAgICAgICAgICAgICBpZiAocmVzcG9uc2Uub2spIHsKICAgICAgICAgICAgICAgIF9jb250ZXh0Mi5uZXh0ID0gMTI7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOZXR3b3JrIHJlc3BvbnNlIHdhcyBub3Qgb2snKTsKICAgICAgICAgICAgY2FzZSAxMjoKICAgICAgICAgICAgICByZWFkZXIgPSByZXNwb25zZS5ib2R5LmdldFJlYWRlcigpOwogICAgICAgICAgICAgIGRlY29kZXIgPSBuZXcgVGV4dERlY29kZXIoKTsKICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlOwogICAgICAgICAgICBjYXNlIDE1OgogICAgICAgICAgICAgIGlmICghcmVzdWx0KSB7CiAgICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDMwOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF9jb250ZXh0Mi5uZXh0ID0gMTg7CiAgICAgICAgICAgICAgcmV0dXJuIHJlYWRlci5yZWFkKCk7CiAgICAgICAgICAgIGNhc2UgMTg6CiAgICAgICAgICAgICAgX3lpZWxkJHJlYWRlciRyZWFkID0gX2NvbnRleHQyLnNlbnQ7CiAgICAgICAgICAgICAgZG9uZSA9IF95aWVsZCRyZWFkZXIkcmVhZC5kb25lOwogICAgICAgICAgICAgIHZhbHVlID0gX3lpZWxkJHJlYWRlciRyZWFkLnZhbHVlOwogICAgICAgICAgICAgIGlmICghZG9uZSkgewogICAgICAgICAgICAgICAgX2NvbnRleHQyLm5leHQgPSAyNDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQyLmFicnVwdCgiYnJlYWsiLCAzMCk7CiAgICAgICAgICAgIGNhc2UgMjQ6CiAgICAgICAgICAgICAgY2h1bmtUZXh0ID0gZGVjb2Rlci5kZWNvZGUodmFsdWUsIHsKICAgICAgICAgICAgICAgIHN0cmVhbTogdHJ1ZQogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIGpzb25TdHJpbmcgPSBjaHVua1RleHQucmVwbGFjZSgvXmRhdGE6LywgJycpOwogICAgICAgICAgICAgIGlmIChKU09OLnBhcnNlKGpzb25TdHJpbmcpLmRhdGEuYW5zd2VyKSB7CiAgICAgICAgICAgICAgICBfdGhpczUuY3VycmVudENoYXRbX3RoaXM1LmN1cnJlbnRDaGF0Lmxlbmd0aCAtIDFdLmNvbnRlbnQgPSBKU09OLnBhcnNlKGpzb25TdHJpbmcpLmRhdGEuYW5zd2VyOwogICAgICAgICAgICAgICAgX3RoaXM1LmN1cnJlbnRDaGF0W190aGlzNS5jdXJyZW50Q2hhdC5sZW5ndGggLSAxXS5sb2FkaW5nID0gZmFsc2U7CiAgICAgICAgICAgICAgICBfdGhpczUudG9Mb2FkSW5nID0gZmFsc2U7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIF90aGlzNS5nZXRTZXNzaW9uSGlzdG9yeSgpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBfdGhpczUuc2Nyb2xsVG9Cb3R0b20oKTsKICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDE1OwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDMwOgogICAgICAgICAgICAgIF9jb250ZXh0Mi5uZXh0ID0gMzQ7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMzI6CiAgICAgICAgICAgICAgX2NvbnRleHQyLnByZXYgPSAzMjsKICAgICAgICAgICAgICBfY29udGV4dDIudDAgPSBfY29udGV4dDJbImNhdGNoIl0oNik7CiAgICAgICAgICAgIGNhc2UgMzQ6CiAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0Mi5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTIsIG51bGwsIFtbNiwgMzJdXSk7CiAgICAgIH0pKSgpOwogICAgfSwKICAgIC8vIOmHjeWRveWQjeeCueWHu+S6i+S7tgogICAgcmVuYW1lQ2hhbmdlOiBmdW5jdGlvbiByZW5hbWVDaGFuZ2UoaXRlbSkgewogICAgICB0aGlzLmRpYWxvZ0Zvcm1WaXNpYmxlID0gdHJ1ZTsKICAgICAgdGhpcy5zZXNzaW9uX2lkID0gaXRlbS5pZDsKICAgICAgdGhpcy5mb3JtLm5hbWUgPSBpdGVtLm5hbWU7CiAgICB9LAogICAgLy8g6YeN5ZG95ZCN5by556qXCiAgICByZW5hbWVUaGVQb3B1cDogZnVuY3Rpb24gcmVuYW1lVGhlUG9wdXAoKSB7CiAgICAgIHZhciBfdGhpczYgPSB0aGlzOwogICAgICBheGlvcy5wdXQoIiIuY29uY2F0KHdpbmRvdy5haUFkcmVzcywgIi9hcGkvdjEvY2hhdHMvIikuY29uY2F0KHRoaXMuY2hhdElkLCAiL3Nlc3Npb25zLyIpLmNvbmNhdCh0aGlzLnNlc3Npb25faWQpLCB7CiAgICAgICAgbmFtZTogdGhpcy5mb3JtLm5hbWUKICAgICAgfSwgewogICAgICAgIGhlYWRlcnM6IHsKICAgICAgICAgICdBdXRob3JpemF0aW9uJzogIkJlYXJlciAiLmNvbmNhdCh3aW5kb3cuYWlUb2tlbiksCiAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nCiAgICAgICAgfQogICAgICB9KS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgIF90aGlzNi5kaWFsb2dGb3JtVmlzaWJsZSA9IGZhbHNlOwogICAgICAgIF90aGlzNi5nZXRTZXNzaW9uSGlzdG9yeSgpOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyb3IpIHt9KTsKICAgIH0sCiAgICBkZWxldGVDaGFuZ2U6IGZ1bmN0aW9uIGRlbGV0ZUNoYW5nZShpdGVtKSB7CiAgICAgIHZhciBfdGhpczcgPSB0aGlzOwogICAgICB0aGlzLiRjb25maXJtKCfnoa7lrprliKDpmaTpgInkuK3nmoTlr7nor53lkJfvvJ8nLCAn5o+Q56S6JywgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAn56Gu6K6kJywKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAn5Y+W5raIJywKICAgICAgICB0eXBlOiAnd2FybmluZycKICAgICAgfSkudGhlbigvKiNfX1BVUkVfXyovX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUzKCkgewogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlMyQoX2NvbnRleHQzKSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDMucHJldiA9IF9jb250ZXh0My5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBheGlvcy5kZWxldGUoIiIuY29uY2F0KHdpbmRvdy5haUFkcmVzcywgIi9hcGkvdjEvY2hhdHMvIikuY29uY2F0KF90aGlzNy5jaGF0SWQsICIvc2Vzc2lvbnMiKSwgewogICAgICAgICAgICAgICAgaGVhZGVyczogewogICAgICAgICAgICAgICAgICAnQXV0aG9yaXphdGlvbic6ICJCZWFyZXIgIi5jb25jYXQod2luZG93LmFpVG9rZW4pLAogICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgZGF0YTogewogICAgICAgICAgICAgICAgICBpZHM6IFtpdGVtLmlkXQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgICAgICAgICBfdGhpczcuc2Vzc2lvbl9pZCA9ICcnOwogICAgICAgICAgICAgICAgX3RoaXM3LiRtZXNzYWdlLnN1Y2Nlc3MoJ+WIoOmZpOaIkOWKnycpOwogICAgICAgICAgICAgICAgX3RoaXM3LmdldFNlc3Npb25IaXN0b3J5KCk7CiAgICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycm9yKSB7fSk7CiAgICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQzLnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlMyk7CiAgICAgIH0pKSkuY2F0Y2goZnVuY3Rpb24gKF8pIHsKICAgICAgICByZXR1cm4gXzsKICAgICAgfSk7CiAgICB9LAogICAgc2Nyb2xsVG9Cb3R0b206IGZ1bmN0aW9uIHNjcm9sbFRvQm90dG9tKCkgewogICAgICB2YXIgX3RoaXM4ID0gdGhpczsKICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBjb250YWluZXIgPSBfdGhpczguJHJlZnMubWVzc2FnZXNDb250YWluZXI7CiAgICAgICAgY29udGFpbmVyLnNjcm9sbFRvcCA9IGNvbnRhaW5lci5zY3JvbGxIZWlnaHQgKyAxMDA7CiAgICAgIH0pOwogICAgfQogIH0KfTs="},null]}