{"remainingRequest":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\eslint-loader\\index.js??ref--13-0!D:\\jenkins\\workspace\\bzzgj-fvue\\src\\mixins\\deviceExtend.js","dependencies":[{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\src\\mixins\\deviceExtend.js","mtime":1705895419361},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\babel.config.js","mtime":1725536844935},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\eslint-loader\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuam9pbi5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5mb3ItZWFjaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5rZXlzLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5leGVjLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnJlcGxhY2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIjsKaW1wb3J0IHJlcSBmcm9tICdAL3JlcXVlc3QuanMnOwpleHBvcnQgdmFyIEV4dGVuZFBhcmFtc01peGluID0gewogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBwb3J0YWw6IHdpbmRvdy5jb250ZXh0LnBvcnRhbCwKICAgICAgZXh0ZW5kUGFyYW1zOiBbXSwKICAgICAgcHJvZHVjdFBhcmFtczogW10sCiAgICAgIGV4dGVuZFJ1bGVOYW1lczoge30sCiAgICAgIHBhcmFtc1ZhbHVlTGlzdDogW10sCiAgICAgIGV4dGVuZHNWYWx1ZToge30sCiAgICAgIGhhc0V4dGVuZFZhbHVlOiBmYWxzZQogICAgfTsKICB9LAogIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7fSwKICBtZXRob2RzOiB7CiAgICAvLyDojrflj5borr7lpIfmianlsZXlj4LmlbDphY3nva4KICAgIGdldEV4dGVuZFBhcmFtczogZnVuY3Rpb24gZ2V0RXh0ZW5kUGFyYW1zKGRldmljZUlkKSB7CiAgICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgcmVxLnBvc3QoX3RoaXMucG9ydGFsICsgIi9kZXZpY2UvcGFyYW1zL2NvbmYvZmluZEFsbCIsIHsKICAgICAgICAgIGRldmljZUlkOiBkZXZpY2VJZAogICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgaWYgKHJlcy5zdGF0dXMgPT0gMjAwKSB7CiAgICAgICAgICAgIF90aGlzLmV4dGVuZFBhcmFtcyA9IHJlcy5kYXRhOwogICAgICAgICAgICByZXNvbHZlKCk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOiOt+WPluS6p+WTgeaJqeWxleWPguaVsOmFjee9rgogICAgZ2V0UHJvZHVjdFBhcmFtczogZnVuY3Rpb24gZ2V0UHJvZHVjdFBhcmFtcyhwcm9kdWN0SWQpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgcmVxLnBvc3QoX3RoaXMyLnBvcnRhbCArICIvZGV2aWNlL3Byb2R1Y3QvcGFyYW1zQ29uZi9maW5kQWxsIiwgewogICAgICAgICAgcHJvZHVjdElkOiBwcm9kdWN0SWQKICAgICAgICB9KS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgIGlmIChyZXMuc3RhdHVzID09IDIwMCkgewogICAgICAgICAgICBfdGhpczIucHJvZHVjdFBhcmFtcyA9IHJlcy5kYXRhOwogICAgICAgICAgICByZXNvbHZlKCk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOiOt+WPluaJqeWxleWPguaVsOWAvAogICAgZ2V0RXh0ZW5kUGFyYW1zRGF0YTogZnVuY3Rpb24gZ2V0RXh0ZW5kUGFyYW1zRGF0YShpZCkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsKICAgICAgICByZXEuZ2V0KF90aGlzMy5wb3J0YWwgKyAnL2RldmljZS9pbmZvLycgKyBpZCkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgICBpZiAocmVzLnN0YXR1cyA9PSAyMDApIHsKICAgICAgICAgICAgLy8g5piv5ZCm5bey5o+Q5Lqk6L+H5omp5bGV5YC8CiAgICAgICAgICAgIF90aGlzMy5wYXJhbXNWYWx1ZUxpc3QgPSByZXMuZGF0YS5wYXJhbXNWYWx1ZUxpc3Q7CiAgICAgICAgICAgIGlmIChfdGhpczMucGFyYW1zVmFsdWVMaXN0Lmxlbmd0aCkgewogICAgICAgICAgICAgIF90aGlzMy5oYXNFeHRlbmRWYWx1ZSA9IHRydWU7CiAgICAgICAgICAgICAgX3RoaXMzLmZvcm1hdEV4dGVuZERhdGEoKTsgLy8g5omp5bGV5a2X5q615pWw57uE6L2s5a+56LGhCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgX3RoaXMzLmhhc0V4dGVuZFZhbHVlID0gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmVzb2x2ZSgpOwogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9KTsKICAgIH0sCiAgICBoYW5kbGVFeHRlbmRQYXJhbXM6IGZ1bmN0aW9uIGhhbmRsZUV4dGVuZFBhcmFtcygpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CiAgICAgIC8vIHJldHVybgogICAgICB2YXIgZGF0YSA9IHt9OwogICAgICB2YXIgcnVsZXMgPSB7fTsKICAgICAgaWYgKHRoaXMucHJvZHVjdFBhcmFtcykgewogICAgICAgIHRoaXMucHJvZHVjdFBhcmFtcy5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAvLyDlv4XpgInpobnliqBydWxlc+mqjOivgQogICAgICAgICAgaWYgKGl0ZW0uaXNSZXF1aXJlZCA9PSAnMScpIHsKICAgICAgICAgICAgdmFyIG1lc3NhZ2U7CiAgICAgICAgICAgIGlmIChpdGVtLmN0bFR5cGUgPT0gJ2lucHV0JyB8fCBpdGVtLmN0bFR5cGUgPT0gJ251bWJlcicpIHsKICAgICAgICAgICAgICBtZXNzYWdlID0gJ+ivt+i+k+WFpScgKyBpdGVtLm5hbWU7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgbWVzc2FnZSA9ICfor7fpgInmi6knICsgaXRlbS5uYW1lOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJ1bGVzWyIkZXh0ZW5kIi5jb25jYXQoaXRlbS5pZCldID0gW3sKICAgICAgICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLAogICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnCiAgICAgICAgICAgIH1dOwogICAgICAgICAgICBfdGhpczQuZXh0ZW5kUnVsZU5hbWVzWyIkZXh0ZW5kIi5jb25jYXQoaXRlbS5pZCldID0gIiRleHRlbmQiLmNvbmNhdChpdGVtLmlkKTsKICAgICAgICAgIH0KCiAgICAgICAgICAvLyDlkITnsbvlnovmjqfku7botYvlgLwgIOacieaJqeWxleeahOi1i+WAvCDmsqHmnInmianlsZXlgLzotYvliJ3lp4vlgLwKICAgICAgICAgIGlmIChpdGVtLmN0bFR5cGUgPT0gJ2lucHV0JykgewogICAgICAgICAgICBkYXRhWyIkZXh0ZW5kIi5jb25jYXQoaXRlbS5pZCldID0gX3RoaXM0Lmhhc0V4dGVuZFZhbHVlID8gX3RoaXM0LmV4dGVuZHNWYWx1ZVtpdGVtLmlkXSA6ICcnOwogICAgICAgICAgfSBlbHNlIGlmIChpdGVtLmN0bFR5cGUgPT0gJ3NlbGVjdCcgfHwgaXRlbS5jdGxUeXBlID09ICdyYWRpbycpIHsKICAgICAgICAgICAgaWYgKGl0ZW0uanNvbikgewogICAgICAgICAgICAgIHZhciBvcHRpb25zID0gSlNPTi5wYXJzZShpdGVtLmpzb24pOwogICAgICAgICAgICAgIGRhdGFbIiRleHRlbmQiLmNvbmNhdChpdGVtLmlkKV0gPSBfdGhpczQuaGFzRXh0ZW5kVmFsdWUgPyBfdGhpczQuZXh0ZW5kc1ZhbHVlW2l0ZW0uaWRdIDogb3B0aW9ucy5sZW5ndGggJiYgb3B0aW9uc1swXS52YWx1ZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBkYXRhWyIkZXh0ZW5kIi5jb25jYXQoaXRlbS5pZCldID0gJyc7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbS5jdGxUeXBlID09ICdjaGVja2JveCcpIHsKICAgICAgICAgICAgaWYgKGl0ZW0uanNvbikgewogICAgICAgICAgICAgIHZhciBfb3B0aW9ucyA9IEpTT04ucGFyc2UoaXRlbS5qc29uKTsKICAgICAgICAgICAgICBpZiAoX3RoaXM0Lmhhc0V4dGVuZFZhbHVlKSB7CiAgICAgICAgICAgICAgICBkYXRhWyIkZXh0ZW5kIi5jb25jYXQoaXRlbS5pZCldID0gX3RoaXM0LmV4dGVuZHNWYWx1ZVtpdGVtLmlkXSA/IF90aGlzNC5leHRlbmRzVmFsdWVbaXRlbS5pZF0uc3BsaXQoJywnKSA6IFtdOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBkYXRhWyIkZXh0ZW5kIi5jb25jYXQoaXRlbS5pZCldID0gX29wdGlvbnMubGVuZ3RoID8gW19vcHRpb25zWzBdLnZhbHVlXSA6IFtdOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBkYXRhWyIkZXh0ZW5kIi5jb25jYXQoaXRlbS5pZCldID0gW107CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbS5jdGxUeXBlID09ICdudW1iZXInKSB7CiAgICAgICAgICAgIGRhdGFbIiRleHRlbmQiLmNvbmNhdChpdGVtLmlkKV0gPSBfdGhpczQuaGFzRXh0ZW5kVmFsdWUgPyBfdGhpczQuZXh0ZW5kc1ZhbHVlW2l0ZW0uaWRdIDogMDsKICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbS5jdGxUeXBlID09ICdkYXRlJykgewogICAgICAgICAgICBkYXRhWyIkZXh0ZW5kIi5jb25jYXQoaXRlbS5pZCldID0gX3RoaXM0Lmhhc0V4dGVuZFZhbHVlID8gX3RoaXM0LmV4dGVuZHNWYWx1ZVtpdGVtLmlkXSA6ICcnOwogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9CiAgICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICB0aGlzLnBhcmFtcyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMucGFyYW1zLCBkYXRhKTsKICAgICAgdGhpcy4kc2V0KHRoaXMucGFyYW1zKTsKICAgICAgdGhpcy5ydWxlcyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMucnVsZXMsIHJ1bGVzKTsKICAgICAgdGhpcy4kc2V0KHRoaXMucnVsZXMpOwogICAgfSwKICAgIGhhbmRsZUV4dGVuZFNhdmU6IGZ1bmN0aW9uIGhhbmRsZUV4dGVuZFNhdmUoZGF0YSwgdHlwZSkgewogICAgICB0aGlzLnByb2R1Y3RQYXJhbXMuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgIGlmIChpdGVtLmN0bFR5cGUgPT0gJ2NoZWNrYm94JykgewogICAgICAgICAgZGF0YVsiJGV4dGVuZCIuY29uY2F0KGl0ZW0uaWQpXSA9IGRhdGFbIiRleHRlbmQiLmNvbmNhdChpdGVtLmlkKV0ubGVuZ3RoID8gZGF0YVsiJGV4dGVuZCIuY29uY2F0KGl0ZW0uaWQpXS5qb2luKCcsJykgOiAnJzsKICAgICAgICB9CiAgICAgIH0pOwogICAgICB2YXIgZXh0ZW5kTGlzdCA9IFtdOwogICAgICBmb3IgKHZhciBrZXkgaW4gZGF0YSkgewogICAgICAgIGlmIChrZXkuaW5kZXhPZignJGV4dGVuZCcpICE9PSAtMSkgewogICAgICAgICAgZXh0ZW5kTGlzdC5wdXNoKHsKICAgICAgICAgICAgY29uZklkOiBrZXkucmVwbGFjZSgnJGV4dGVuZCcsICcnKSwKICAgICAgICAgICAgdmFsdWU6IGRhdGFba2V5XQogICAgICAgICAgfSk7CiAgICAgICAgICBkZWxldGUgZGF0YVtrZXldOwogICAgICAgIH0KICAgICAgfQogICAgICBkYXRhLnBhcmFtc1ZhbHVlTGlzdCA9IGV4dGVuZExpc3Q7CiAgICAgIHJldHVybiBkYXRhOwogICAgfSwKICAgIC8vIOaJqeWxleWPguaVsOWQiOW5tuWIsOWbuuWumuWPguaVsOWSjHJ1bGVz6aqM6K+B5LitCiAgICBoYW5kbGVFeHRlbmRQYXJhbXNNaXhpbjogZnVuY3Rpb24gaGFuZGxlRXh0ZW5kUGFyYW1zTWl4aW4oKSB7CiAgICAgIHZhciBfdGhpczUgPSB0aGlzOwogICAgICAvLyByZXR1cm4KICAgICAgdmFyIGRhdGEgPSB7fTsKICAgICAgdmFyIHJ1bGVzID0ge307CiAgICAgIGlmICh0aGlzLnByb2R1Y3RQYXJhbXMpIHsKICAgICAgICB0aGlzLnByb2R1Y3RQYXJhbXMuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgLy8g5b+F6YCJ6aG55YqgcnVsZXPpqozor4EKICAgICAgICAgIGlmIChpdGVtLmlzUmVxdWlyZWQgPT0gJzEnKSB7CiAgICAgICAgICAgIHZhciBtZXNzYWdlOwogICAgICAgICAgICBpZiAoaXRlbS5jdGxUeXBlID09ICdpbnB1dCcgfHwgaXRlbS5jdGxUeXBlID09ICdudW1iZXInKSB7CiAgICAgICAgICAgICAgbWVzc2FnZSA9ICfor7fovpPlhaUnICsgaXRlbS5uYW1lOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIG1lc3NhZ2UgPSAn6K+36YCJ5oupJyArIGl0ZW0ubmFtZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBydWxlc1siJGV4dGVuZCIuY29uY2F0KGl0ZW0uaWQpXSA9IFt7CiAgICAgICAgICAgICAgbWVzc2FnZTogbWVzc2FnZSwKICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJwogICAgICAgICAgICB9XTsKICAgICAgICAgICAgX3RoaXM1LmV4dGVuZFJ1bGVOYW1lc1siJGV4dGVuZCIuY29uY2F0KGl0ZW0uaWQpXSA9ICIkZXh0ZW5kIi5jb25jYXQoaXRlbS5pZCk7CiAgICAgICAgICB9CgogICAgICAgICAgLy8g5ZCE57G75Z6L5o6n5Lu26LWL5YC8ICDmnInmianlsZXnmoTotYvlgLwg5rKh5pyJ5omp5bGV5YC86LWL5Yid5aeL5YC8CiAgICAgICAgICBpZiAoaXRlbS5jdGxUeXBlID09ICdpbnB1dCcpIHsKICAgICAgICAgICAgZGF0YVsiJGV4dGVuZCIuY29uY2F0KGl0ZW0uaWQpXSA9IF90aGlzNS5oYXNFeHRlbmRWYWx1ZSA/IF90aGlzNS5leHRlbmRzVmFsdWVbaXRlbS5pZF0gOiAnJzsKICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbS5jdGxUeXBlID09ICdzZWxlY3QnIHx8IGl0ZW0uY3RsVHlwZSA9PSAncmFkaW8nKSB7CiAgICAgICAgICAgIGlmIChpdGVtLmpzb24pIHsKICAgICAgICAgICAgICB2YXIgb3B0aW9ucyA9IEpTT04ucGFyc2UoaXRlbS5qc29uKTsKICAgICAgICAgICAgICBkYXRhWyIkZXh0ZW5kIi5jb25jYXQoaXRlbS5pZCldID0gX3RoaXM1Lmhhc0V4dGVuZFZhbHVlID8gX3RoaXM1LmV4dGVuZHNWYWx1ZVtpdGVtLmlkXSA6IG9wdGlvbnMubGVuZ3RoICYmIG9wdGlvbnNbMF0udmFsdWU7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgZGF0YVsiJGV4dGVuZCIuY29uY2F0KGl0ZW0uaWQpXSA9ICcnOwogICAgICAgICAgICB9CiAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0uY3RsVHlwZSA9PSAnY2hlY2tib3gnKSB7CiAgICAgICAgICAgIGlmIChpdGVtLmpzb24pIHsKICAgICAgICAgICAgICB2YXIgX29wdGlvbnMyID0gSlNPTi5wYXJzZShpdGVtLmpzb24pOwogICAgICAgICAgICAgIGlmIChfdGhpczUuaGFzRXh0ZW5kVmFsdWUpIHsKICAgICAgICAgICAgICAgIGRhdGFbIiRleHRlbmQiLmNvbmNhdChpdGVtLmlkKV0gPSBfdGhpczUuZXh0ZW5kc1ZhbHVlW2l0ZW0uaWRdID8gX3RoaXM1LmV4dGVuZHNWYWx1ZVtpdGVtLmlkXS5zcGxpdCgnLCcpIDogW107CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGRhdGFbIiRleHRlbmQiLmNvbmNhdChpdGVtLmlkKV0gPSBfb3B0aW9uczIubGVuZ3RoID8gW19vcHRpb25zMlswXS52YWx1ZV0gOiBbXTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgZGF0YVsiJGV4dGVuZCIuY29uY2F0KGl0ZW0uaWQpXSA9IFtdOwogICAgICAgICAgICB9CiAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0uY3RsVHlwZSA9PSAnbnVtYmVyJykgewogICAgICAgICAgICBkYXRhWyIkZXh0ZW5kIi5jb25jYXQoaXRlbS5pZCldID0gX3RoaXM1Lmhhc0V4dGVuZFZhbHVlID8gX3RoaXM1LmV4dGVuZHNWYWx1ZVtpdGVtLmlkXSA6IDA7CiAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0uY3RsVHlwZSA9PSAnZGF0ZScpIHsKICAgICAgICAgICAgZGF0YVsiJGV4dGVuZCIuY29uY2F0KGl0ZW0uaWQpXSA9IF90aGlzNS5oYXNFeHRlbmRWYWx1ZSA/IF90aGlzNS5leHRlbmRzVmFsdWVbaXRlbS5pZF0gOiAnJzsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfQogICAgICBpZiAodGhpcy5leHRlbmRQYXJhbXMpIHsKICAgICAgICB0aGlzLmV4dGVuZFBhcmFtcy5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAvLyDlv4XpgInpobnliqBydWxlc+mqjOivgQogICAgICAgICAgaWYgKGl0ZW0uaXNSZXF1aXJlZCA9PSAnMScpIHsKICAgICAgICAgICAgdmFyIG1lc3NhZ2U7CiAgICAgICAgICAgIGlmIChpdGVtLmN0bFR5cGUgPT0gJ2lucHV0JyB8fCBpdGVtLmN0bFR5cGUgPT0gJ251bWJlcicpIHsKICAgICAgICAgICAgICBtZXNzYWdlID0gJ+ivt+i+k+WFpScgKyBpdGVtLm5hbWU7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgbWVzc2FnZSA9ICfor7fpgInmi6knICsgaXRlbS5uYW1lOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJ1bGVzWyIkZXh0ZW5kIi5jb25jYXQoaXRlbS5pZCldID0gW3sKICAgICAgICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLAogICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnCiAgICAgICAgICAgIH1dOwogICAgICAgICAgICBfdGhpczUuZXh0ZW5kUnVsZU5hbWVzWyIkZXh0ZW5kIi5jb25jYXQoaXRlbS5pZCldID0gIiRleHRlbmQiLmNvbmNhdChpdGVtLmlkKTsKICAgICAgICAgIH0KCiAgICAgICAgICAvLyDlkITnsbvlnovmjqfku7botYvlgLwgIOacieaJqeWxleeahOi1i+WAvCDmsqHmnInmianlsZXlgLzotYvliJ3lp4vlgLwKICAgICAgICAgIGlmIChpdGVtLmN0bFR5cGUgPT0gJ2lucHV0JykgewogICAgICAgICAgICBkYXRhWyIkZXh0ZW5kIi5jb25jYXQoaXRlbS5pZCldID0gX3RoaXM1Lmhhc0V4dGVuZFZhbHVlID8gX3RoaXM1LmV4dGVuZHNWYWx1ZVtpdGVtLmlkXSA6ICcnOwogICAgICAgICAgfSBlbHNlIGlmIChpdGVtLmN0bFR5cGUgPT0gJ3NlbGVjdCcgfHwgaXRlbS5jdGxUeXBlID09ICdyYWRpbycpIHsKICAgICAgICAgICAgaWYgKGl0ZW0uanNvbikgewogICAgICAgICAgICAgIHZhciBvcHRpb25zID0gSlNPTi5wYXJzZShpdGVtLmpzb24pOwogICAgICAgICAgICAgIGRhdGFbIiRleHRlbmQiLmNvbmNhdChpdGVtLmlkKV0gPSBfdGhpczUuaGFzRXh0ZW5kVmFsdWUgPyBfdGhpczUuZXh0ZW5kc1ZhbHVlW2l0ZW0uaWRdIDogb3B0aW9ucy5sZW5ndGggJiYgb3B0aW9uc1swXS52YWx1ZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBkYXRhWyIkZXh0ZW5kIi5jb25jYXQoaXRlbS5pZCldID0gJyc7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbS5jdGxUeXBlID09ICdjaGVja2JveCcpIHsKICAgICAgICAgICAgaWYgKGl0ZW0uanNvbikgewogICAgICAgICAgICAgIHZhciBfb3B0aW9uczMgPSBKU09OLnBhcnNlKGl0ZW0uanNvbik7CiAgICAgICAgICAgICAgaWYgKF90aGlzNS5oYXNFeHRlbmRWYWx1ZSkgewogICAgICAgICAgICAgICAgZGF0YVsiJGV4dGVuZCIuY29uY2F0KGl0ZW0uaWQpXSA9IF90aGlzNS5leHRlbmRzVmFsdWVbaXRlbS5pZF0gPyBfdGhpczUuZXh0ZW5kc1ZhbHVlW2l0ZW0uaWRdLnNwbGl0KCcsJykgOiBbXTsKICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgZGF0YVsiJGV4dGVuZCIuY29uY2F0KGl0ZW0uaWQpXSA9IF9vcHRpb25zMy5sZW5ndGggPyBbX29wdGlvbnMzWzBdLnZhbHVlXSA6IFtdOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBkYXRhWyIkZXh0ZW5kIi5jb25jYXQoaXRlbS5pZCldID0gW107CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbS5jdGxUeXBlID09ICdudW1iZXInKSB7CiAgICAgICAgICAgIGRhdGFbIiRleHRlbmQiLmNvbmNhdChpdGVtLmlkKV0gPSBfdGhpczUuaGFzRXh0ZW5kVmFsdWUgPyBfdGhpczUuZXh0ZW5kc1ZhbHVlW2l0ZW0uaWRdIDogMDsKICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbS5jdGxUeXBlID09ICdkYXRlJykgewogICAgICAgICAgICBkYXRhWyIkZXh0ZW5kIi5jb25jYXQoaXRlbS5pZCldID0gX3RoaXM1Lmhhc0V4dGVuZFZhbHVlID8gX3RoaXM1LmV4dGVuZHNWYWx1ZVtpdGVtLmlkXSA6ICcnOwogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9CiAgICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICB0aGlzLnBhcmFtcyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMucGFyYW1zLCBkYXRhKTsKICAgICAgdGhpcy4kc2V0KHRoaXMucGFyYW1zKTsKICAgICAgdGhpcy5ydWxlcyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMucnVsZXMsIHJ1bGVzKTsKICAgICAgdGhpcy4kc2V0KHRoaXMucnVsZXMpOwogICAgfSwKICAgIGZvcm1hdEV4dGVuZERhdGE6IGZ1bmN0aW9uIGZvcm1hdEV4dGVuZERhdGEoKSB7CiAgICAgIHZhciBfdGhpczYgPSB0aGlzOwogICAgICB0aGlzLmV4dGVuZHNWYWx1ZSA9IHt9OwogICAgICB0aGlzLnBhcmFtc1ZhbHVlTGlzdC5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgX3RoaXM2LmV4dGVuZHNWYWx1ZVtpdGVtLmNvbmZJZF0gPSBpdGVtLnZhbHVlOwogICAgICB9KTsKICAgIH0sCiAgICBoYW5kbGVFeHRlbmRQYXJhbXNTYXZlOiBmdW5jdGlvbiBoYW5kbGVFeHRlbmRQYXJhbXNTYXZlKGRhdGEsIHR5cGUpIHsKICAgICAgdGhpcy5leHRlbmRQYXJhbXMuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgIGlmIChpdGVtLmN0bFR5cGUgPT0gJ2NoZWNrYm94JykgewogICAgICAgICAgZGF0YVsiJGV4dGVuZCIuY29uY2F0KGl0ZW0uaWQpXSA9IGRhdGFbIiRleHRlbmQiLmNvbmNhdChpdGVtLmlkKV0ubGVuZ3RoID8gZGF0YVsiJGV4dGVuZCIuY29uY2F0KGl0ZW0uaWQpXS5qb2luKCcsJykgOiAnJzsKICAgICAgICB9CiAgICAgIH0pOwogICAgICB0aGlzLnByb2R1Y3RQYXJhbXMuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgIGlmIChpdGVtLmN0bFR5cGUgPT0gJ2NoZWNrYm94JykgewogICAgICAgICAgZGF0YVsiJGV4dGVuZCIuY29uY2F0KGl0ZW0uaWQpXSA9IGRhdGFbIiRleHRlbmQiLmNvbmNhdChpdGVtLmlkKV0ubGVuZ3RoID8gZGF0YVsiJGV4dGVuZCIuY29uY2F0KGl0ZW0uaWQpXS5qb2luKCcsJykgOiAnJzsKICAgICAgICB9CiAgICAgIH0pOwogICAgICB2YXIgZXh0ZW5kTGlzdCA9IFtdOwogICAgICBmb3IgKHZhciBrZXkgaW4gZGF0YSkgewogICAgICAgIGlmIChrZXkuaW5kZXhPZignJGV4dGVuZCcpICE9PSAtMSkgewogICAgICAgICAgZXh0ZW5kTGlzdC5wdXNoKHsKICAgICAgICAgICAgY29uZklkOiBrZXkucmVwbGFjZSgnJGV4dGVuZCcsICcnKSwKICAgICAgICAgICAgdmFsdWU6IGRhdGFba2V5XQogICAgICAgICAgfSk7CiAgICAgICAgICBkZWxldGUgZGF0YVtrZXldOwogICAgICAgIH0KICAgICAgfQogICAgICBkYXRhLnBhcmFtc1ZhbHVlTGlzdCA9IGV4dGVuZExpc3Q7CiAgICAgIHJldHVybiBkYXRhOwogICAgfQogIH0KfTs="},null]}