SafetyScreen-ui/node_modules/.cache/babel-loader/6daf8dcc552d6986c7552497399...

1 line
117 KiB
JSON

{"remainingRequest":"F:\\workspace\\webstorm\\SafetyScreen-ui2\\node_modules\\babel-loader\\lib\\index.js!F:\\workspace\\webstorm\\SafetyScreen-ui2\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!F:\\workspace\\webstorm\\SafetyScreen-ui2\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!F:\\workspace\\webstorm\\SafetyScreen-ui2\\src\\components\\home\\provinceMap.vue?vue&type=script&lang=js","dependencies":[{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui2\\src\\components\\home\\provinceMap.vue","mtime":1740032704205},{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui2\\babel.config.js","mtime":1740032703932},{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui2\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1740032832373},{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui2\\node_modules\\babel-loader\\lib\\index.js","mtime":1740032833520},{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui2\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1740032832373},{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui2\\node_modules\\vue-loader\\lib\\index.js","mtime":1740032833997}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkID0gcmVxdWlyZSgiRjovd29ya3NwYWNlL3dlYnN0b3JtL1NhZmV0eVNjcmVlbi11aTIvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVXaWxkY2FyZC5qcyIpLmRlZmF1bHQ7Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAiX19lc01vZHVsZSIsIHsKICB2YWx1ZTogdHJ1ZQp9KTsKZXhwb3J0cy5kZWZhdWx0ID0gdm9pZCAwOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuY29uY2F0LmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5wdXNoLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5jb25zdHJ1Y3Rvci5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IuZm9yLWVhY2guanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLm51bWJlci5jb25zdHJ1Y3Rvci5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5mb3ItZWFjaC5qcyIpOwp2YXIgZWNoYXJ0cyA9IF9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkKHJlcXVpcmUoImVjaGFydHMiKSk7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCgp2YXIgbWFwQ2hpbmFKc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi9jaGluYS5qc29uJyk7CnZhciBiZWlqaW5nSnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24vYmVpamluZy5qc29uJyk7CnZhciBzaGFuZ2hhaUpzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL3NoYW5naGFpLmpzb24nKTsKdmFyIHRpYW5qaW5Kc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi90aWFuamluLmpzb24nKTsKdmFyIGNob25ncWluZ0pzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL2Nob25ncWluZy5qc29uJyk7CnZhciBoZWJlaUpzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL2hlYmVpLmpzb24nKTsKdmFyIHNoYW54aTFKc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi9zaGFueGktMS5qc29uJyk7CnZhciBzaGFueGkySnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24vc2hhbnhpLTIuanNvbicpOwp2YXIgaGVuYW5Kc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi9oZW5hbi5qc29uJyk7CnZhciBqaWFuZ3hpSnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24vamlhbmd4aS5qc29uJyk7CnZhciBodWJlaUpzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL2h1YmVpLmpzb24nKTsKdmFyIGh1bmFuSnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24vaHVuYW4uanNvbicpOwp2YXIgZnVqaWFuSnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24vZnVqaWFuLmpzb24nKTsKdmFyIGd1YW5nZG9uZ0pzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL2d1YW5nZG9uZy5qc29uJyk7CnZhciBoYWluYW5Kc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi9oYWluYW4uanNvbicpOwp2YXIgc2ljaHVhbkpzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL3NpY2h1YW4uanNvbicpOwp2YXIgZ3VpemhvdUpzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL2d1aXpob3UuanNvbicpOwp2YXIgeXVubmFuSnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24veXVubmFuLmpzb24nKTsKdmFyIGFuaHVpSnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24vYW5odWkuanNvbicpOwp2YXIgamlhbmdzdUpzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL2ppYW5nc3UuanNvbicpOwp2YXIgemhlamlhbmdKc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi96aGVqaWFuZy5qc29uJyk7CnZhciBzaGFuZG9uZ0pzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL3NoYW5kb25nLmpzb24nKTsKdmFyIGxpYW9uaW5nSnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24vbGlhb25pbmcuanNvbicpOwp2YXIgamlsaW5Kc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi9qaWxpbi5qc29uJyk7CnZhciBoZWlsb25namlhbmdKc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi9oZWlsb25namlhbmcuanNvbicpOwp2YXIgbmVpbWVuZ2d1SnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24vbmVpbWVuZ2d1Lmpzb24nKTsKdmFyIHhpbmppYW5nSnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24veGluamlhbmcuanNvbicpOwp2YXIgeGl6YW5nSnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24veGl6YW5nLmpzb24nKTsKdmFyIGd1YW5neGlKc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi9ndWFuZ3hpLmpzb24nKTsKdmFyIG5pbmd4aWFKc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi9uaW5neGlhLmpzb24nKTsKdmFyIHFpbmdoYWlKc29uID0gcmVxdWlyZSgnQC91bnRpbHMvbWFwSnNvbi9xaW5naGFpLmpzb24nKTsKdmFyIGdhbnN1SnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24vZ2Fuc3UuanNvbicpOwp2YXIgdGFpd2FuSnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24vdGFpd2FuLmpzb24nKTsKdmFyIHhpYW5nZ2FuZ0pzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL3hpYW5nZ2FuZy5qc29uJyk7CnZhciBhb21lbkpzb24gPSByZXF1aXJlKCdAL3VudGlscy9tYXBKc29uL2FvbWVuLmpzb24nKTsKdmFyIF9kZWZhdWx0ID0gZXhwb3J0cy5kZWZhdWx0ID0gewogIG5hbWU6ICdjZW50ZXJUb3BQYWdlJywKICBwcm9wczogewogICAgbWFwQ291bnQ6IHsKICAgICAgdHlwZTogTnVtYmVyLAogICAgICBkZWZhdWx0OiBudWxsCiAgICB9LAogICAgc2VuZFByb2pTcGluOiB7CiAgICAgIHR5cGU6IEFycmF5IHwgT2JqZWN0CiAgICB9LAogICAgc2VuZE1hcENvbG9yOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogJyM2ODlBRkInCiAgICB9CiAgfSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgdHlwZTogdGhpcy5tYXBDb3VudCwKICAgICAgem9vbTogMS42LAogICAgICB6b29tMjogMS4yLAogICAgICBtYXBFY2hhcnRzOiBudWxsLAogICAgICBtYXBFY2hhcnRzMjogbnVsbCwKICAgICAgbWFwSnNvbjogbnVsbCwKICAgICAgcG9pbnRBcmVhOiB0aGlzLnNlbmRQcm9qU3BpbiwKICAgICAgcG9pbnRBbGw6IFtdLAogICAgICBjb21wYW55TGlzdDogW10sCiAgICAgIGNvbXBhbnlBcmVhTGlzdDogW10sCiAgICAgIGlzQ2l0eTogMCwKICAgICAgY2l0eUNvdW50OiBbXSwKICAgICAgZ296b29tOiAxLAogICAgICBwcm92aW5jZUxpc3Q6IFt7CiAgICAgICAgaWQ6IDEsCiAgICAgICAganNvbjogYmVpamluZ0pzb24KICAgICAgfSwgewogICAgICAgIGlkOiAyLAogICAgICAgIGpzb246IHNoYW5naGFpSnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDMsCiAgICAgICAganNvbjogdGlhbmppbkpzb24KICAgICAgfSwgewogICAgICAgIGlkOiA0LAogICAgICAgIGpzb246IGNob25ncWluZ0pzb24KICAgICAgfSwgewogICAgICAgIGlkOiA1LAogICAgICAgIGpzb246IGhlYmVpSnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDYsCiAgICAgICAganNvbjogc2hhbnhpMUpzb24KICAgICAgfSwgewogICAgICAgIGlkOiA3LAogICAgICAgIGpzb246IHNoYW54aTJKc29uCiAgICAgIH0sIHsKICAgICAgICBpZDogOCwKICAgICAgICBqc29uOiBoZW5hbkpzb24KICAgICAgfSwgewogICAgICAgIGlkOiA5LAogICAgICAgIGpzb246IGppYW5neGlKc29uCiAgICAgIH0sIHsKICAgICAgICBpZDogMTAsCiAgICAgICAganNvbjogaHViZWlKc29uCiAgICAgIH0sIHsKICAgICAgICBpZDogMTEsCiAgICAgICAganNvbjogaHVuYW5Kc29uCiAgICAgIH0sIHsKICAgICAgICBpZDogMTIsCiAgICAgICAganNvbjogZnVqaWFuSnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDEzLAogICAgICAgIGpzb246IGd1YW5nZG9uZ0pzb24KICAgICAgfSwgewogICAgICAgIGlkOiAxNCwKICAgICAgICBqc29uOiBoYWluYW5Kc29uCiAgICAgIH0sIHsKICAgICAgICBpZDogMTUsCiAgICAgICAganNvbjogc2ljaHVhbkpzb24KICAgICAgfSwgewogICAgICAgIGlkOiAxNiwKICAgICAgICBqc29uOiBndWl6aG91SnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDE3LAogICAgICAgIGpzb246IHl1bm5hbkpzb24KICAgICAgfSwgewogICAgICAgIGlkOiAxOCwKICAgICAgICBqc29uOiBhbmh1aUpzb24KICAgICAgfSwgewogICAgICAgIGlkOiAxOSwKICAgICAgICBqc29uOiBqaWFuZ3N1SnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDIwLAogICAgICAgIGpzb246IHpoZWppYW5nSnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDIxLAogICAgICAgIGpzb246IHNoYW5kb25nSnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDIyLAogICAgICAgIGpzb246IGxpYW9uaW5nSnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDIzLAogICAgICAgIGpzb246IGppbGluSnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDI0LAogICAgICAgIGpzb246IGhlaWxvbmdqaWFuZ0pzb24KICAgICAgfSwgewogICAgICAgIGlkOiAyNSwKICAgICAgICBqc29uOiBuZWltZW5nZ3VKc29uCiAgICAgIH0sIHsKICAgICAgICBpZDogMjYsCiAgICAgICAganNvbjogeGluamlhbmdKc29uCiAgICAgIH0sIHsKICAgICAgICBpZDogMjcsCiAgICAgICAganNvbjogeGl6YW5nSnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDI4LAogICAgICAgIGpzb246IGd1YW5neGlKc29uCiAgICAgIH0sIHsKICAgICAgICBpZDogMjksCiAgICAgICAganNvbjogbmluZ3hpYUpzb24KICAgICAgfSwgewogICAgICAgIGlkOiAzMCwKICAgICAgICBqc29uOiBxaW5naGFpSnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDMxLAogICAgICAgIGpzb246IGdhbnN1SnNvbgogICAgICB9LCB7CiAgICAgICAgaWQ6IDMyLAogICAgICAgIGpzb246IHRhaXdhbkpzb24KICAgICAgfSwgewogICAgICAgIGlkOiAzMywKICAgICAgICBqc29uOiB4aWFuZ2dhbmdKc29uCiAgICAgIH0sIHsKICAgICAgICBpZDogMzQsCiAgICAgICAganNvbjogYW9tZW5Kc29uCiAgICAgIH1dCiAgICB9OwogIH0sCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIGNvbnNvbGUubG9nKHRoaXMubWFwQ291bnQpOwogICAgLy8gdGhpcy5nZXRDb21wYW55TGlzdCgpCiAgICAvLyB0aGlzLmdldENvbXBhbnlBcmVhTGlzdCgpCiAgICAvLyB0aGlzLmdldENpdHlDb3VudCgpCiAgfSwKICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkgewogICAgLy8gdGhpcy5nZXRFcXVpcG1lbnREaXNCeU1hcEFwaVBhZ2UoKQogICAgdGhpcy5nZXRJbml0RGF0YSgpOwogICAgLypsZXQgbWFwRWxlbSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNtYXBFY2hhcnRzJykNCiAgICBtYXBFbGVtLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHsNCiAgICBjb25zb2xlLmxvZyhlKQ0KICAgIH0pKi8KICB9LAogIG1ldGhvZHM6IHsKICAgIGdldEVxdWlwbWVudERpc0J5TWFwQXBpUGFnZTogZnVuY3Rpb24gZ2V0RXF1aXBtZW50RGlzQnlNYXBBcGlQYWdlKCkgewogICAgICBnZXRFcXVpcG1lbnREaXNCeU1hcEFwaSgpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIGNvbnNvbGUubG9nKCdyZXM9PT09PScsIHJlcyk7CiAgICAgIH0pOwogICAgfSwKICAgIGdldENvbXBhbnlMaXN0OiBmdW5jdGlvbiBnZXRDb21wYW55TGlzdCgpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKICAgICAgdmFyIHBhcmFtcyA9IHsKICAgICAgICBwcm92aW5jZUlkOiAnJwogICAgICB9OwogICAgICBnZXRDb21wYW55TGlzdEJ5UHJvdmluY2VJZChwYXJhbXMpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIGlmIChyZXMuc3VjY2VzcyAmJiByZXMuZGF0YSkgewogICAgICAgICAgX3RoaXMuY29tcGFueUxpc3QgPSByZXMuZGF0YTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIGdldENvbXBhbnlBcmVhTGlzdDogZnVuY3Rpb24gZ2V0Q29tcGFueUFyZWFMaXN0KCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKICAgICAgdmFyIHBhcmFtcyA9IHsKICAgICAgICBhcmVhSWQ6ICcnCiAgICAgIH07CiAgICAgIGdldENvbXBhbnlMaXN0QnlBcmVhSWQocGFyYW1zKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBpZiAocmVzLnN1Y2Nlc3MgJiYgcmVzLmRhdGEpIHsKICAgICAgICAgIF90aGlzMi5jb21wYW55QXJlYUxpc3QgPSByZXMuZGF0YTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIGdldENpdHlDb3VudDogZnVuY3Rpb24gZ2V0Q2l0eUNvdW50KCkgewogICAgICAvLyB0aGlzLmdldEluaXREYXRhKCkKICAgICAgLy8gbGV0IHBhcmFtcyA9IHsKICAgICAgLy8gICBpc0NpdHk6IHRoaXMuaXNDaXR5CiAgICAgIC8vIH0KICAgICAgLy8gZ2V0Q2l0eUNvdW50KHBhcmFtcykudGhlbihyZXMgPT4gewogICAgICAvLyAgIGlmIChyZXMuc3VjY2VzcyAmJiByZXMuZGF0YSkgewogICAgICAvLyAgICAgaWYgKHRoaXMudHlwZSA9PSAxKSB7CiAgICAgIC8vICAgICAgIHJlcy5kYXRhLmZvckVhY2goaXRlbSA9PiB7CiAgICAgIC8vICAgICAgICAgaXRlbS52YWx1ZSA9IGl0ZW0uY2VudGVyLnNwbGl0KCcsJykKICAgICAgLy8gICAgICAgICBpdGVtLmlzQWN0aXZlID0gZmFsc2UKICAgICAgLy8gICAgICAgICBpZiAoaXRlbS5hcmVhTmFtZSA9PSAn5YyX5Lqs5biCJykgewogICAgICAvLyAgICAgICAgICAgaXRlbS5hcmVhQ29sb3IgPSAnI2ZmZicKICAgICAgLy8gICAgICAgICB9CiAgICAgIC8vICAgICAgIH0pCiAgICAgIC8vICAgICAgIGNvbnNvbGUubG9nKHJlcy5kYXRhKQogICAgICAvLyAgICAgICB0aGlzLmNpdHlDb3VudCA9IHJlcy5kYXRhCiAgICAgIC8vICAgICAgIHRoaXMuZ2V0SW5pdERhdGEoKQogICAgICAvLyAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT0gMikgewogICAgICAvLyAgICAgICByZXMuZGF0YS5mb3JFYWNoKGl0ZW0gPT4gewogICAgICAvLyAgICAgICAgIGl0ZW0udmFsdWUgPSBpdGVtLmNlbnRlci5zcGxpdCgnLCcpCiAgICAgIC8vICAgICAgICAgaXRlbS5pc0FjdGl2ZSA9IGZhbHNlCiAgICAgIC8vICAgICAgIH0pCiAgICAgIC8vICAgICAgIHRoaXMuQXJlYUNvdW50ID0gcmVzLmRhdGEKICAgICAgLy8gICAgIH0KICAgICAgLy8gICB9CiAgICAgIC8vIH0pCiAgICB9LAogICAgLyogZ2V0TWFwU2VsZWN0KHR5cGUpIHsNCiAgICAgICAgbGV0IGRvbSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2ljb25NYXAnKQ0KICAgICAgICBkb21bMF0uc3R5bGUuZGlzcGxheSA9ICdub25lJw0KICAgICAgICBpZiAodHlwZSA9PSAxKSB7DQogICAgICAgICAgICB0aGlzLnR5cGUgPSAxDQogICAgICAgICAgICBpZiAodGhpcy5tYXBFY2hhcnRzKSB7DQogICAgICAgICAgICAgICAgdGhpcy5tYXBFY2hhcnRzLmRpc3Bvc2UoKQ0KICAgICAgICAgICAgICAgIHRoaXMubWFwRWNoYXJ0cyA9IG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmICh0aGlzLm1hcEVjaGFydHMyKSB7DQogICAgICAgICAgICAgICAgdGhpcy5tYXBFY2hhcnRzMi5kaXNwb3NlKCkNCiAgICAgICAgICAgICAgICB0aGlzLm1hcEVjaGFydHMyID0gbnVsbA0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7DQogICAgICAgICAgICAgICAgdGhpcy5tYXBFY2hhcnRzID0gZWNoYXJ0cy5pbml0KA0KICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFwRWNoYXJ0cycpLA0KICAgICAgICAgICAgICAgICkNCiAgICAgICAgICAgICAgICBsZXQgbWFwSnNvbjEgPSBtYXBDaGluYUpzb24NCiAgICAgICAgICAgICAgICBlY2hhcnRzLnJlZ2lzdGVyTWFwKCdjaGluYScsIG1hcEpzb24xKQ0KICAgICAgICAgICAgICAgIHRoaXMuc2V0TWFwT3B0aW9uKCkNCiAgICAgICAgICAgIH0sIDIwMCkNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIHRoaXMudHlwZSA9IDINCiAgICAgICAgICAgIHRoaXMuaXNDaXR5ID0gMQ0KICAgICAgICAgICAgdGhpcy5nZXRDaXR5Q291bnQoKQ0KICAgICAgICAgICAgaWYgKHRoaXMubWFwRWNoYXJ0cykgew0KICAgICAgICAgICAgICAgIHRoaXMubWFwRWNoYXJ0cy5kaXNwb3NlKCkNCiAgICAgICAgICAgICAgICB0aGlzLm1hcEVjaGFydHMgPSBudWxsDQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAodGhpcy5tYXBFY2hhcnRzMikgew0KICAgICAgICAgICAgICAgIHRoaXMubWFwRWNoYXJ0czIuZGlzcG9zZSgpDQogICAgICAgICAgICAgICAgdGhpcy5tYXBFY2hhcnRzMiA9IG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gew0KICAgICAgICAgICAgICAgIHRoaXMubWFwRWNoYXJ0czIgPSBlY2hhcnRzLmluaXQoDQogICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYXBFY2hhcnRzMicpLA0KICAgICAgICAgICAgICAgICkNCiAgICAgICAgICAgICAgICAvLyBsZXQgbWFwSnNvbjIgPSBtYXBKc29uKCcxNTE1NTA3OTc1NjU5NzYxNjY1JywgJycpDQogICAgICAgICAgICAgICAgbGV0IG1hcEpzb24yID0gbmluZ3hpYUpzb24NCiAgICAgICAgICAgICAgICBlY2hhcnRzLnJlZ2lzdGVyTWFwKCdocycsIG1hcEpzb24yKQ0KICAgICAgICAgICAgICAgIHRoaXMuc2V0TWFwT3B0aW9uMigpDQogICAgICAgICAgICB9LCAyMDApDQogICAgICAgIH0NCiAgICB9LCAqLwogICAgZ2V0SW5pdERhdGE6IGZ1bmN0aW9uIGdldEluaXREYXRhKCkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXMzLm1hcEVjaGFydHMyID0gZWNoYXJ0cy5pbml0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYXBFY2hhcnRzJykpOwogICAgICAgIC8vIGxldCBtYXBKc29uMiA9IG1hcEpzb24oJzE1MTU1MDc5NzU2NTk3NjE2NjUnLCAnJykKICAgICAgICB2YXIgbWFwSnNvbjsKICAgICAgICAvKiBzd2l0Y2ggKHRoaXMubWFwQ291bnQpIHsNCiAgICAgICAgICAgIGNhc2UgMjoNCiAgICAgICAgICAgICAgICBtYXBKc29uID0gbmluZ3hpYUpzb24NCiAgICAgICAgICAgICAgICBicmVhaw0KICAgICAgICAgICAgY2FzZSAzOg0KICAgICAgICAgICAgICAgIG1hcEpzb24gPSBhbmh1aUpzb24NCiAgICAgICAgICAgICAgICBicmVhaw0KICAgICAgICAgICAgY2FzZSA0Og0KICAgICAgICAgICAgICAgIG1hcEpzb24gPSBuZWltZW5nZ3VKc29uDQogICAgICAgICAgICAgICAgYnJlYWsNCiAgICAgICAgICAgIGNhc2UgNToNCiAgICAgICAgICAgICAgICBtYXBKc29uID0gZ3Vhbmdkb25nSnNvbg0KICAgICAgICAgICAgICAgIGJyZWFrDQogICAgICAgIH0gKi8KICAgICAgICBfdGhpczMucHJvdmluY2VMaXN0LmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgIGlmIChpdGVtLmlkID09PSBfdGhpczMubWFwQ291bnQpIG1hcEpzb24gPSBpdGVtLmpzb247CiAgICAgICAgfSk7CiAgICAgICAgZWNoYXJ0cy5yZWdpc3Rlck1hcCgnbngnLCBtYXBKc29uKTsKICAgICAgICBfdGhpczMuc2V0TWFwT3B0aW9uMigpOwogICAgICB9LCAyMDApOwogICAgICAvKnRoaXMubWFwRWNoYXJ0cyA9IGVjaGFydHMuaW5pdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFwRWNoYXJ0cycpKQ0KICAgICAgdGhpcy5tYXBKc29uID0gbWFwQ2hpbmFKc29uDQogICAgICBlY2hhcnRzLnJlZ2lzdGVyTWFwKCdjaGluYScsIHRoaXMubWFwSnNvbikNCiAgICAgIHRoaXMuc2V0TWFwT3B0aW9uKCkqLwogICAgfSwKICAgIHNldE1hcE9wdGlvbjogZnVuY3Rpb24gc2V0TWFwT3B0aW9uKCkgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKICAgICAgLy/ojrflj5blvZPliY3mmL7npLrlnLDlm77kuIvmlrnlnLDluILnmoTlnZDmoIfngrnmlbDmja7vvJsg55So5LqO5rCU5rOh5pi+56S6CiAgICAgIHZhciBnZW9Db29yZE1hcCA9IHt9OwogICAgICAvLyDojrflj5blnLDljLror6bnu4bkv6Hmga8KICAgICAgdmFyIG1hcEZlYXR1cmVzID0gdGhpcy5tYXBKc29uLmZlYXR1cmVzOwogICAgICAvLyDpgY3ljobojrflj5bmr4/kuKrlnLDljLrnmoTnu4/nuqzluqYKICAgICAgbWFwRmVhdHVyZXMuZm9yRWFjaChmdW5jdGlvbiAodiwgaSkgewogICAgICAgIC8vIOiOt+WPluW9k+WJjeWcsOWMuuWQjQogICAgICAgIHZhciBuYW1lID0gdi5wcm9wZXJ0aWVzLm5hbWU7CiAgICAgICAgaWYgKG5hbWUpIHsKICAgICAgICAgIC8vIOiOt+WPluW9k+WJjeWcsOWMuueahOe7j+e6rOW6pgogICAgICAgICAgZ2VvQ29vcmRNYXBbbmFtZV0gPSB2LnByb3BlcnRpZXMuY2VudGVyOwogICAgICAgIH0KICAgICAgfSk7CiAgICAgIHZhciBtYXBEYXRhID0gW3sKICAgICAgICBuYW1lOiAn6ZO25bed5biCJywKICAgICAgICB2YWx1ZTogWycxMDYuMjInLCAnMzguNDgnXSwKICAgICAgICBhOiAnMTAwJwogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+S4reWNq+W4gicsCiAgICAgICAgdmFsdWU6IFsnMTA1LjI3JywgJzM3LjEwJ10sCiAgICAgICAgYTogJzEwMCcKICAgICAgfSwgewogICAgICAgIG5hbWU6ICflkLTlv6DluIInLAogICAgICAgIHZhbHVlOiBbJzEwNi4yMicsICczNy40NSddLAogICAgICAgIGE6ICcxMDAnCiAgICAgIH1dOwogICAgICB2YXIgdGhhdCA9IHRoaXM7CiAgICAgIHRoaXMucG9pbnRBbGwgPSB0aGlzLmNpdHlDb3VudDsKICAgICAgdGhpcy5wb2ludEFsbC5wdXNoKHsKICAgICAgICBuYW1lOiAn5a6B5aSPJywKICAgICAgICAvL+iHquWumuS5ieWMuuWfn+eahOminOiJsgogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgYXJlYUNvbG9yOiAnI0Y1MDUwOCcsCiAgICAgICAgICBib3JkZXJDb2xvcjogJyMxNzczYzMnLAogICAgICAgICAgLy8g5Yy65Z+f6L655qGGCiAgICAgICAgICBzaGFkb3dDb2xvcjogJyMxNzczYzMnIC8vIOmYtOW9sQogICAgICAgIH0KICAgICAgfSk7CiAgICAgIHZhciBzcGxpdExpc3QgPSBbewogICAgICAgIG5hbWU6ICfljJfkuqzluIInLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwQTJCN0InCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+Wkqea0peW4gicsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5LiK5rW35biCJywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICfph43luobluIInLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwQTJCN0InCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+ays+WMl+ecgScsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5rKz5Y2X55yBJywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICfkupHljZfnnIEnLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwQTJCN0InCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+i+veWugeecgScsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn6buR6b6Z5rGf55yBJywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICfmuZbljZfnnIEnLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwQTJCN0InCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+WuieW+veecgScsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5bGx5Lic55yBJywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICfmlrDnlobnu7TlkL7lsJToh6rmsrvljLonLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwQTJCN0InCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+axn+iLj+ecgScsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5rWZ5rGf55yBJywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICfmsZ/opb/nnIEnLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwQTJCN0InCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+a5luWMl+ecgScsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5bm/6KW/5aOu5peP6Ieq5rK75Yy6JywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICfnlJjogoPnnIEnLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwQTJCN0InCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+Wxseilv+ecgScsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5YaF6JKZ5Y+k6Ieq5rK75Yy6JywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICfpmZXopb/nnIEnLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwQTJCN0InCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+WQieael+ecgScsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn56aP5bu655yBJywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICfotLXlt57nnIEnLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwQTJCN0InCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+W5v+S4nOecgScsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn6Z2S5rW355yBJywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjRUVGMkZGJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICfopb/ol4/oh6rmsrvljLonLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyNBQUM0RjknCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+Wbm+W3neecgScsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzY5OUFGQycKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5a6B5aSP5Zue5peP6Ieq5rK75Yy6JywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMjE4N0ZGJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICfmtbfljZfnnIEnLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwQTJCN0InCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+WPsOa5vuecgScsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn6aaZ5riv54m55Yir6KGM5pS/5Yy6JywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICfmvrPpl6jnibnliKvooYzmlL/ljLonLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwQTJCN0InCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9XTsKICAgICAgdmFyIGltZ1VybCA9IHJlcXVpcmUoJy4uLy4uL2Fzc2V0cy9pbWcvbXlJbWFnZS90YW5rdWFuZy5wbmcnKTsKICAgICAgdmFyIGVjaGFydE9wdGlvbiA9IHsKICAgICAgICBnZW86IFt7CiAgICAgICAgICBzaG93OiB0cnVlLAogICAgICAgICAgbWFwOiAnY2hpbmEnLAogICAgICAgICAgYXNwZWN0U2NhbGU6IDAuOCwKICAgICAgICAgIHpvb206IHRoaXMuem9vbSwKICAgICAgICAgIHJvYW06IHRydWUsCiAgICAgICAgICAvLyDmmK/lkKblhYHorrjnvKnmlL4KICAgICAgICAgIGFuaW1hdGlvbkR1cmF0aW9uVXBkYXRlOiAwLAogICAgICAgICAgbGF5b3V0U2l6ZTogJzkyJScsCiAgICAgICAgICBsYXlvdXRDZW50ZXI6IFsnNTAlJywgJzY4JSddLAogICAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICAgIGxhYmVsOiB7CiAgICAgICAgICAgICAgICBzaG93OiBmYWxzZQogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicsCiAgICAgICAgICAgICAgLy/lnLDlm77popzoibIKICAgICAgICAgICAgICBvcGFjaXR5OiAxLAogICAgICAgICAgICAgIGJvcmRlckNvbG9yOiAnIzE3NEM5NScsCiAgICAgICAgICAgICAgLy/lnLDlm77ovrnmoYbpopzoibIKICAgICAgICAgICAgICBib3JkZXJXaWR0aDogMSwKICAgICAgICAgICAgICAvL+WcsOWbvui+ueahhuWuveW6pgogICAgICAgICAgICAgIHNoYWRvd0NvbG9yOiAnbm9uZScsCiAgICAgICAgICAgICAgc2hhZG93Qmx1cjogMTAsCiAgICAgICAgICAgICAgY29sb3I6ICcjZmZmJwogICAgICAgICAgICAgIC8vIOiuvue9ruaJh+W9oueahOmYtOW9sQogICAgICAgICAgICB9LAogICAgICAgICAgICBlbXBoYXNpczogewogICAgICAgICAgICAgIC8v6YCJ5Lit55yB5Lu955qE6aKc6ImyCiAgICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzc2NWFmMycsCiAgICAgICAgICAgICAgbGFiZWw6IHsKICAgICAgICAgICAgICAgIHNob3c6IHRydWUKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICBsYWJlbDogewogICAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgICBzaG93OiB0cnVlLAogICAgICAgICAgICAgIGZvbnRTaXplOiAxNCwKICAgICAgICAgICAgICBmb250V2VpZ2h0OiA1MDAsCiAgICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNSknCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGVtcGhhc2lzOiB7CiAgICAgICAgICAgICAgc2hvdzogdHJ1ZSwKICAgICAgICAgICAgICBhcmVhQ29sb3I6ICcjMGExODNkJywKICAgICAgICAgICAgICBjb2xvcjogJyNmZmYnCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICB6bGV2ZWw6IDEsCiAgICAgICAgICByZWdpb25zOiBzcGxpdExpc3QKICAgICAgICB9LCB7CiAgICAgICAgICBtYXA6ICdjaGluYScsCiAgICAgICAgICBhc3BlY3RTY2FsZTogMC44LAogICAgICAgICAgcm9hbTogdHJ1ZSwKICAgICAgICAgIC8vIOaYr+WQpuWFgeiuuOe8qeaUvgogICAgICAgICAgYW5pbWF0aW9uRHVyYXRpb25VcGRhdGU6IDAsCiAgICAgICAgICB6b29tOiB0aGlzLnpvb20sCiAgICAgICAgICBsYXlvdXRTaXplOiAnOTIlJywKICAgICAgICAgIGxheW91dENlbnRlcjogWyc1MCUnLCAnNjkuNSUnXSwKICAgICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjNmU1NWRjJywKICAgICAgICAgICAgYm9yZGVyQ29sb3I6ICcjNmU1NWRjJywKICAgICAgICAgICAgYm9yZGVyV2lkdGg6IDEsCiAgICAgICAgICAgIG9wYWNpdHk6IDAuNSwKICAgICAgICAgICAgY29sb3I6ICcjZmZmJwogICAgICAgICAgfSwKICAgICAgICAgIHpsZXZlbDogLTEsCiAgICAgICAgICBzaWxlbnQ6IHRydWUsCiAgICAgICAgICB0b29sdGlwOiB7CiAgICAgICAgICAgIHNob3c6IGZhbHNlLAogICAgICAgICAgICB0cmlnZ2VyOiAnaXRlbScKICAgICAgICAgIH0KICAgICAgICB9XSwKICAgICAgICB2aXN1YWxNYXA6IHsKICAgICAgICAgIHNob3c6IGZhbHNlLAogICAgICAgICAgdG9wOiAndG9wJywKICAgICAgICAgIG1pbjogMCwKICAgICAgICAgIG1heDogMiwKICAgICAgICAgIHNlcmllc0luZGV4OiAwLAogICAgICAgICAgY2FsY3VsYWJsZTogdHJ1ZSwKICAgICAgICAgIGluUmFuZ2U6IHsKICAgICAgICAgICAgY29sb3I6IFsnIzk5OGY3NCcsICcjMDRhNGY2JywgJyMwMDk0M2UnLCAnI2RhZTA3YicsICcjYjYyMDIyJ10KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHRvb2x0aXA6IHsKICAgICAgICAgIHRyaWdnZXI6ICdpdGVtJywKICAgICAgICAgIGFsd2F5c1Nob3dDb250ZW50OiB0cnVlLAogICAgICAgICAgc2hvd0RlbGF5OiAwLAogICAgICAgICAgLy/mta7lsYLmmL7npLrnmoTlu7bov58KICAgICAgICAgIHRyYW5zaXRpb25EdXJhdGlvbjogMC4yLAogICAgICAgICAgLy8g5o+Q56S65qGG5rWu5bGC55qE56e75Yqo5Yqo55S76L+H5rih5pe26Ze0CiAgICAgICAgICBlbnRlcmFibGU6IHRydWUsCiAgICAgICAgICBjbGFzc05hbWU6ICdpY29uTWFwJywKICAgICAgICAgIGV4dHJhQ3NzVGV4dDogJ2JveC1zaGFkb3c6IDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwKTsnLAogICAgICAgICAgZm9ybWF0dGVyOiBmdW5jdGlvbiBmb3JtYXR0ZXIocGFyYW1zKSB7CiAgICAgICAgICAgIGlmIChwYXJhbXMuY29tcG9uZW50U3ViVHlwZSA9PT0gJ3NjYXR0ZXInKSB7CiAgICAgICAgICAgICAgdmFyIGNsYXNzTmFtZSA9ICdpdGVtQ29sb3IxIGl0ZW1Db2xvcic7CiAgICAgICAgICAgICAgdmFyIGh0bWwgPSAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwicG9wLXRvb2x0aXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOjI2MHB4O2hlaWdodDoxNDBweDtib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzREOERGRiwgIzU3QjlGRiwgIzREOERGRik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjEycHg7cG9zaXRpb246IHJlbGF0aXZlO2Rpc3BsYXk6IGZsZXg7ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJ0b29sdGlwR0JcIiBvbmNsaWNrPVwiZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3BvcC10b29sdGlwJykuc3R5bGUuZGlzcGxheSA9ICdub25lJ1wiIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO2N1cnNvcjogcG9pbnRlcjsgd2lkdGg6MzBweDtoZWlnaHQ6MzBweDtsaW5lLWhlaWdodDozMHB4O3RleHQtYWxpZ246Y2VudGVyO3JpZ2h0OjVweDt0b3A6NXB4O2ZvbnQtc2l6ZTogMjBweDtcIj54PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZm9udC1zaXplOiAxOHB4OyBoZWlnaHQ6IDIwcHg7bGluZS1oZWlnaHQ6MjBweDtcIj4iLmNvbmNhdChwYXJhbXMuZGF0YS5wcm9qTmFtZSwgIjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbFRvb2x0aXBcIiBzdHlsZT1cIm1hcmdpbi10b3A6MTBweDtmbGV4OiAxOyBvdmVyZmxvdy15OmF1dG87d2hpdGUtc3BhY2U6bm9ybWFsO2ZvbnQtc2l6ZTogMTZweDtmb250LXdlaWdodDogNDAwOyBwb3NpdGlvbjpyZWxhdGl2ZTsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJwYWRkaW5nLWJvdHRvbTogNXB4XCI+XHU3NzAxXHU0RUZEXHVGRjFBIikuY29uY2F0KHBhcmFtcy5kYXRhLnByb3ZpbmNlLCAiPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwicGFkZGluZy1ib3R0b206IDVweFwiPlx1N0VDRlx1NUVBNlx1RkYxQSIpLmNvbmNhdChwYXJhbXMuZGF0YS52YWx1ZVswXSwgIjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cInBhZGRpbmctYm90dG9tOiA1cHhcIj5cdTdFQUNcdTVFQTZcdUZGMUEiKS5jb25jYXQocGFyYW1zLmRhdGEudmFsdWVbMV0sICI8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+Iik7CiAgICAgICAgICAgICAgcmV0dXJuIGh0bWw7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDQsMjQsNTEsMCknLAogICAgICAgICAgYm9yZGVyQ29sb3I6ICdyZ2JhKDk5LCAxNzMsIDIyMiwwKScsCiAgICAgICAgICBib3JkZXJXaWR0aDogMCwKICAgICAgICAgIHBhZGRpbmc6IFswLCAtMTIsIDAsIDBdLAogICAgICAgICAgcG9zaXRpb246ICdyaWdodCcsCiAgICAgICAgICB0ZXh0U3R5bGU6IHsKICAgICAgICAgICAgY29sb3I6ICcjZmZmJywKICAgICAgICAgICAgZm9udFdlaWdodDogJ2JvbGRlcicKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHNlcmllczogW3sKICAgICAgICAgIHR5cGU6ICdzY2F0dGVyJywKICAgICAgICAgIC8v5bim5pyJ5raf5ryq5pWI5p6c55qECiAgICAgICAgICBtYXA6IG1hcERhdGEsCiAgICAgICAgICByb2FtOiBmYWxzZSwKICAgICAgICAgIGNvb3JkaW5hdGVTeXN0ZW06ICdnZW8nLAogICAgICAgICAgLy/kvb/nlKjlnZDmoIfns7sKICAgICAgICAgIHpsZXZlbDogMSwKICAgICAgICAgIHN5bWJvbFNpemU6IFs0NSwgNTVdLAogICAgICAgICAgc3ltYm9sOiBmdW5jdGlvbiBzeW1ib2wodmFsdWUsIHBhcmFtcykgewogICAgICAgICAgICBpZiAocGFyYW1zLm5hbWUgPT0gJ+WuieW+veecgScpIHsKICAgICAgICAgICAgICByZXR1cm4gJ2ltYWdlOi8vJyArIHJlcXVpcmUoJ0AvYXNzZXRzL2ltZy9teUltYWdlL21hcmtQb2ludHMucG5nJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHBhcmFtcy5uYW1lID09ICfmuZbljZfnnIEnKSB7CiAgICAgICAgICAgICAgcmV0dXJuICdpbWFnZTovLycgKyByZXF1aXJlKCdAL2Fzc2V0cy9pbWcvbXlJbWFnZS9tYXJrUG9pbnRzLnBuZycpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChwYXJhbXMubmFtZSA9PSAn5a6B5aSP5Zue5peP6Ieq5rK75Yy6JykgewogICAgICAgICAgICAgIHJldHVybiAnaW1hZ2U6Ly8nICsgcmVxdWlyZSgnQC9hc3NldHMvaW1nL215SW1hZ2UvbWFya1BvaW50cy5wbmcnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAocGFyYW1zLm5hbWUgPT0gJ+mdkua1t+ecgScpIHsKICAgICAgICAgICAgICByZXR1cm4gJ2ltYWdlOi8vJyArIHJlcXVpcmUoJ0AvYXNzZXRzL2ltZy9teUltYWdlL21hcmtQb2ludHMucG5nJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICBlbXBoYXNpczogewogICAgICAgICAgICBzY2FsZTogZmFsc2UKICAgICAgICAgIH0sCiAgICAgICAgICBzeW1ib2xLZWVwQXNwZWN0OiB0cnVlLAogICAgICAgICAgbGFiZWw6IHsKICAgICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgICAgc2hvdzogdHJ1ZSwKICAgICAgICAgICAgICBjb2xvcjogJyM3Q0MzRkYnLAogICAgICAgICAgICAgIGZvbnRTaXplOiAxNiwKICAgICAgICAgICAgICBmb250RmFtaWx5OiAnY3Vyc2l2ZScsCiAgICAgICAgICAgICAgZm9udFdlaWdodDogJ2JvbGQnLAogICAgICAgICAgICAgIHBvc2l0aW9uOiAndG9wJywKICAgICAgICAgICAgICBwYWRkaW5nOiBbMCwgMCwgLTE1LCAwXSwKICAgICAgICAgICAgICBmb3JtYXR0ZXI6IGZ1bmN0aW9uIGZvcm1hdHRlcihwYXJhbXMpIHsKICAgICAgICAgICAgICAgIHJldHVybiBwYXJhbXMuZGF0YS5jb3VudDsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgICAgY29sb3I6ICcjZmZmJwogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgZGF0YTogbWFwRGF0YSB8fCBbXQogICAgICAgIH1dCiAgICAgIH07CiAgICAgIHRoaXMubWFwRWNoYXJ0cy5zZXRPcHRpb24oZWNoYXJ0T3B0aW9uKTsKICAgICAgdGhpcy5tYXBFY2hhcnRzLm9uKCdnZW9yb2FtJywgZnVuY3Rpb24gKHBhcmFtcykgewogICAgICAgIHZhciBvcHRpb24gPSB0aGF0Lm1hcEVjaGFydHMuZ2V0T3B0aW9uKCk7IC8v6I635b6Xb3B0aW9u5a+56LGhCiAgICAgICAgaWYgKHBhcmFtcy56b29tICE9IG51bGwgJiYgcGFyYW1zLnpvb20gIT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAvL+aNleaNieWIsOe8qeaUvuaXtgogICAgICAgICAgb3B0aW9uLmdlb1sxXS56b29tID0gb3B0aW9uLmdlb1swXS56b29tOyAvL+S4i+Wxgmdlb+eahOe8qeaUvuetiee6p+i3n+edgOS4iuWxgueahGdlb+S4gOi1t+aUueWPmAogICAgICAgICAgb3B0aW9uLmdlb1sxXS5jZW50ZXIgPSBvcHRpb24uZ2VvWzBdLmNlbnRlcjsgLy/kuIvlsYLnmoRnZW/nmoTkuK3lv4PkvY3nva7pmo/nnYDkuIrlsYJnZW/kuIDotbfmlLnlj5gKICAgICAgICAgIG9wdGlvbi5nZW9bMF0ubGFiZWwuc2hvdyA9IHRydWU7IC8v5LiL5bGC55qEZ2Vv55qE5Lit5b+D5L2N572u6ZqP552A5LiK5bGCZ2Vv5LiA6LW35pS55Y+YCiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIC8v5o2V5o2J5Yiw5ouW5puz5pe2CiAgICAgICAgICBvcHRpb24uZ2VvWzFdLmNlbnRlciA9IG9wdGlvbi5nZW9bMF0uY2VudGVyOyAvL+S4i+WxgueahGdlb+eahOS4reW/g+S9jee9rumaj+edgOS4iuWxgmdlb+S4gOi1t+aUueWPmAogICAgICAgIH0KICAgICAgICBpZiAoMSA8IHBhcmFtcy56b29tKSB7CiAgICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmdvem9vbSwndGhpcy5nb3pvb20nKTsKICAgICAgICAgIC8vIGNvbnNvbGUubG9nKHBhcmFtcy56b29tLCdwYXJhbXMuZ296b29tJyk7CgogICAgICAgICAgb3B0aW9uLmdlb1swXS5sYWJlbC5zaG93ID0gdHJ1ZTsgLy/kuIvlsYLnmoRnZW/nmoTkuK3lv4PkvY3nva7pmo/nnYDkuIrlsYJnZW/kuIDotbfmlLnlj5gKICAgICAgICB9IGVsc2UgewogICAgICAgICAgb3B0aW9uLmdlb1swXS5sYWJlbC5zaG93ID0gZmFsc2U7IC8v5LiL5bGC55qEZ2Vv55qE5Lit5b+D5L2N572u6ZqP552A5LiK5bGCZ2Vv5LiA6LW35pS55Y+YCiAgICAgICAgfQogICAgICAgIHRoYXQubWFwRWNoYXJ0cy5zZXRPcHRpb24ob3B0aW9uKTsgLy/orr7nva5vcHRpb24KICAgICAgfSk7CiAgICAgIHRoaXMubWFwRWNoYXJ0cy5vbignY2xpY2snLCBmdW5jdGlvbiAocGFyYW1zKSB7CiAgICAgICAgaWYgKHBhcmFtcy5zZXJpZXNUeXBlID09PSAnc2NhdHRlcicgJiYgIXBhcmFtcy5uYW1lKSB7CiAgICAgICAgICB2YXIgb3B0aW9uID0gdGhhdC5tYXBFY2hhcnRzLmdldE9wdGlvbigpOyAvL+iOt+W+l29wdGlvbuWvueixoQogICAgICAgICAgLy8g54K55Ye75Y+Y6buECiAgICAgICAgICBvcHRpb24uc2VyaWVzWzBdLmRhdGEuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICBpZiAocGFyYW1zLmRhdGEuYXJlYU5hbWUgIT0gaXRlbS5hcmVhTmFtZSkgewogICAgICAgICAgICAgIGlmIChpdGVtLmlzQWN0aXZlKSB7CiAgICAgICAgICAgICAgICBpdGVtLmlzQWN0aXZlID0gZmFsc2U7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIGl0ZW0uaXNBY3RpdmUgPSB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICAgIHRoYXQuZ2V0Q29tcGFueUxpc3QocGFyYW1zLmRhdGEpOwogICAgICAgICAgLy8gc2V0KHBhcmFtcykKICAgICAgICAgIHRoYXQubWFwRWNoYXJ0cy5zZXRPcHRpb24ob3B0aW9uKTsKICAgICAgICAgIHZhciBkb210b29sdGlwR0IgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbHRpcEdCJyk7CiAgICAgICAgICBpZiAoZG9tdG9vbHRpcEdCKSB7CiAgICAgICAgICAgIHZhciBfb3B0aW9uID0gdGhhdC5tYXBFY2hhcnRzLmdldE9wdGlvbigpOyAvL+iOt+W+l29wdGlvbuWvueixoQoKICAgICAgICAgICAgZG9tdG9vbHRpcEdCLm9uY2xpY2sgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgX29wdGlvbi5zZXJpZXNbMF0uZGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgICAgICBpdGVtLmlzQWN0aXZlID0gZmFsc2U7CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgdmFyIGRvbTIgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdpY29uTWFwJyk7CiAgICAgICAgICAgICAgZG9tMlswXS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgIC8vIHNldCh7IGRhdGE6IHsgbmFtZTogJycgfSB9KQogICAgICAgICAgICAgIHRoYXQubWFwRWNoYXJ0cy5zZXRPcHRpb24oX29wdGlvbik7CiAgICAgICAgICAgIH07CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHZhciBfb3B0aW9uMiA9IHRoYXQubWFwRWNoYXJ0cy5nZXRPcHRpb24oKTsgLy/ojrflvpdvcHRpb27lr7nosaEKICAgICAgICAgIF9vcHRpb24yLnNlcmllc1swXS5kYXRhLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgaXRlbS5pc0FjdGl2ZSA9IGZhbHNlOwogICAgICAgICAgfSk7CiAgICAgICAgICB2YXIgZG9tMiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2ljb25NYXAnKTsKICAgICAgICAgIGRvbTJbMF0uc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgIHRoYXQubWFwRWNoYXJ0cy5zZXRPcHRpb24oX29wdGlvbjIpOwogICAgICAgIH0KICAgICAgfSk7CiAgICAgIHZhciBzZXQgPSBmdW5jdGlvbiBzZXQoZXZlbnQpIHsKICAgICAgICBfdGhpczQucG9pbnRBbGwuZm9yRWFjaChmdW5jdGlvbiAodiwgaSkgewogICAgICAgICAgaWYgKHYuYXJlYU5hbWUgIT0gZXZlbnQuZGF0YS5hcmVhTmFtZSkgewogICAgICAgICAgICBpZiAodi5pc0FjdGl2ZSkgewogICAgICAgICAgICAgIHYuaXNBY3RpdmUgPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdi5pc0FjdGl2ZSA9IHRydWU7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH07CiAgICB9LAogICAgc2V0TWFwT3B0aW9uMjogZnVuY3Rpb24gc2V0TWFwT3B0aW9uMigpIHsKICAgICAgdmFyIF90aGlzNSA9IHRoaXM7CiAgICAgIHZhciB0aGF0ID0gdGhpczsKICAgICAgLy8gdGhpcy5wb2ludEFyZWEgPSB0aGlzLkFyZWFDb3VudAogICAgICAvKmxldCBzcGxpdExpc3QyID0gWw0KICAgICAgeyBuYW1lOiAn55+z5Zi05bGx5biCJywgaXRlbVN0eWxlOiB7IG5vcm1hbDogeyBhcmVhQ29sb3I6ICcjMEEyQjdCJyB9IH0gfSwNCiAgICAgIHsgbmFtZTogJ+mTtuW3neW4gicsIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiAnIzBBMkI3QicgfSB9IH0sDQogICAgICB7IG5hbWU6ICflkLTlv6DluIInLCBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogJyMwQTJCN0InIH0gfSB9LA0KICAgICAgeyBuYW1lOiAn5Lit5Y2r5biCJywgaXRlbVN0eWxlOiB7IG5vcm1hbDogeyBhcmVhQ29sb3I6ICcjMEEyQjdCJyB9IH0gfSwNCiAgICAgIHsgbmFtZTogJ+WbuuWOn+W4gicsIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiAnIzBBMkI3QicgfSB9IH0sDQogICAgICBdKi8KICAgICAgdmFyIGltZ1VybCA9IHJlcXVpcmUoJy4uLy4uL2Fzc2V0cy9pbWcvbXlJbWFnZS90YW5rdWFuZy5wbmcnKTsKICAgICAgdmFyIGVjaGFydE9wdGlvbjIgPSB7CiAgICAgICAgZ2VvOiBbewogICAgICAgICAgc2hvdzogdHJ1ZSwKICAgICAgICAgIG1hcDogJ254JywKICAgICAgICAgIHR5cGU6ICdtYXAnLAogICAgICAgICAgYXNwZWN0U2NhbGU6IDAuOCwKICAgICAgICAgIHpvb206IHRoaXMuem9vbTIsCiAgICAgICAgICByb2FtOiB0cnVlLAogICAgICAgICAgLy8g5piv5ZCm5YWB6K6457yp5pS+CiAgICAgICAgICBhbmltYXRpb25EdXJhdGlvblVwZGF0ZTogMCwKICAgICAgICAgIGxheW91dFNpemU6ICc4MiUnLAogICAgICAgICAgbGF5b3V0Q2VudGVyOiBbJzUwJScsICc0OCUnXSwKICAgICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgICBsYWJlbDogewogICAgICAgICAgICAgICAgc2hvdzogZmFsc2UKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgIGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IsCiAgICAgICAgICAgICAgLy/lnLDlm77popzoibIKICAgICAgICAgICAgICBvcGFjaXR5OiAxLAogICAgICAgICAgICAgIGJvcmRlckNvbG9yOiAnIzU4NzZiYScsCiAgICAgICAgICAgICAgLy/lnLDlm77ovrnmoYbpopzoibIKICAgICAgICAgICAgICBib3JkZXJXaWR0aDogMSwKICAgICAgICAgICAgICAvL+WcsOWbvui+ueahhuWuveW6pgogICAgICAgICAgICAgIHNoYWRvd0NvbG9yOiAnbm9uZScsCiAgICAgICAgICAgICAgc2hhZG93Qmx1cjogMTAsCiAgICAgICAgICAgICAgY29sb3I6ICcjZmZmJwogICAgICAgICAgICAgIC8vIOiuvue9ruaJh+W9oueahOmYtOW9sQogICAgICAgICAgICB9LAogICAgICAgICAgICBlbXBoYXNpczogewogICAgICAgICAgICAgIC8v6YCJ5Lit55yB5Lu955qE6aKc6ImyCiAgICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzc2NWFmMycsCiAgICAgICAgICAgICAgbGFiZWw6IHsKICAgICAgICAgICAgICAgIHNob3c6IGZhbHNlCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgbGFiZWw6IHsKICAgICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgICAgc2hvdzogdHJ1ZSwKICAgICAgICAgICAgICBmb250U2l6ZTogMTQsCiAgICAgICAgICAgICAgZm9udFdlaWdodDogNTAwLAogICAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsMjU1LDI1NSwwLjUpJwogICAgICAgICAgICB9LAogICAgICAgICAgICBlbXBoYXNpczogewogICAgICAgICAgICAgIHNob3c6IHRydWUsCiAgICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBhMTgzZCcsCiAgICAgICAgICAgICAgY29sb3I6ICcjZmZmJwogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgdG9vbHRpcDogewogICAgICAgICAgICBzaG93OiB0cnVlLAogICAgICAgICAgICB0cmlnZ2VyOiAnaXRlbScsCiAgICAgICAgICAgIGZvcm1hdHRlcjogZnVuY3Rpb24gZm9ybWF0dGVyKHBhcmFtcykgewogICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCIxMTExIikKICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhwYXJhbXMpCiAgICAgICAgICAgICAgaWYgKHBhcmFtcy5jb21wb25lbnRTdWJUeXBlID09PSAnc2NhdHRlcicpIHsKICAgICAgICAgICAgICAgIHZhciBjbGFzc05hbWUgPSAnaXRlbUNvbG9yMSBpdGVtQ29sb3InOwogICAgICAgICAgICAgICAgdmFyIGh0bWwgPSAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInBvcC10b29sdGlwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6YXV0bztoZWlnaHQ6MTgwcHg7Ym9yZGVyLXJhZGl1czogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzREOERGRiwgIzU3QjlGRiwgIzREOERGRik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MTJweDtwb3NpdGlvbjogcmVsYXRpdmU7ZGlzcGxheTogZmxleDtmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInRvb2x0aXBHQlwiIG9uY2xpY2s9XCJkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjcG9wLXRvb2x0aXAnKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnXCIgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7Y3Vyc29yOiBwb2ludGVyOyB3aWR0aDozMHB4O2hlaWdodDozMHB4O2xpbmUtaGVpZ2h0OjMwcHg7dGV4dC1hbGlnbjpjZW50ZXI7cmlnaHQ6NXB4O3RvcDo1cHg7Zm9udC1zaXplOiAyMHB4O1wiPng8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogMThweDsgaGVpZ2h0OiAyMHB4O2xpbmUtaGVpZ2h0OjIwcHg7XCI+Ii5jb25jYXQocGFyYW1zLmRhdGEucHJvak5hbWUsICI8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbFRvb2x0aXBcIiBzdHlsZT1cIm1hcmdpbi10b3A6MTBweDtmbGV4OiAxOyBvdmVyZmxvdy15OmF1dG87d2hpdGUtc3BhY2U6bm9ybWFsO2ZvbnQtc2l6ZTogMTZweDtmb250LXdlaWdodDogNDAwOyBwb3NpdGlvbjpyZWxhdGl2ZTsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cInBhZGRpbmctYm90dG9tOiA1cHhcIj5cdTYyNDBcdTdFRDFcdTVCOUFcdTYxMUZcdTc3RTVcdThCQkVcdTU5MDciKS5jb25jYXQocGFyYW1zLmRhdGEuZGV2VHlwZU51bSwgIlx1N0M3Qjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwicGFkZGluZy1ib3R0b206IDVweFwiPlx1NjI0MFx1N0VEMVx1NUI5QVx1NjExRlx1NzdFNVx1OEJCRVx1NTkwNyIpLmNvbmNhdChwYXJhbXMuZGF0YS5kZXZOdW0sICJcdTRFMkE8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwicGFkZGluZy1ib3R0b206IDVweFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlx1OEJCRVx1NTkwN1x1OEZEMFx1ODg0Q1x1NkI2M1x1NUUzOCIpLmNvbmNhdChwYXJhbXMuZGF0YS5zdWNjZXNzTnVtLCAiXHU0RTJBLzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cImNvbG9yOnJlZDtcIj5cdThCQkVcdTU5MDdcdTY1NzBcdTYzNkVcdTVGMDJcdTVFMzgiKS5jb25jYXQocGFyYW1zLmRhdGEuZXJyb3JOdW0sICJcdTRFMkE8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4iKTsKICAgICAgICAgICAgICAgIHJldHVybiBodG1sOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAvLyDlj6/ku6XlnKjov5nph4znvJblhpnova7mkq3nmoTmoLzlvI/ljJblhoXlrrkKICAgICAgICAgICAgICAvLyByZXR1cm4gcGFyYW1zLm5hbWUgKyAnOiAnICsgcGFyYW1zLnZhbHVlOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICAvLyByZWdpb25zOiBzcGxpdExpc3QyCiAgICAgICAgfSwgewogICAgICAgICAgbWFwOiAnbngnLAogICAgICAgICAgYXNwZWN0U2NhbGU6IDAuOCwKICAgICAgICAgIHJvYW06IHRydWUsCiAgICAgICAgICAvLyDmmK/lkKblhYHorrjnvKnmlL4KICAgICAgICAgIHpvb206IHRoaXMuem9vbTIsCiAgICAgICAgICBhbmltYXRpb25EdXJhdGlvblVwZGF0ZTogMCwKICAgICAgICAgIGxheW91dFNpemU6ICc4MiUnLAogICAgICAgICAgbGF5b3V0Q2VudGVyOiBbJzUwJScsICc1MC41JSddLAogICAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyM2ZTU1ZGMnLAogICAgICAgICAgICBib3JkZXJDb2xvcjogJyM2ZTU1ZGMnLAogICAgICAgICAgICBib3JkZXJXaWR0aDogMSwKICAgICAgICAgICAgb3BhY2l0eTogMC41LAogICAgICAgICAgICBjb2xvcjogJyNmZmYnCiAgICAgICAgICB9LAogICAgICAgICAgemxldmVsOiAtMSwKICAgICAgICAgIHNpbGVudDogdHJ1ZSwKICAgICAgICAgIHRvb2x0aXA6IHsKICAgICAgICAgICAgc2hvdzogZmFsc2UsCiAgICAgICAgICAgIHRyaWdnZXI6ICdpdGVtJwogICAgICAgICAgfQogICAgICAgIH1dLAogICAgICAgIHZpc3VhbE1hcDogewogICAgICAgICAgc2hvdzogZmFsc2UsCiAgICAgICAgICB0b3A6ICd0b3AnLAogICAgICAgICAgbWluOiAwLAogICAgICAgICAgbWF4OiAyLAogICAgICAgICAgc2VyaWVzSW5kZXg6IDAsCiAgICAgICAgICBjYWxjdWxhYmxlOiB0cnVlLAogICAgICAgICAgaW5SYW5nZTogewogICAgICAgICAgICBjb2xvcjogWycjOTk4Zjc0JywgJyMwNGE0ZjYnLCAnIzAwOTQzZScsICcjZGFlMDdiJywgJyNiNjIwMjInXQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdG9vbHRpcDogewogICAgICAgICAgdHJpZ2dlcjogJ2l0ZW0nLAogICAgICAgICAgYWx3YXlzU2hvd0NvbnRlbnQ6IHRydWUsCiAgICAgICAgICBzaG93RGVsYXk6IDAsCiAgICAgICAgICAvL+a1ruWxguaYvuekuueahOW7tui/nwogICAgICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uOiAwLjIsCiAgICAgICAgICAvLyDmj5DnpLrmoYbmta7lsYLnmoTnp7vliqjliqjnlLvov4fmuKHml7bpl7QKICAgICAgICAgIGVudGVyYWJsZTogdHJ1ZSwKICAgICAgICAgIGNsYXNzTmFtZTogJ2ljb25NYXAnLAogICAgICAgICAgZXh0cmFDc3NUZXh0OiAnYm94LXNoYWRvdzogMCAwIDNweCByZ2JhKDAsIDAsIDAsIDApOycsCiAgICAgICAgICBmb3JtYXR0ZXI6IGZ1bmN0aW9uIGZvcm1hdHRlcihwYXJhbXMpIHsKICAgICAgICAgICAgLy8gY29uc29sZS5sb2cocGFyYW1zKQogICAgICAgICAgICBpZiAocGFyYW1zLmNvbXBvbmVudFN1YlR5cGUgPT09ICdzY2F0dGVyJykgewogICAgICAgICAgICAgIHZhciBjbGFzc05hbWUgPSAnaXRlbUNvbG9yMSBpdGVtQ29sb3InOwogICAgICAgICAgICAgIHZhciBodG1sID0gIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInBvcC10b29sdGlwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDphdXRvO2hlaWdodDoxODBweDtib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzREOERGRiwgIzU3QjlGRiwgIzREOERGRik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjEycHg7cG9zaXRpb246IHJlbGF0aXZlO2Rpc3BsYXk6IGZsZXg7ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJ0b29sdGlwR0JcIiBvbmNsaWNrPVwiZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3BvcC10b29sdGlwJykuc3R5bGUuZGlzcGxheSA9ICdub25lJ1wiIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO2N1cnNvcjogcG9pbnRlcjsgd2lkdGg6MzBweDtoZWlnaHQ6MzBweDtsaW5lLWhlaWdodDozMHB4O3RleHQtYWxpZ246Y2VudGVyO3JpZ2h0OjVweDt0b3A6NXB4O2ZvbnQtc2l6ZTogMjBweDtcIj54PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZm9udC1zaXplOiAxOHB4OyBoZWlnaHQ6IDIwcHg7bGluZS1oZWlnaHQ6MjBweDtcIj4iLmNvbmNhdChwYXJhbXMuZGF0YS5wcm9qTmFtZSwgIjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbFRvb2x0aXBcIiBzdHlsZT1cIm1hcmdpbi10b3A6MTBweDtmbGV4OiAxOyBvdmVyZmxvdy15OmF1dG87d2hpdGUtc3BhY2U6bm9ybWFsO2ZvbnQtc2l6ZTogMTZweDtmb250LXdlaWdodDogNDAwOyBwb3NpdGlvbjpyZWxhdGl2ZTsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJwYWRkaW5nLWJvdHRvbTogNXB4XCI+XHU2MjQwXHU3RUQxXHU1QjlBXHU2MTFGXHU3N0U1XHU4QkJFXHU1OTA3IikuY29uY2F0KHBhcmFtcy5kYXRhLmRldlR5cGVOdW0sICJcdTdDN0I8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJwYWRkaW5nLWJvdHRvbTogNXB4XCI+XHU2MjQwXHU3RUQxXHU1QjlBXHU2MTFGXHU3N0U1XHU4QkJFXHU1OTA3IikuY29uY2F0KHBhcmFtcy5kYXRhLmRldk51bSwgIlx1NEUyQTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwicGFkZGluZy1ib3R0b206IDVweFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cdThCQkVcdTU5MDdcdThGRDBcdTg4NENcdTZCNjNcdTVFMzgiKS5jb25jYXQocGFyYW1zLmRhdGEuc3VjY2Vzc051bSwgIlx1NEUyQS88L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6cmVkO1wiPlx1OEJCRVx1NTkwN1x1NjU3MFx1NjM2RVx1NUYwMlx1NUUzOCIpLmNvbmNhdChwYXJhbXMuZGF0YS5lcnJvck51bSwgIlx1NEUyQTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiIpOwogICAgICAgICAgICAgIHJldHVybiBodG1sOwogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSg0LDI0LDUxLDApJywKICAgICAgICAgIGJvcmRlckNvbG9yOiAncmdiYSg5OSwgMTczLCAyMjIsMCknLAogICAgICAgICAgYm9yZGVyV2lkdGg6IDAsCiAgICAgICAgICBwYWRkaW5nOiBbMCwgLTEyLCAwLCAwXSwKICAgICAgICAgIHBvc2l0aW9uOiAncmlnaHQnLAogICAgICAgICAgdGV4dFN0eWxlOiB7CiAgICAgICAgICAgIGNvbG9yOiAnI2ZmZicsCiAgICAgICAgICAgIGZvbnRXZWlnaHQ6ICdib2xkZXInCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBzZXJpZXM6IFt7CiAgICAgICAgICBkYXRhOiB0aGlzLnBvaW50QXJlYSwKICAgICAgICAgIHR5cGU6ICdzY2F0dGVyJywKICAgICAgICAgIC8v5bim5pyJ5raf5ryq5pWI5p6c55qECiAgICAgICAgICBjb29yZGluYXRlU3lzdGVtOiAnZ2VvJywKICAgICAgICAgIC8v5L2/55So5Z2Q5qCH57O7CiAgICAgICAgICB6bGV2ZWw6IDEsCiAgICAgICAgICBzeW1ib2xTaXplOiBbMzYsIDQ4XSwKICAgICAgICAgIHN5bWJvbDogZnVuY3Rpb24gc3ltYm9sKHZhbHVlLCBwYXJhbXMpIHsKICAgICAgICAgICAgY29uc29sZS5sb2cocGFyYW1zLmRhdGEpOwogICAgICAgICAgICBpZiAocGFyYW1zLmRhdGEuaXNBY3RpdmUpIHsKICAgICAgICAgICAgICByZXR1cm4gJ2ltYWdlOi8vJyArIHJlcXVpcmUoJ0AvYXNzZXRzL2ltZy9teUltYWdlL3BvaW50X29uLnBuZycpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHJldHVybiAnaW1hZ2U6Ly8nICsgcmVxdWlyZSgnQC9hc3NldHMvaW1nL215SW1hZ2UvcG9pbnQucG5nJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICBsYWJlbDogewogICAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgICBzaG93OiB0cnVlLAogICAgICAgICAgICAgIGNvbG9yOiAnI2ZmZicsCiAgICAgICAgICAgICAgZm9udFNpemU6IDIwLAogICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICdjdXJzaXZlJywKICAgICAgICAgICAgICBmb250V2VpZ2h0OiAnYm9sZCcsCiAgICAgICAgICAgICAgcG9zaXRpb246ICd0b3AnLAogICAgICAgICAgICAgIHBhZGRpbmc6IFswLCAwLCAtMTUsIDBdLAogICAgICAgICAgICAgIGZvcm1hdHRlcjogZnVuY3Rpb24gZm9ybWF0dGVyKHBhcmFtcykgewogICAgICAgICAgICAgICAgcmV0dXJuIHBhcmFtcy5kYXRhLm5hbWU7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICAgIGNvbG9yOiAnI2ZmZicKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH1dCiAgICAgIH07CiAgICAgIHRoaXMubWFwRWNoYXJ0czIuc2V0T3B0aW9uKGVjaGFydE9wdGlvbjIpOwogICAgICB0aGlzLm1hcEVjaGFydHMyLm9uKCdnZW9yb2FtJywgZnVuY3Rpb24gKHBhcmFtcykgewogICAgICAgIHZhciBvcHRpb24yID0gdGhhdC5tYXBFY2hhcnRzMi5nZXRPcHRpb24oKTsgLy/ojrflvpdvcHRpb27lr7nosaEKICAgICAgICBpZiAocGFyYW1zLnpvb20gIT0gbnVsbCAmJiBwYXJhbXMuem9vbSAhPSB1bmRlZmluZWQpIHsKICAgICAgICAgIC8v5o2V5o2J5Yiw57yp5pS+5pe2CiAgICAgICAgICBvcHRpb24yLmdlb1sxXS56b29tID0gb3B0aW9uMi5nZW9bMF0uem9vbTsgLy/kuIvlsYJnZW/nmoTnvKnmlL7nrYnnuqfot5/nnYDkuIrlsYLnmoRnZW/kuIDotbfmlLnlj5gKICAgICAgICAgIG9wdGlvbjIuZ2VvWzFdLmNlbnRlciA9IG9wdGlvbjIuZ2VvWzBdLmNlbnRlcjsgLy/kuIvlsYLnmoRnZW/nmoTkuK3lv4PkvY3nva7pmo/nnYDkuIrlsYJnZW/kuIDotbfmlLnlj5gKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy/mjZXmjYnliLDmi5bmm7Pml7YKICAgICAgICAgIG9wdGlvbjIuZ2VvWzFdLmNlbnRlciA9IG9wdGlvbjIuZ2VvWzBdLmNlbnRlcjsgLy/kuIvlsYLnmoRnZW/nmoTkuK3lv4PkvY3nva7pmo/nnYDkuIrlsYJnZW/kuIDotbfmlLnlj5gKICAgICAgICB9CiAgICAgICAgdGhhdC5tYXBFY2hhcnRzMi5zZXRPcHRpb24ob3B0aW9uMik7IC8v6K6+572ub3B0aW9uCiAgICAgIH0pOwogICAgICAvLyBpZiAocGFyYW1zLmNvbXBvbmVudFN1YlR5cGUgPT09ICdzY2F0dGVyJykgewogICAgICAvLyAgICAgY29uc29sZS5sb2cocGFyYW1zKQogICAgICAvLyAgICAgbGV0IG9wdGlvbiA9IHRoYXQubWFwRWNoYXJ0cy5nZXRPcHRpb24oKSAvL+iOt+W+l29wdGlvbuWvueixoQogICAgICAvLyAgICAgLy8g54K55Ye75Y+Y6buECiAgICAgIC8vICAgICBvcHRpb24uc2VyaWVzWzBdLmRhdGEuZm9yRWFjaCgoaXRlbSkgPT4gewogICAgICAvLyAgICAgICAgIGlmIChwYXJhbXMuZGF0YS5uYW1lICE9PSBpdGVtLm5hbWUpIHsKICAgICAgLy8gICAgICAgICAgICAgaWYgKGl0ZW0uaXNBY3RpdmUpIHsKICAgICAgLy8gICAgICAgICAgICAgICAgIGl0ZW0uaXNBY3RpdmUgPSBmYWxzZQogICAgICAvLyAgICAgICAgICAgICB9CiAgICAgIC8vICAgICAgICAgfSBlbHNlIHsKICAgICAgLy8gICAgICAgICAgICAgaXRlbS5pc0FjdGl2ZSA9IHRydWUKICAgICAgLy8gICAgICAgICB9CiAgICAgIC8vICAgICB9KQogICAgICAvLyAgICAgdGhhdC5tYXBFY2hhcnRzLnNldE9wdGlvbihvcHRpb24pCiAgICAgIC8vICAgICB0aGF0LiRlbWl0KCdjbG9zZU1hcCcsIHsgdmFsdWU6IHBhcmFtcy5kYXRhIH0pCiAgICAgIC8vIH0KICAgICAgdGhpcy5tYXBFY2hhcnRzMi5vbignY2xpY2snLCBmdW5jdGlvbiAocGFyYW1zKSB7CiAgICAgICAgaWYgKHBhcmFtcy5jb21wb25lbnRTdWJUeXBlID09PSAnc2NhdHRlcicpIHsKICAgICAgICAgIGNvbnNvbGUubG9nKHBhcmFtcyk7CiAgICAgICAgICB2YXIgb3B0aW9uID0gdGhhdC5tYXBFY2hhcnRzMi5nZXRPcHRpb24oKTsgLy/ojrflvpdvcHRpb27lr7nosaEKCiAgICAgICAgICBvcHRpb24uc2VyaWVzWzBdLmRhdGEuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICBpZiAocGFyYW1zLmRhdGEuYXJlYU5hbWUgIT0gaXRlbS5hcmVhTmFtZSkgewogICAgICAgICAgICAgIGlmIChpdGVtLmlzQWN0aXZlKSB7CiAgICAgICAgICAgICAgICBpdGVtLmlzQWN0aXZlID0gZmFsc2U7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIGl0ZW0uaXNBY3RpdmUgPSB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICAgIHNldDIocGFyYW1zKTsKICAgICAgICAgIHRoYXQubWFwRWNoYXJ0czIuc2V0T3B0aW9uKG9wdGlvbik7CiAgICAgICAgICB0aGF0LiRlbWl0KCdjbG9zZU1hcCcsIHsKICAgICAgICAgICAgdmFsdWU6IHBhcmFtcy5kYXRhCiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgIH0pOwogICAgICB2YXIgc2V0MiA9IGZ1bmN0aW9uIHNldDIoZXZlbnQpIHsKICAgICAgICBfdGhpczUucG9pbnRBcmVhLmZvckVhY2goZnVuY3Rpb24gKHYsIGkpIHsKICAgICAgICAgIGlmICh2LmFyZWFOYW1lICE9IGV2ZW50LmRhdGEuYXJlYU5hbWUpIHsKICAgICAgICAgICAgaWYgKHYuaXNBY3RpdmUpIHsKICAgICAgICAgICAgICB2LmlzQWN0aXZlID0gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHYuaXNBY3RpdmUgPSB0cnVlOwogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9OwogICAgfQogIH0KfTs="},{"version":3,"names":["echarts","_interopRequireWildcard","require","mapChinaJson","beijingJson","shanghaiJson","tianjinJson","chongqingJson","hebeiJson","shanxi1Json","shanxi2Json","henanJson","jiangxiJson","hubeiJson","hunanJson","fujianJson","guangdongJson","hainanJson","sichuanJson","guizhouJson","yunnanJson","anhuiJson","jiangsuJson","zhejiangJson","shandongJson","liaoningJson","jilinJson","heilongjiangJson","neimengguJson","xinjiangJson","xizangJson","guangxiJson","ningxiaJson","qinghaiJson","gansuJson","taiwanJson","xianggangJson","aomenJson","_default","exports","default","name","props","mapCount","type","Number","sendProjSpin","Array","Object","sendMapColor","String","data","zoom","zoom2","mapEcharts","mapEcharts2","mapJson","pointArea","pointAll","companyList","companyAreaList","isCity","cityCount","gozoom","provinceList","id","json","created","console","log","mounted","getInitData","methods","getEquipmentDisByMapApiPage","getEquipmentDisByMapApi","then","res","getCompanyList","_this","params","provinceId","getCompanyListByProvinceId","success","getCompanyAreaList","_this2","areaId","getCompanyListByAreaId","getCityCount","_this3","setTimeout","init","document","getElementById","forEach","item","registerMap","setMapOption2","setMapOption","_this4","geoCoordMap","mapFeatures","features","v","i","properties","center","mapData","value","a","that","push","itemStyle","areaColor","borderColor","shadowColor","splitList","normal","imgUrl","echartOption","geo","show","map","aspectScale","roam","animationDurationUpdate","layoutSize","layoutCenter","label","opacity","borderWidth","shadowBlur","color","emphasis","fontSize","fontWeight","zlevel","regions","silent","tooltip","trigger","visualMap","top","min","max","seriesIndex","calculable","inRange","alwaysShowContent","showDelay","transitionDuration","enterable","className","extraCssText","formatter","componentSubType","html","concat","projName","province","backgroundColor","padding","position","textStyle","series","coordinateSystem","symbolSize","symbol","scale","symbolKeepAspect","fontFamily","count","setOption","on","option","getOption","undefined","seriesType","areaName","isActive","domtooltipGB","onclick","dom2","getElementsByClassName","style","display","set","event","_this5","echartOption2","devTypeNum","devNum","successNum","errorNum","option2","set2","$emit"],"sources":["src/components/home/provinceMap.vue"],"sourcesContent":["<template>\r\n <div class=\"centerTopPage\">\r\n <div class=\"mapBox\">\r\n <div id=\"mapEcharts\"></div>\r\n </div>\r\n <!-- <div class=\"buttonTop\">\r\n <div\r\n :class=\"type == 1 ? 'on' : ''\"\r\n @click=\"getMapSelect(1)\"\r\n class=\"buttom1\"\r\n >\r\n 全国\r\n </div>\r\n <div\r\n :class=\"type == 2 ? 'on' : ''\"\r\n @click=\"getMapSelect(2)\"\r\n class=\"buttom1\"\r\n >\r\n 全市\r\n </div>\r\n </div>-->\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport * as echarts from 'echarts'\r\nlet mapChinaJson = require('@/untils/mapJson/china.json')\r\nlet beijingJson = require('@/untils/mapJson/beijing.json')\r\nlet shanghaiJson = require('@/untils/mapJson/shanghai.json')\r\nlet tianjinJson = require('@/untils/mapJson/tianjin.json')\r\nlet chongqingJson = require('@/untils/mapJson/chongqing.json')\r\nlet hebeiJson = require('@/untils/mapJson/hebei.json')\r\nlet shanxi1Json = require('@/untils/mapJson/shanxi-1.json')\r\nlet shanxi2Json = require('@/untils/mapJson/shanxi-2.json')\r\nlet henanJson = require('@/untils/mapJson/henan.json')\r\nlet jiangxiJson = require('@/untils/mapJson/jiangxi.json')\r\nlet hubeiJson = require('@/untils/mapJson/hubei.json')\r\nlet hunanJson = require('@/untils/mapJson/hunan.json')\r\nlet fujianJson = require('@/untils/mapJson/fujian.json')\r\nlet guangdongJson = require('@/untils/mapJson/guangdong.json')\r\nlet hainanJson = require('@/untils/mapJson/hainan.json')\r\nlet sichuanJson = require('@/untils/mapJson/sichuan.json')\r\nlet guizhouJson = require('@/untils/mapJson/guizhou.json')\r\nlet yunnanJson = require('@/untils/mapJson/yunnan.json')\r\nlet anhuiJson = require('@/untils/mapJson/anhui.json')\r\nlet jiangsuJson = require('@/untils/mapJson/jiangsu.json')\r\nlet zhejiangJson = require('@/untils/mapJson/zhejiang.json')\r\nlet shandongJson = require('@/untils/mapJson/shandong.json')\r\nlet liaoningJson = require('@/untils/mapJson/liaoning.json')\r\nlet jilinJson = require('@/untils/mapJson/jilin.json')\r\nlet heilongjiangJson = require('@/untils/mapJson/heilongjiang.json')\r\nlet neimengguJson = require('@/untils/mapJson/neimenggu.json')\r\nlet xinjiangJson = require('@/untils/mapJson/xinjiang.json')\r\nlet xizangJson = require('@/untils/mapJson/xizang.json')\r\nlet guangxiJson = require('@/untils/mapJson/guangxi.json')\r\nlet ningxiaJson = require('@/untils/mapJson/ningxia.json')\r\nlet qinghaiJson = require('@/untils/mapJson/qinghai.json')\r\nlet gansuJson = require('@/untils/mapJson/gansu.json')\r\nlet taiwanJson = require('@/untils/mapJson/taiwan.json')\r\nlet xianggangJson = require('@/untils/mapJson/xianggang.json')\r\nlet aomenJson = require('@/untils/mapJson/aomen.json')\r\n\r\nexport default {\r\n name: 'centerTopPage',\r\n props: {\r\n mapCount: {\r\n type: Number,\r\n default: null,\r\n },\r\n sendProjSpin: {\r\n type: Array | Object,\r\n },\r\n sendMapColor: {\r\n type: String,\r\n default: '#689AFB',\r\n },\r\n },\r\n data() {\r\n return {\r\n type: this.mapCount,\r\n zoom: 1.6,\r\n zoom2: 1.2,\r\n mapEcharts: null,\r\n mapEcharts2: null,\r\n mapJson: null,\r\n pointArea: this.sendProjSpin,\r\n pointAll: [],\r\n companyList: [],\r\n companyAreaList: [],\r\n isCity: 0,\r\n cityCount: [],\r\n gozoom: 1,\r\n provinceList: [\r\n { id: 1, json: beijingJson },\r\n { id: 2, json: shanghaiJson },\r\n { id: 3, json: tianjinJson },\r\n { id: 4, json: chongqingJson },\r\n { id: 5, json: hebeiJson },\r\n { id: 6, json: shanxi1Json },\r\n { id: 7, json: shanxi2Json },\r\n { id: 8, json: henanJson },\r\n { id: 9, json: jiangxiJson },\r\n { id: 10, json: hubeiJson },\r\n { id: 11, json: hunanJson },\r\n { id: 12, json: fujianJson },\r\n { id: 13, json: guangdongJson },\r\n { id: 14, json: hainanJson },\r\n { id: 15, json: sichuanJson },\r\n { id: 16, json: guizhouJson },\r\n { id: 17, json: yunnanJson },\r\n { id: 18, json: anhuiJson },\r\n { id: 19, json: jiangsuJson },\r\n { id: 20, json: zhejiangJson },\r\n { id: 21, json: shandongJson },\r\n { id: 22, json: liaoningJson },\r\n { id: 23, json: jilinJson },\r\n { id: 24, json: heilongjiangJson },\r\n { id: 25, json: neimengguJson },\r\n { id: 26, json: xinjiangJson },\r\n { id: 27, json: xizangJson },\r\n { id: 28, json: guangxiJson },\r\n { id: 29, json: ningxiaJson },\r\n { id: 30, json: qinghaiJson },\r\n { id: 31, json: gansuJson },\r\n { id: 32, json: taiwanJson },\r\n { id: 33, json: xianggangJson },\r\n { id: 34, json: aomenJson },\r\n ]\r\n }\r\n },\r\n created() {\r\n console.log(this.mapCount)\r\n // this.getCompanyList()\r\n // this.getCompanyAreaList()\r\n // this.getCityCount()\r\n },\r\n mounted() {\r\n // this.getEquipmentDisByMapApiPage()\r\n this.getInitData()\r\n /*let mapElem = document.querySelector('#mapEcharts')\r\n mapElem.addEventListener('click', (e) => {\r\n console.log(e)\r\n })*/\r\n },\r\n methods: {\r\n getEquipmentDisByMapApiPage() {\r\n getEquipmentDisByMapApi().then((res) => {\r\n console.log('res=====', res)\r\n })\r\n },\r\n getCompanyList() {\r\n let params = {\r\n provinceId: '',\r\n }\r\n getCompanyListByProvinceId(params).then((res) => {\r\n if (res.success && res.data) {\r\n this.companyList = res.data\r\n }\r\n })\r\n },\r\n getCompanyAreaList() {\r\n let params = {\r\n areaId: '',\r\n }\r\n getCompanyListByAreaId(params).then((res) => {\r\n if (res.success && res.data) {\r\n this.companyAreaList = res.data\r\n }\r\n })\r\n },\r\n getCityCount() {\r\n // this.getInitData()\r\n // let params = {\r\n // isCity: this.isCity\r\n // }\r\n // getCityCount(params).then(res => {\r\n // if (res.success && res.data) {\r\n // if (this.type == 1) {\r\n // res.data.forEach(item => {\r\n // item.value = item.center.split(',')\r\n // item.isActive = false\r\n // if (item.areaName == '北京市') {\r\n // item.areaColor = '#fff'\r\n // }\r\n // })\r\n // console.log(res.data)\r\n // this.cityCount = res.data\r\n // this.getInitData()\r\n // } else if (this.type == 2) {\r\n // res.data.forEach(item => {\r\n // item.value = item.center.split(',')\r\n // item.isActive = false\r\n // })\r\n // this.AreaCount = res.data\r\n // }\r\n // }\r\n // })\r\n },\r\n /* getMapSelect(type) {\r\n let dom = document.getElementsByClassName('iconMap')\r\n dom[0].style.display = 'none'\r\n if (type == 1) {\r\n this.type = 1\r\n if (this.mapEcharts) {\r\n this.mapEcharts.dispose()\r\n this.mapEcharts = null\r\n }\r\n if (this.mapEcharts2) {\r\n this.mapEcharts2.dispose()\r\n this.mapEcharts2 = null\r\n }\r\n setTimeout(() => {\r\n this.mapEcharts = echarts.init(\r\n document.getElementById('mapEcharts'),\r\n )\r\n let mapJson1 = mapChinaJson\r\n echarts.registerMap('china', mapJson1)\r\n this.setMapOption()\r\n }, 200)\r\n } else {\r\n this.type = 2\r\n this.isCity = 1\r\n this.getCityCount()\r\n if (this.mapEcharts) {\r\n this.mapEcharts.dispose()\r\n this.mapEcharts = null\r\n }\r\n if (this.mapEcharts2) {\r\n this.mapEcharts2.dispose()\r\n this.mapEcharts2 = null\r\n }\r\n setTimeout(() => {\r\n this.mapEcharts2 = echarts.init(\r\n document.getElementById('mapEcharts2'),\r\n )\r\n // let mapJson2 = mapJson('1515507975659761665', '')\r\n let mapJson2 = ningxiaJson\r\n echarts.registerMap('hs', mapJson2)\r\n this.setMapOption2()\r\n }, 200)\r\n }\r\n }, */\r\n getInitData() {\r\n setTimeout(() => {\r\n this.mapEcharts2 = echarts.init(\r\n document.getElementById('mapEcharts'),\r\n )\r\n // let mapJson2 = mapJson('1515507975659761665', '')\r\n let mapJson\r\n /* switch (this.mapCount) {\r\n case 2:\r\n mapJson = ningxiaJson\r\n break\r\n case 3:\r\n mapJson = anhuiJson\r\n break\r\n case 4:\r\n mapJson = neimengguJson\r\n break\r\n case 5:\r\n mapJson = guangdongJson\r\n break\r\n } */\r\n this.provinceList.forEach(item => {\r\n if(item.id === this.mapCount) mapJson = item.json\r\n })\r\n echarts.registerMap('nx', mapJson)\r\n this.setMapOption2()\r\n }, 200)\r\n /*this.mapEcharts = echarts.init(document.getElementById('mapEcharts'))\r\n this.mapJson = mapChinaJson\r\n echarts.registerMap('china', this.mapJson)\r\n this.setMapOption()*/\r\n },\r\n setMapOption() {\r\n //获取当前显示地图下方地市的坐标点数据; 用于气泡显示\r\n let geoCoordMap = {}\r\n // 获取地区详细信息\r\n let mapFeatures = this.mapJson.features\r\n // 遍历获取每个地区的经纬度\r\n mapFeatures.forEach(function (v, i) {\r\n // 获取当前地区名\r\n let name = v.properties.name\r\n if (name) {\r\n // 获取当前地区的经纬度\r\n geoCoordMap[name] = v.properties.center\r\n }\r\n })\r\n\r\n let mapData = [\r\n {\r\n name: '银川市',\r\n value: ['106.22', '38.48'],\r\n a: '100',\r\n },\r\n {\r\n name: '中卫市',\r\n value: ['105.27', '37.10'],\r\n a: '100',\r\n },\r\n {\r\n name: '吴忠市',\r\n value: ['106.22', '37.45'],\r\n a: '100',\r\n },\r\n ]\r\n let that = this\r\n this.pointAll = this.cityCount\r\n this.pointAll.push({\r\n name: '宁夏',\r\n //自定义区域的颜色\r\n itemStyle: {\r\n areaColor: '#F50508',\r\n borderColor: '#1773c3', // 区域边框\r\n shadowColor: '#1773c3', // 阴影\r\n },\r\n })\r\n let splitList = [\r\n {\r\n name: '北京市',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '天津市',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '上海市',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '重庆市',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '河北省',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '河南省',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '云南省',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '辽宁省',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '黑龙江省',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '湖南省',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '安徽省',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '山东省',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '新疆维吾尔自治区',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '江苏省',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '浙江省',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '江西省',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '湖北省',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '广西壮族自治区',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '甘肃省',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '山西省',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '内蒙古自治区',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '陕西省',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '吉林省',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '福建省',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '贵州省',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '广东省',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '青海省',\r\n itemStyle: { normal: { areaColor: '#EEF2FF' } },\r\n },\r\n {\r\n name: '西藏自治区',\r\n itemStyle: { normal: { areaColor: '#AAC4F9' } },\r\n },\r\n {\r\n name: '四川省',\r\n itemStyle: { normal: { areaColor: '#699AFC' } },\r\n },\r\n {\r\n name: '宁夏回族自治区',\r\n itemStyle: { normal: { areaColor: '#2187FF' } },\r\n },\r\n {\r\n name: '海南省',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '台湾省',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '香港特别行政区',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n {\r\n name: '澳门特别行政区',\r\n itemStyle: { normal: { areaColor: '#0A2B7B' } },\r\n },\r\n ]\r\n let imgUrl = require('../../assets/img/myImage/tankuang.png')\r\n let echartOption = {\r\n geo: [\r\n {\r\n show: true,\r\n map: 'china', \r\n aspectScale: 0.8,\r\n zoom: this.zoom,\r\n roam: true, // 是否允许缩放\r\n animationDurationUpdate: 0,\r\n layoutSize: '92%',\r\n layoutCenter: ['50%', '68%'],\r\n itemStyle: {\r\n normal: {\r\n label: { show: false },\r\n areaColor: '#0A2B7B', //地图颜色\r\n opacity: 1,\r\n borderColor: '#174C95', //地图边框颜色\r\n borderWidth: 1, //地图边框宽度\r\n shadowColor: 'none',\r\n shadowBlur: 10,\r\n color: '#fff',\r\n // 设置扇形的阴影\r\n },\r\n emphasis: {\r\n //选中省份的颜色\r\n areaColor: '#765af3',\r\n label: {\r\n show: true,\r\n },\r\n },\r\n },\r\n label: {\r\n normal: {\r\n show: true,\r\n fontSize: 14,\r\n fontWeight: 500,\r\n color: 'rgba(255,255,255,0.5)',\r\n },\r\n emphasis: {\r\n show: true,\r\n areaColor: '#0a183d',\r\n color: '#fff',\r\n },\r\n },\r\n zlevel: 1,\r\n regions: splitList,\r\n },\r\n {\r\n map: 'china',\r\n aspectScale: 0.8,\r\n roam: true, // 是否允许缩放\r\n animationDurationUpdate: 0,\r\n zoom: this.zoom,\r\n layoutSize: '92%',\r\n layoutCenter: ['50%', '69.5%'],\r\n itemStyle: {\r\n areaColor: '#6e55dc',\r\n borderColor: '#6e55dc',\r\n borderWidth: 1,\r\n opacity: 0.5,\r\n color: '#fff',\r\n },\r\n zlevel: -1,\r\n silent: true,\r\n tooltip: {\r\n show: false,\r\n trigger: 'item',\r\n },\r\n },\r\n ],\r\n visualMap: {\r\n show: false,\r\n top: 'top',\r\n min: 0,\r\n max: 2,\r\n seriesIndex: 0,\r\n calculable: true,\r\n inRange: {\r\n color: [\r\n '#998f74',\r\n '#04a4f6',\r\n '#00943e',\r\n '#dae07b',\r\n '#b62022',\r\n ],\r\n },\r\n },\r\n tooltip: {\r\n trigger: 'item',\r\n alwaysShowContent: true,\r\n showDelay: 0, //浮层显示的延迟\r\n transitionDuration: 0.2, // 提示框浮层的移动动画过渡时间\r\n enterable: true,\r\n className: 'iconMap',\r\n extraCssText: 'box-shadow: 0 0 3px rgba(0, 0, 0, 0);',\r\n formatter: function (params) { \r\n if (params.componentSubType === 'scatter') {\r\n let className = 'itemColor1 itemColor'\r\n let html = `\r\n <div\r\n id=\"pop-tooltip\"\r\n style=\"\r\n width:260px;height:140px;border-radius: 15px;\r\n background: linear-gradient(to bottom, #4D8DFF, #57B9FF, #4D8DFF);\r\n padding:12px;position: relative;display: flex;flex-direction: column;\r\n \"\r\n >\r\n <div id=\"tooltipGB\" onclick=\"document.querySelector('#pop-tooltip').style.display = 'none'\" style=\"position: absolute;cursor: pointer; width:30px;height:30px;line-height:30px;text-align:center;right:5px;top:5px;font-size: 20px;\">x</div>\r\n <div style=\"font-size: 18px; height: 20px;line-height:20px;\">${params.data.projName}</div>\r\n <div class=\"scrollTooltip\" style=\"margin-top:10px;flex: 1; overflow-y:auto;white-space:normal;font-size: 16px;font-weight: 400; position:relative; display: flex; flex-direction: column; justify-content: space-around;\">\r\n <span style=\"padding-bottom: 5px\">省份:${params.data.province}</span>\r\n <span style=\"padding-bottom: 5px\">经度:${params.data.value[0]}</span>\r\n <span style=\"padding-bottom: 5px\">纬度:${params.data.value[1]}</span>\r\n </div>\r\n </div>`\r\n return html\r\n }\r\n },\r\n backgroundColor: 'rgba(4,24,51,0)',\r\n borderColor: 'rgba(99, 173, 222,0)',\r\n borderWidth: 0,\r\n padding: [0, -12, 0, 0],\r\n position: 'right',\r\n textStyle: {\r\n color: '#fff',\r\n fontWeight: 'bolder',\r\n },\r\n },\r\n series: [\r\n {\r\n type: 'scatter', //带有涟漪效果的\r\n map: mapData,\r\n roam: false,\r\n coordinateSystem: 'geo', //使用坐标系\r\n zlevel: 1,\r\n symbolSize: [45, 55],\r\n symbol: (value, params) => {\r\n if (params.name == '安徽省') {\r\n return (\r\n 'image://' +\r\n require('@/assets/img/myImage/markPoints.png')\r\n )\r\n }\r\n if (params.name == '湖南省') {\r\n return (\r\n 'image://' +\r\n require('@/assets/img/myImage/markPoints.png')\r\n )\r\n }\r\n if (params.name == '宁夏回族自治区') {\r\n return (\r\n 'image://' +\r\n require('@/assets/img/myImage/markPoints.png')\r\n )\r\n }\r\n if (params.name == '青海省') {\r\n return (\r\n 'image://' +\r\n require('@/assets/img/myImage/markPoints.png')\r\n )\r\n }\r\n },\r\n emphasis: {\r\n scale: false,\r\n },\r\n symbolKeepAspect: true,\r\n label: {\r\n normal: {\r\n show: true,\r\n color: '#7CC3FF',\r\n fontSize: 16,\r\n fontFamily: 'cursive',\r\n fontWeight: 'bold',\r\n position: 'top',\r\n padding: [0, 0, -15, 0],\r\n formatter: function (params) {\r\n return params.data.count\r\n },\r\n },\r\n },\r\n itemStyle: {\r\n normal: {\r\n color: '#fff',\r\n },\r\n },\r\n data: mapData || [],\r\n },\r\n ],\r\n }\r\n this.mapEcharts.setOption(echartOption)\r\n this.mapEcharts.on('georoam', function (params) {\r\n let option = that.mapEcharts.getOption() //获得option对象\r\n if (params.zoom != null && params.zoom != undefined) {\r\n //捕捉到缩放时\r\n option.geo[1].zoom = option.geo[0].zoom //下层geo的缩放等级跟着上层的geo一起改变\r\n option.geo[1].center = option.geo[0].center //下层的geo的中心位置随着上层geo一起改变\r\n option.geo[0].label.show = true //下层的geo的中心位置随着上层geo一起改变\r\n } else {\r\n //捕捉到拖曳时\r\n option.geo[1].center = option.geo[0].center //下层的geo的中心位置随着上层geo一起改变\r\n }\r\n if (1 < params.zoom) {\r\n // console.log(this.gozoom,'this.gozoom');\r\n // console.log(params.zoom,'params.gozoom');\r\n\r\n option.geo[0].label.show = true //下层的geo的中心位置随着上层geo一起改变\r\n } else {\r\n option.geo[0].label.show = false //下层的geo的中心位置随着上层geo一起改变\r\n }\r\n that.mapEcharts.setOption(option) //设置option\r\n })\r\n\r\n this.mapEcharts.on('click', function (params) {\r\n if (params.seriesType === 'scatter' && !params.name) {\r\n let option = that.mapEcharts.getOption() //获得option对象\r\n // 点击变黄\r\n option.series[0].data.forEach((item) => {\r\n if (params.data.areaName != item.areaName) {\r\n if (item.isActive) {\r\n item.isActive = false\r\n }\r\n } else {\r\n item.isActive = true\r\n }\r\n })\r\n\r\n that.getCompanyList(params.data)\r\n // set(params)\r\n that.mapEcharts.setOption(option)\r\n let domtooltipGB = document.getElementById('tooltipGB')\r\n if (domtooltipGB) {\r\n let option = that.mapEcharts.getOption() //获得option对象\r\n\r\n domtooltipGB.onclick = () => {\r\n option.series[0].data.forEach((item) => {\r\n item.isActive = false\r\n })\r\n\r\n let dom2 =\r\n document.getElementsByClassName('iconMap')\r\n\r\n dom2[0].style.display = 'none'\r\n // set({ data: { name: '' } })\r\n that.mapEcharts.setOption(option)\r\n }\r\n }\r\n } else {\r\n let option = that.mapEcharts.getOption() //获得option对象\r\n option.series[0].data.forEach((item) => {\r\n item.isActive = false\r\n })\r\n let dom2 = document.getElementsByClassName('iconMap')\r\n dom2[0].style.display = 'none'\r\n that.mapEcharts.setOption(option)\r\n }\r\n })\r\n let set = (event) => {\r\n this.pointAll.forEach((v, i) => {\r\n if (v.areaName != event.data.areaName) {\r\n if (v.isActive) {\r\n v.isActive = false\r\n }\r\n } else {\r\n v.isActive = true\r\n }\r\n })\r\n }\r\n },\r\n\r\n setMapOption2() {\r\n let that = this\r\n // this.pointArea = this.AreaCount\r\n /*let splitList2 = [\r\n { name: '石嘴山市', itemStyle: { normal: { areaColor: '#0A2B7B' } } },\r\n { name: '银川市', itemStyle: { normal: { areaColor: '#0A2B7B' } } },\r\n { name: '吴忠市', itemStyle: { normal: { areaColor: '#0A2B7B' } } },\r\n { name: '中卫市', itemStyle: { normal: { areaColor: '#0A2B7B' } } },\r\n { name: '固原市', itemStyle: { normal: { areaColor: '#0A2B7B' } } },\r\n ]*/\r\n let imgUrl = require('../../assets/img/myImage/tankuang.png')\r\n let echartOption2 = {\r\n geo: [\r\n {\r\n show: true,\r\n map: 'nx',\r\n type:'map',\r\n aspectScale: 0.8,\r\n zoom: this.zoom2,\r\n roam: true, // 是否允许缩放\r\n animationDurationUpdate: 0,\r\n layoutSize: '82%',\r\n layoutCenter: ['50%', '48%'],\r\n itemStyle: {\r\n normal: {\r\n label: { show: false },\r\n areaColor: this.sendMapColor, //地图颜色\r\n opacity: 1,\r\n borderColor: '#5876ba', //地图边框颜色\r\n borderWidth: 1, //地图边框宽度\r\n shadowColor: 'none',\r\n shadowBlur: 10,\r\n color: '#fff',\r\n // 设置扇形的阴影\r\n },\r\n emphasis: {\r\n //选中省份的颜色\r\n areaColor: '#765af3',\r\n label: { show: false },\r\n },\r\n },\r\n label: {\r\n normal: {\r\n show: true,\r\n fontSize: 14,\r\n fontWeight: 500,\r\n color: 'rgba(255,255,255,0.5)',\r\n },\r\n emphasis: {\r\n show: true,\r\n areaColor: '#0a183d',\r\n color: '#fff',\r\n },\r\n },\r\n tooltip: {\r\n show:true,\r\n trigger: 'item',\r\n formatter: function (params) {\r\n // console.log(\"1111\")\r\n // console.log(params)\r\n if (params.componentSubType === 'scatter') {\r\n \r\n let className = 'itemColor1 itemColor'\r\n let html = `\r\n <div\r\n id=\"pop-tooltip\"\r\n style=\"\r\n width:auto;height:180px;border-radius: 15px;\r\n background: linear-gradient(to bottom, #4D8DFF, #57B9FF, #4D8DFF);\r\n padding:12px;position: relative;display: flex;flex-direction: column;\r\n \"\r\n >\r\n <div id=\"tooltipGB\" onclick=\"document.querySelector('#pop-tooltip').style.display = 'none'\" style=\"position: absolute;cursor: pointer; width:30px;height:30px;line-height:30px;text-align:center;right:5px;top:5px;font-size: 20px;\">x</div>\r\n <div style=\"font-size: 18px; height: 20px;line-height:20px;\">${params.data.projName}</div>\r\n <div class=\"scrollTooltip\" style=\"margin-top:10px;flex: 1; overflow-y:auto;white-space:normal;font-size: 16px;font-weight: 400; position:relative; display: flex; flex-direction: column; justify-content: space-around;\">\r\n <span style=\"padding-bottom: 5px\">所绑定感知设备${params.data.devTypeNum}类</span>\r\n <span style=\"padding-bottom: 5px\">所绑定感知设备${params.data.devNum}个</span>\r\n <div style=\"padding-bottom: 5px\">\r\n <span>设备运行正常${params.data.successNum}个/</span>\r\n <span style=\"color:red;\">设备数据异常${params.data.errorNum}个</span>\r\n </div>\r\n \r\n </div>\r\n </div>`\r\n return html\r\n }\r\n // 可以在这里编写轮播的格式化内容\r\n // return params.name + ': ' + params.value;\r\n }\r\n \r\n },\r\n // regions: splitList2\r\n },\r\n {\r\n map: 'nx',\r\n aspectScale: 0.8,\r\n roam: true, // 是否允许缩放\r\n zoom: this.zoom2,\r\n animationDurationUpdate: 0,\r\n layoutSize: '82%',\r\n layoutCenter: ['50%', '50.5%'],\r\n itemStyle: {\r\n areaColor: '#6e55dc',\r\n borderColor: '#6e55dc',\r\n borderWidth: 1,\r\n opacity: 0.5,\r\n color: '#fff',\r\n },\r\n zlevel: -1,\r\n silent: true,\r\n tooltip: {\r\n show: false,\r\n trigger: 'item',\r\n },\r\n },\r\n ],\r\n visualMap: {\r\n show: false,\r\n top: 'top',\r\n min: 0,\r\n max: 2,\r\n seriesIndex: 0,\r\n calculable: true,\r\n inRange: {\r\n color: [\r\n '#998f74',\r\n '#04a4f6',\r\n '#00943e',\r\n '#dae07b',\r\n '#b62022',\r\n ],\r\n },\r\n },\r\n tooltip: {\r\n trigger: 'item',\r\n alwaysShowContent: true,\r\n showDelay: 0, //浮层显示的延迟\r\n transitionDuration: 0.2, // 提示框浮层的移动动画过渡时间\r\n enterable: true,\r\n className: 'iconMap',\r\n extraCssText: 'box-shadow: 0 0 3px rgba(0, 0, 0, 0);',\r\n formatter: function (params) {\r\n // console.log(params)\r\n if (params.componentSubType === 'scatter') {\r\n let className = 'itemColor1 itemColor'\r\n let html = `\r\n <div\r\n id=\"pop-tooltip\"\r\n style=\"\r\n width:auto;height:180px;border-radius: 15px;\r\n background: linear-gradient(to bottom, #4D8DFF, #57B9FF, #4D8DFF);\r\n padding:12px;position: relative;display: flex;flex-direction: column;\r\n \"\r\n >\r\n <div id=\"tooltipGB\" onclick=\"document.querySelector('#pop-tooltip').style.display = 'none'\" style=\"position: absolute;cursor: pointer; width:30px;height:30px;line-height:30px;text-align:center;right:5px;top:5px;font-size: 20px;\">x</div>\r\n <div style=\"font-size: 18px; height: 20px;line-height:20px;\">${params.data.projName}</div>\r\n <div class=\"scrollTooltip\" style=\"margin-top:10px;flex: 1; overflow-y:auto;white-space:normal;font-size: 16px;font-weight: 400; position:relative; display: flex; flex-direction: column; justify-content: space-around;\">\r\n <span style=\"padding-bottom: 5px\">所绑定感知设备${params.data.devTypeNum}类</span>\r\n <span style=\"padding-bottom: 5px\">所绑定感知设备${params.data.devNum}个</span>\r\n <div style=\"padding-bottom: 5px\">\r\n <span>设备运行正常${params.data.successNum}个/</span>\r\n <span style=\"color:red;\">设备数据异常${params.data.errorNum}个</span>\r\n </div>\r\n \r\n </div>\r\n </div>`\r\n return html\r\n }\r\n },\r\n backgroundColor: 'rgba(4,24,51,0)',\r\n borderColor: 'rgba(99, 173, 222,0)',\r\n borderWidth: 0,\r\n padding: [0, -12, 0, 0],\r\n position: 'right',\r\n textStyle: {\r\n color: '#fff',\r\n fontWeight: 'bolder',\r\n },\r\n },\r\n\r\n series: [\r\n {\r\n data: this.pointArea,\r\n type: 'scatter', //带有涟漪效果的\r\n coordinateSystem: 'geo', //使用坐标系\r\n zlevel: 1,\r\n symbolSize: [36, 48],\r\n symbol: function (value, params) {\r\n console.log(params.data)\r\n if (params.data.isActive) {\r\n return (\r\n 'image://' +\r\n require('@/assets/img/myImage/point_on.png')\r\n )\r\n } else {\r\n return (\r\n 'image://' +\r\n require('@/assets/img/myImage/point.png')\r\n )\r\n }\r\n },\r\n label: {\r\n normal: {\r\n show: true,\r\n color: '#fff',\r\n fontSize: 20,\r\n fontFamily: 'cursive',\r\n fontWeight: 'bold',\r\n position: 'top',\r\n padding: [0, 0, -15, 0],\r\n formatter: function (params) {\r\n return params.data.name\r\n },\r\n },\r\n },\r\n itemStyle: {\r\n normal: {\r\n color: '#fff',\r\n },\r\n },\r\n },\r\n ],\r\n }\r\n this.mapEcharts2.setOption(echartOption2)\r\n\r\n this.mapEcharts2.on('georoam', function (params) {\r\n let option2 = that.mapEcharts2.getOption() //获得option对象\r\n if (params.zoom != null && params.zoom != undefined) {\r\n //捕捉到缩放时\r\n option2.geo[1].zoom = option2.geo[0].zoom //下层geo的缩放等级跟着上层的geo一起改变\r\n option2.geo[1].center = option2.geo[0].center //下层的geo的中心位置随着上层geo一起改变\r\n } else {\r\n //捕捉到拖曳时\r\n option2.geo[1].center = option2.geo[0].center //下层的geo的中心位置随着上层geo一起改变\r\n }\r\n that.mapEcharts2.setOption(option2) //设置option\r\n }) \r\n // if (params.componentSubType === 'scatter') {\r\n // console.log(params)\r\n // let option = that.mapEcharts.getOption() //获得option对象\r\n // // 点击变黄\r\n // option.series[0].data.forEach((item) => {\r\n // if (params.data.name !== item.name) {\r\n // if (item.isActive) {\r\n // item.isActive = false\r\n // }\r\n // } else {\r\n // item.isActive = true\r\n // }\r\n // })\r\n // that.mapEcharts.setOption(option)\r\n // that.$emit('closeMap', { value: params.data })\r\n // }\r\n this.mapEcharts2.on('click', function (params) {\r\n if (params.componentSubType === 'scatter') {\r\n console.log(params)\r\n let option = that.mapEcharts2.getOption() //获得option对象\r\n\r\n option.series[0].data.forEach((item) => {\r\n if (params.data.areaName != item.areaName) {\r\n if (item.isActive) {\r\n item.isActive = false\r\n }\r\n } else {\r\n item.isActive = true\r\n }\r\n })\r\n set2(params)\r\n that.mapEcharts2.setOption(option)\r\n that.$emit('closeMap', { value: params.data })\r\n }\r\n })\r\n\r\n let set2 = (event) => {\r\n this.pointArea.forEach((v, i) => {\r\n if (v.areaName != event.data.areaName) {\r\n if (v.isActive) {\r\n v.isActive = false\r\n }\r\n } else {\r\n v.isActive = true\r\n }\r\n })\r\n }\r\n },\r\n },\r\n}\r\n</script>\r\n\r\n<style lang=\"less\" scoped>\r\n.centerTopPage {\r\n width: 100%;\r\n height: 100%;\r\n // background:palegoldenrod;\r\n margin-bottom: 2%;\r\n padding: 0 10px;\r\n position: relative;\r\n box-sizing: border-box;\r\n .iconMap {\r\n display: block !important;\r\n visibility: visible !important;\r\n opacity: 1;\r\n }\r\n .buttonTop {\r\n width: 100%;\r\n display: flex;\r\n justify-content: flex-start;\r\n }\r\n .buttom1 {\r\n width: 110px;\r\n height: 32px;\r\n text-align: center;\r\n line-height: 32px;\r\n border-radius: 4px;\r\n color: #55f3fb;\r\n // background: url(../../assets/img/checked.png) no-repeat center;\r\n background-size: 110px 32px;\r\n margin-right: 12px;\r\n cursor: pointer;\r\n }\r\n .buttom1.on {\r\n color: #0095ff;\r\n // background: url(../../assets/img/checked_on.png) no-repeat center;\r\n background-size: 110px 32px;\r\n }\r\n .mapBox {\r\n width: 100%;\r\n height: 97%;\r\n display: flex;\r\n position: relative;\r\n #mapEcharts {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n #mapEcharts2 {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n z-index: 1000;\r\n }\r\n .label-box {\r\n position: absolute;\r\n bottom: 0px;\r\n left: 40px;\r\n // background: url('../../assets/img/home/labelBg.png') no-repeat;\r\n background-size: 100% 100%;\r\n padding: 10px 15px;\r\n .item {\r\n font-size: 14px;\r\n line-height: 22px;\r\n color: #fff;\r\n position: relative;\r\n padding-left: 15px;\r\n font-size: 16px;\r\n }\r\n .item:before {\r\n content: '';\r\n width: 10px;\r\n height: 10px;\r\n background: #06bbf2;\r\n position: absolute;\r\n top: 6px;\r\n left: 0px;\r\n }\r\n .itemColor1:before {\r\n background: #06bbf2;\r\n }\r\n .itemColor2:before {\r\n background: #2df0fe;\r\n }\r\n .itemColor3:before {\r\n background: #10e0a5;\r\n }\r\n .itemColor4:before {\r\n background: #dcef4e;\r\n }\r\n .itemColor5:before {\r\n background: #f48413;\r\n }\r\n .itemColor6:before {\r\n background: #fc5403;\r\n }\r\n }\r\n}\r\n</style>\r\n\r\n<style>\r\n.scrollTooltip::-webkit-scrollbar {\r\n width: 10px;\r\n height: 10px;\r\n}\r\n.scrollTooltip::-webkit-scrollbar-thumb {\r\n background-color: #1653a6;\r\n border-radius: 10px;\r\n -webkit-box-shadow: inset 1px 1px 0 #1653a6;\r\n}\r\n.itemColor {\r\n position: relative;\r\n padding-left: 15px;\r\n line-height: 22px;\r\n}\r\n.itemColor:before {\r\n content: '';\r\n width: 10px;\r\n height: 10px;\r\n background: #06bbf2;\r\n position: absolute;\r\n top: 6px;\r\n left: 0px;\r\n}\r\n.itemColor1:before {\r\n background: #06bbf2;\r\n}\r\n.itemColor2:before {\r\n background: #2df0fe;\r\n}\r\n.itemColor3:before {\r\n background: #10e0a5;\r\n}\r\n.itemColor4:before {\r\n background: #dcef4e;\r\n}\r\n.itemColor5:before {\r\n background: #f48413;\r\n}\r\n.itemColor6:before {\r\n background: #fc5403;\r\n}\r\n</style>\r\n"],"mappings":"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;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;IAAA,CACA;IACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACAhB,WAAA,WAAAA,YAAA;MAAA,IAAAiB,MAAA;MACAC,UAAA;QACAD,MAAA,CAAAjC,WAAA,GAAAvD,OAAA,CAAA0F,IAAA,CACAC,QAAA,CAAAC,cAAA,cACA;QACA;QACA,IAAApC,OAAA;QACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;QACAgC,MAAA,CAAAxB,YAAA,CAAA6B,OAAA,WAAAC,IAAA;UACA,IAAAA,IAAA,CAAA7B,EAAA,KAAAuB,MAAA,CAAA7C,QAAA,EAAAa,OAAA,GAAAsC,IAAA,CAAA5B,IAAA;QACA;QACAlE,OAAA,CAAA+F,WAAA,OAAAvC,OAAA;QACAgC,MAAA,CAAAQ,aAAA;MACA;MACA;AACA;AACA;AACA;IACA;IACAC,YAAA,WAAAA,aAAA;MAAA,IAAAC,MAAA;MACA;MACA,IAAAC,WAAA;MACA;MACA,IAAAC,WAAA,QAAA5C,OAAA,CAAA6C,QAAA;MACA;MACAD,WAAA,CAAAP,OAAA,WAAAS,CAAA,EAAAC,CAAA;QACA;QACA,IAAA9D,IAAA,GAAA6D,CAAA,CAAAE,UAAA,CAAA/D,IAAA;QACA,IAAAA,IAAA;UACA;UACA0D,WAAA,CAAA1D,IAAA,IAAA6D,CAAA,CAAAE,UAAA,CAAAC,MAAA;QACA;MACA;MAEA,IAAAC,OAAA,IACA;QACAjE,IAAA;QACAkE,KAAA;QACAC,CAAA;MACA,GACA;QACAnE,IAAA;QACAkE,KAAA;QACAC,CAAA;MACA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","ignoreList":[]}]}