SafetyScreen-ui/node_modules/.cache/babel-loader/459a37840c331153ed9f30cab0c...

1 line
116 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\\countryMap.vue?vue&type=script&lang=js","dependencies":[{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui2\\src\\components\\home\\countryMap.vue","mtime":1740032704200},{"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:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJGOi93b3Jrc3BhY2Uvd2Vic3Rvcm0vU2FmZXR5U2NyZWVuLXVpMi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHQuanMiKS5kZWZhdWx0Owp2YXIgX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQgPSByZXF1aXJlKCJGOi93b3Jrc3BhY2Uvd2Vic3Rvcm0vU2FmZXR5U2NyZWVuLXVpMi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkLmpzIikuZGVmYXVsdDsKT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogIHZhbHVlOiB0cnVlCn0pOwpleHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5jb25jYXQuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmZ1bmN0aW9uLm5hbWUuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmNvbnN0cnVjdG9yLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5mb3ItZWFjaC5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMubnVtYmVyLmNvbnN0cnVjdG9yLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIik7CnZhciBlY2hhcnRzID0gX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQocmVxdWlyZSgiZWNoYXJ0cyIpKTsKdmFyIF9jaGluYSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiQC91dGlscy9tYXBKc29uL2NoaW5hLmpzb24iKSk7CnZhciBfbmluZ3hpYSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiQC91dGlscy9tYXBKc29uL25pbmd4aWEuanNvbiIpKTsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8gbGV0IG1hcENoaW5hSnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24vY2hpbmEuanNvbicpCi8vIGxldCBuaW5neGlhSnNvbiA9IHJlcXVpcmUoJ0AvdW50aWxzL21hcEpzb24vbmluZ3hpYS5qc29uJykKdmFyIF9kZWZhdWx0ID0gZXhwb3J0cy5kZWZhdWx0ID0gewogIG5hbWU6ICdjZW50ZXJUb3BQYWdlJywKICBwcm9wczogewogICAgc2VuZEhlaWdodDogewogICAgICB0eXBlOiBTdHJpbmcsCiAgICAgIGRlZmF1bHQ6ICcxMDAlJwogICAgfSwKICAgIHNlbmRNYXBDb2xvcjogewogICAgICB0eXBlOiBTdHJpbmcsCiAgICAgIGRlZmF1bHQ6ICcjNjg5QUZCJwogICAgfSwKICAgIHNlbmRHZW86IHsKICAgICAgdHlwZTogQXJyYXksCiAgICAgIGRlZmF1bHQ6IG51bGwKICAgIH0sCiAgICBzZW5kTnVtYmVyOiB7CiAgICAgIHR5cGU6IE51bWJlcgogICAgfSwKICAgIHNob3dMaW5lOiB7CiAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgIGRlZmF1bHQ6IGZhbHNlCiAgICB9LAogICAgc2VuZFByb2pTcGluOiB7CiAgICAgIHR5cGU6IEFycmF5IHwgT2JqZWN0CiAgICB9CiAgfSwKICB3YXRjaDogewogICAgc2VuZEdlbzogewogICAgICBoYW5kbGVyOiBmdW5jdGlvbiBoYW5kbGVyKG5ld1ZhbCwgb2xkVmFsKSB7CiAgICAgICAgY29uc29sZS5sb2cobmV3VmFsLCBvbGRWYWwpOwogICAgICAgIGlmIChuZXdWYWwgIT09IG9sZFZhbCkgewogICAgICAgICAgdGhpcy5nZW9WYWwgPSBuZXdWYWw7CiAgICAgICAgICB0aGlzLnNldE1hcE9wdGlvbigpOwogICAgICAgIH0KICAgICAgfSwKICAgICAgZGVlcDogdHJ1ZQogICAgfQogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIHR5cGU6IDEsCiAgICAgIHpvb206IDEuNiwKICAgICAgem9vbTI6IDEuMiwKICAgICAgbWFwRWNoYXJ0czogbnVsbCwKICAgICAgbWFwRWNoYXJ0czI6IG51bGwsCiAgICAgIG1hcEpzb246IG51bGwsCiAgICAgIHBvaW50QXJlYTogdGhpcy5zZW5kUHJvalNwaW4sCiAgICAgIHBvaW50QWxsOiBbXSwKICAgICAgY29tcGFueUxpc3Q6IFtdLAogICAgICBjb21wYW55QXJlYUxpc3Q6IFtdLAogICAgICBpc0NpdHk6IDAsCiAgICAgIGNpdHlDb3VudDogW10sCiAgICAgIGdvem9vbTogMSwKICAgICAgZ2VvVmFsOiBudWxsCiAgICB9OwogIH0sCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIC8vIHRoaXMuZ2V0Q29tcGFueUxpc3QoKQogICAgLy8gdGhpcy5nZXRDb21wYW55QXJlYUxpc3QoKQogICAgLy8gdGhpcy5nZXRDaXR5Q291bnQoKQogIH0sCiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHsKICAgIC8vIHRoaXMuZ2V0RXF1aXBtZW50RGlzQnlNYXBBcGlQYWdlKCkKICAgIHRoaXMuZ2V0SW5pdERhdGEoKTsKICAgIC8qbGV0IG1hcEVsZW0gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjbWFwRWNoYXJ0cycpDQogICAgbWFwRWxlbS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChlKSA9PiB7DQogICAgY29uc29sZS5sb2coZSkNCiAgICB9KSovCiAgfSwKICBtZXRob2RzOiB7CiAgICBnZXRFcXVpcG1lbnREaXNCeU1hcEFwaVBhZ2U6IGZ1bmN0aW9uIGdldEVxdWlwbWVudERpc0J5TWFwQXBpUGFnZSgpIHsKICAgICAgZ2V0RXF1aXBtZW50RGlzQnlNYXBBcGkoKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBjb25zb2xlLmxvZygncmVzPT09PT0nLCByZXMpOwogICAgICB9KTsKICAgIH0sCiAgICBnZXRDb21wYW55TGlzdDogZnVuY3Rpb24gZ2V0Q29tcGFueUxpc3QoKSB7CiAgICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICAgIHZhciBwYXJhbXMgPSB7CiAgICAgICAgcHJvdmluY2VJZDogJycKICAgICAgfTsKICAgICAgZ2V0Q29tcGFueUxpc3RCeVByb3ZpbmNlSWQocGFyYW1zKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBpZiAocmVzLnN1Y2Nlc3MgJiYgcmVzLmRhdGEpIHsKICAgICAgICAgIF90aGlzLmNvbXBhbnlMaXN0ID0gcmVzLmRhdGE7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICBnZXRDb21wYW55QXJlYUxpc3Q6IGZ1bmN0aW9uIGdldENvbXBhbnlBcmVhTGlzdCgpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIHZhciBwYXJhbXMgPSB7CiAgICAgICAgYXJlYUlkOiAnJwogICAgICB9OwogICAgICBnZXRDb21wYW55TGlzdEJ5QXJlYUlkKHBhcmFtcykudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgaWYgKHJlcy5zdWNjZXNzICYmIHJlcy5kYXRhKSB7CiAgICAgICAgICBfdGhpczIuY29tcGFueUFyZWFMaXN0ID0gcmVzLmRhdGE7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICBnZXRDaXR5Q291bnQ6IGZ1bmN0aW9uIGdldENpdHlDb3VudCgpIHsKICAgICAgLy8gdGhpcy5nZXRJbml0RGF0YSgpCiAgICAgIC8vIGxldCBwYXJhbXMgPSB7CiAgICAgIC8vICAgaXNDaXR5OiB0aGlzLmlzQ2l0eQogICAgICAvLyB9CiAgICAgIC8vIGdldENpdHlDb3VudChwYXJhbXMpLnRoZW4ocmVzID0+IHsKICAgICAgLy8gICBpZiAocmVzLnN1Y2Nlc3MgJiYgcmVzLmRhdGEpIHsKICAgICAgLy8gICAgIGlmICh0aGlzLnR5cGUgPT0gMSkgewogICAgICAvLyAgICAgICByZXMuZGF0YS5mb3JFYWNoKGl0ZW0gPT4gewogICAgICAvLyAgICAgICAgIGl0ZW0udmFsdWUgPSBpdGVtLmNlbnRlci5zcGxpdCgnLCcpCiAgICAgIC8vICAgICAgICAgaXRlbS5pc0FjdGl2ZSA9IGZhbHNlCiAgICAgIC8vICAgICAgICAgaWYgKGl0ZW0uYXJlYU5hbWUgPT0gJ+WMl+S6rOW4gicpIHsKICAgICAgLy8gICAgICAgICAgIGl0ZW0uYXJlYUNvbG9yID0gJyNmZmYnCiAgICAgIC8vICAgICAgICAgfQogICAgICAvLyAgICAgICB9KQogICAgICAvLyAgICAgICBjb25zb2xlLmxvZyhyZXMuZGF0YSkKICAgICAgLy8gICAgICAgdGhpcy5jaXR5Q291bnQgPSByZXMuZGF0YQogICAgICAvLyAgICAgICB0aGlzLmdldEluaXREYXRhKCkKICAgICAgLy8gICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09IDIpIHsKICAgICAgLy8gICAgICAgcmVzLmRhdGEuZm9yRWFjaChpdGVtID0+IHsKICAgICAgLy8gICAgICAgICBpdGVtLnZhbHVlID0gaXRlbS5jZW50ZXIuc3BsaXQoJywnKQogICAgICAvLyAgICAgICAgIGl0ZW0uaXNBY3RpdmUgPSBmYWxzZQogICAgICAvLyAgICAgICB9KQogICAgICAvLyAgICAgICB0aGlzLkFyZWFDb3VudCA9IHJlcy5kYXRhCiAgICAgIC8vICAgICB9CiAgICAgIC8vICAgfQogICAgICAvLyB9KQogICAgfSwKICAgIGdldE1hcFNlbGVjdDogZnVuY3Rpb24gZ2V0TWFwU2VsZWN0KHR5cGUpIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CiAgICAgIHZhciBkb20gPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdpY29uTWFwJyk7CiAgICAgIGRvbVswXS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICBpZiAodHlwZSA9PSAxKSB7CiAgICAgICAgdGhpcy50eXBlID0gMTsKICAgICAgICBpZiAodGhpcy5tYXBFY2hhcnRzKSB7CiAgICAgICAgICB0aGlzLm1hcEVjaGFydHMuZGlzcG9zZSgpOwogICAgICAgICAgdGhpcy5tYXBFY2hhcnRzID0gbnVsbDsKICAgICAgICB9CiAgICAgICAgaWYgKHRoaXMubWFwRWNoYXJ0czIpIHsKICAgICAgICAgIHRoaXMubWFwRWNoYXJ0czIuZGlzcG9zZSgpOwogICAgICAgICAgdGhpcy5tYXBFY2hhcnRzMiA9IG51bGw7CiAgICAgICAgfQogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgX3RoaXMzLm1hcEVjaGFydHMgPSBlY2hhcnRzLmluaXQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21hcEVjaGFydHMnKSk7CiAgICAgICAgICB2YXIgbWFwSnNvbjEgPSBfY2hpbmEuZGVmYXVsdDsKICAgICAgICAgIGVjaGFydHMucmVnaXN0ZXJNYXAoJ2NoaW5hJywgbWFwSnNvbjEpOwogICAgICAgICAgX3RoaXMzLnNldE1hcE9wdGlvbigpOwogICAgICAgIH0sIDIwMCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy50eXBlID0gMjsKICAgICAgICB0aGlzLmlzQ2l0eSA9IDE7CiAgICAgICAgdGhpcy5nZXRDaXR5Q291bnQoKTsKICAgICAgICBpZiAodGhpcy5tYXBFY2hhcnRzKSB7CiAgICAgICAgICB0aGlzLm1hcEVjaGFydHMuZGlzcG9zZSgpOwogICAgICAgICAgdGhpcy5tYXBFY2hhcnRzID0gbnVsbDsKICAgICAgICB9CiAgICAgICAgaWYgKHRoaXMubWFwRWNoYXJ0czIpIHsKICAgICAgICAgIHRoaXMubWFwRWNoYXJ0czIuZGlzcG9zZSgpOwogICAgICAgICAgdGhpcy5tYXBFY2hhcnRzMiA9IG51bGw7CiAgICAgICAgfQogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgX3RoaXMzLm1hcEVjaGFydHMyID0gZWNoYXJ0cy5pbml0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYXBFY2hhcnRzMicpKTsKICAgICAgICAgIC8vIGxldCBtYXBKc29uMiA9IG1hcEpzb24oJzE1MTU1MDc5NzU2NTk3NjE2NjUnLCAnJykKICAgICAgICAgIHZhciBtYXBKc29uMiA9IF9uaW5neGlhLmRlZmF1bHQ7CiAgICAgICAgICBlY2hhcnRzLnJlZ2lzdGVyTWFwKCdocycsIG1hcEpzb24yKTsKICAgICAgICAgIF90aGlzMy5zZXRNYXBPcHRpb24yKCk7CiAgICAgICAgfSwgMjAwKTsKICAgICAgfQogICAgfSwKICAgIGdldEluaXREYXRhOiBmdW5jdGlvbiBnZXRJbml0RGF0YSgpIHsKICAgICAgdGhpcy5tYXBFY2hhcnRzID0gZWNoYXJ0cy5pbml0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYXBFY2hhcnRzJykpOwogICAgICB0aGlzLm1hcEpzb24gPSBfY2hpbmEuZGVmYXVsdDsKICAgICAgZWNoYXJ0cy5yZWdpc3Rlck1hcCgnY2hpbmEnLCB0aGlzLm1hcEpzb24pOwogICAgICB0aGlzLnNldE1hcE9wdGlvbigpOwogICAgfSwKICAgIHNldE1hcE9wdGlvbjogZnVuY3Rpb24gc2V0TWFwT3B0aW9uKCkgewogICAgICB0aGlzLm1hcEVjaGFydHMuY2xlYXIoKTsKICAgICAgLy/ojrflj5blvZPliY3mmL7npLrlnLDlm77kuIvmlrnlnLDluILnmoTlnZDmoIfngrnmlbDmja7vvJsg55So5LqO5rCU5rOh5pi+56S6CiAgICAgIHZhciBnZW9Db29yZE1hcCA9IHt9OwogICAgICAvLyDojrflj5blnLDljLror6bnu4bkv6Hmga8KICAgICAgdmFyIG1hcEZlYXR1cmVzID0gdGhpcy5tYXBKc29uLmZlYXR1cmVzOwogICAgICAvLyDpgY3ljobojrflj5bmr4/kuKrlnLDljLrnmoTnu4/nuqzluqYKICAgICAgbWFwRmVhdHVyZXMuZm9yRWFjaChmdW5jdGlvbiAodiwgaSkgewogICAgICAgIC8vIOiOt+WPluW9k+WJjeWcsOWMuuWQjQogICAgICAgIHZhciBuYW1lID0gdi5wcm9wZXJ0aWVzLm5hbWU7CiAgICAgICAgaWYgKG5hbWUpIHsKICAgICAgICAgIC8vIOiOt+WPluW9k+WJjeWcsOWMuueahOe7j+e6rOW6pgogICAgICAgICAgZ2VvQ29vcmRNYXBbbmFtZV0gPSB2LnByb3BlcnRpZXMuY2VudGVyOwogICAgICAgIH0KICAgICAgfSk7CgogICAgICAvKmxldCBtYXBEYXRhID0gW3sNCiAgICAgIG5hbWU6ICLpnZLmtbfnnIEiLA0KICAgICAgdmFsdWU6IFsnMTAxLjc3OCcsICczNi42MjMnXSwgYTogJzEwMCcNCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAi5a6B5aSP5Zue5peP6Ieq5rK75Yy6IiwNCiAgICAgIHZhbHVlOiBbJzEwNi4yNzgnLCAnMzguNDY2J10sIGE6ICcxMDAnDQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+WuieW+veecgScsIHZhbHVlOiBbJzExNy4yODMnLCAnMzEuODYxJ10sIGE6ICcxMDAnDQogICAgICB9LA0KICAgICAgew0KICAgICAgbmFtZTogJ+a5luWNl+ecgScsIHZhbHVlOiBbJzExMi45ODInLCAnMjguMTk0J10sIGE6ICcxMDAnDQogICAgICB9DQogICAgICBdKi8KICAgICAgdmFyIHRoYXQgPSB0aGlzOwogICAgICB0aGlzLnBvaW50QWxsID0gdGhpcy5jaXR5Q291bnQ7CiAgICAgIHRoaXMucG9pbnRBbGwucHVzaCh7CiAgICAgICAgbmFtZTogJ+WugeWkjycsCiAgICAgICAgLy/oh6rlrprkuYnljLrln5/nmoTpopzoibIKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIGFyZWFDb2xvcjogJyNGNTA1MDgnLAogICAgICAgICAgYm9yZGVyQ29sb3I6ICcjMTc3M2MzJywKICAgICAgICAgIC8vIOWMuuWfn+i+ueahhgogICAgICAgICAgc2hhZG93Q29sb3I6ICcjMTc3M2MzJyAvLyDpmLTlvbEKICAgICAgICB9CiAgICAgIH0pOwogICAgICAvKmxldCBzcGxpdExpc3QgPSBbDQogICAgICB7IG5hbWU6ICfljJfkuqzluIInLCBpdGVtU3R5bGU6IHsgbm9ybWFsOiB7IGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgfSB9IH0sDQogICAgICB7DQogICAgICBuYW1lOiAn5aSp5rSl5biCJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn5LiK5rW35biCJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn6YeN5bqG5biCJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn5rKz5YyX55yBJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn5rKz5Y2X55yBJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn5LqR5Y2X55yBJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn6L695a6B55yBJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn6buR6b6Z5rGf55yBJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn5rmW5Y2X55yBJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn5a6J5b6955yBJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn5bGx5Lic55yBJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn5paw55aG57u05ZC+5bCU6Ieq5rK75Yy6JywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn5rGf6IuP55yBJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn5rWZ5rGf55yBJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn5rGf6KW/55yBJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn5rmW5YyX55yBJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn5bm/6KW/5aOu5peP6Ieq5rK75Yy6JywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn55SY6IKD55yBJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn5bGx6KW/55yBJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn5YaF6JKZ5Y+k6Ieq5rK75Yy6JywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn6ZmV6KW/55yBJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn5ZCJ5p6X55yBJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn56aP5bu655yBJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn6LS15bee55yBJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn5bm/5Lic55yBJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn6Z2S5rW355yBJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn6KW/6JeP6Ieq5rK75Yy6JywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn5Zub5bed55yBJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn5a6B5aSP5Zue5peP6Ieq5rK75Yy6JywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn5rW35Y2X55yBJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn5Y+w5rm+55yBJywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn6aaZ5riv54m55Yir6KGM5pS/5Yy6JywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0sDQogICAgICB7DQogICAgICBuYW1lOiAn5r6z6Zeo54m55Yir6KGM5pS/5Yy6JywNCiAgICAgIGl0ZW1TdHlsZTogeyBub3JtYWw6IHsgYXJlYUNvbG9yOiB0aGlzLnNlbmRNYXBDb2xvciB9IH0NCiAgICAgIH0NCiAgICAgIF0qLwogICAgICB2YXIgaW1nVXJsID0gcmVxdWlyZSgnLi4vLi4vYXNzZXRzL2ltZy9teUltYWdlL3Rhbmt1YW5nLnBuZycpOwogICAgICB2YXIgZWNoYXJ0T3B0aW9uID0gewogICAgICAgIGdlbzogW3sKICAgICAgICAgIHNob3c6IHRydWUsCiAgICAgICAgICBtYXA6ICdjaGluYScsCiAgICAgICAgICB0eXBlOiAnbWFwJywKICAgICAgICAgIGFzcGVjdFNjYWxlOiAwLjgsCiAgICAgICAgICB6b29tOiB0aGlzLnpvb20sCiAgICAgICAgICByb2FtOiB0cnVlLAogICAgICAgICAgLy8g5piv5ZCm5YWB6K6457yp5pS+CiAgICAgICAgICBhbmltYXRpb25EdXJhdGlvblVwZGF0ZTogMCwKICAgICAgICAgIGxheW91dFNpemU6ICc5MiUnLAogICAgICAgICAgbGF5b3V0Q2VudGVyOiBbJzUwJScsICc2OCUnXSwKICAgICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgICBsYWJlbDogewogICAgICAgICAgICAgICAgc2hvdzogZmFsc2UKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgIGFyZWFDb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IsCiAgICAgICAgICAgICAgLy/lnLDlm77popzoibIKICAgICAgICAgICAgICBvcGFjaXR5OiAxLAogICAgICAgICAgICAgIGJvcmRlckNvbG9yOiAnIzE3NEM5NScsCiAgICAgICAgICAgICAgLy/lnLDlm77ovrnmoYbpopzoibIKICAgICAgICAgICAgICBib3JkZXJXaWR0aDogMSwKICAgICAgICAgICAgICAvL+WcsOWbvui+ueahhuWuveW6pgogICAgICAgICAgICAgIHNoYWRvd0NvbG9yOiAnbm9uZScsCiAgICAgICAgICAgICAgc2hhZG93Qmx1cjogMTAsCiAgICAgICAgICAgICAgY29sb3I6ICcjZmZmJwogICAgICAgICAgICAgIC8vIOiuvue9ruaJh+W9oueahOmYtOW9sQogICAgICAgICAgICB9LAogICAgICAgICAgICBlbXBoYXNpczogewogICAgICAgICAgICAgIC8v6YCJ5Lit55yB5Lu955qE6aKc6ImyCiAgICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzc2NWFmMycsCiAgICAgICAgICAgICAgbGFiZWw6IHsKICAgICAgICAgICAgICAgIHNob3c6IHRydWUKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICBsYWJlbDogewogICAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgICBzaG93OiB0cnVlLAogICAgICAgICAgICAgIGZvbnRTaXplOiAxNCwKICAgICAgICAgICAgICBmb250V2VpZ2h0OiA1MDAsCiAgICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNSknCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGVtcGhhc2lzOiB7CiAgICAgICAgICAgICAgc2hvdzogdHJ1ZSwKICAgICAgICAgICAgICBhcmVhQ29sb3I6ICcjMGExODNkJywKICAgICAgICAgICAgICBjb2xvcjogJyNmZmYnCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICB6bGV2ZWw6IDEsCiAgICAgICAgICByZWdpb25zOiB0aGlzLmdlb1ZhbCB8fCBbXSwKICAgICAgICAgIHRvb2x0aXA6IHsKICAgICAgICAgICAgc2hvdzogdHJ1ZSwKICAgICAgICAgICAgdHJpZ2dlcjogJ2l0ZW0nLAogICAgICAgICAgICBmb3JtYXR0ZXI6IGZ1bmN0aW9uIGZvcm1hdHRlcihwYXJhbXMpIHsKICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygiMTExMSIpCiAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2cocGFyYW1zKQogICAgICAgICAgICAgIGlmIChwYXJhbXMuY29tcG9uZW50U3ViVHlwZSA9PT0gJ3NjYXR0ZXInKSB7CiAgICAgICAgICAgICAgICB2YXIgY2xhc3NOYW1lID0gJ2l0ZW1Db2xvcjEgaXRlbUNvbG9yJzsKICAgICAgICAgICAgICAgIHZhciBodG1sID0gIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJwb3AtdG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOmF1dG87aGVpZ2h0OjE4MHB4O2JvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM0RDhERkYsICM1N0I5RkYsICM0RDhERkYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjEycHg7cG9zaXRpb246IHJlbGF0aXZlO2Rpc3BsYXk6IGZsZXg7ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJ0b29sdGlwR0JcIiBvbmNsaWNrPVwiZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3BvcC10b29sdGlwJykuc3R5bGUuZGlzcGxheSA9ICdub25lJ1wiIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO2N1cnNvcjogcG9pbnRlcjsgd2lkdGg6MzBweDtoZWlnaHQ6MzBweDtsaW5lLWhlaWdodDozMHB4O3RleHQtYWxpZ246Y2VudGVyO3JpZ2h0OjVweDt0b3A6NXB4O2ZvbnQtc2l6ZTogMjBweDtcIj54PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJmb250LXNpemU6IDE4cHg7IGhlaWdodDogMjBweDtsaW5lLWhlaWdodDoyMHB4O1wiPiIuY29uY2F0KHBhcmFtcy5kYXRhLnByb2pOYW1lLCAiPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGxUb29sdGlwXCIgc3R5bGU9XCJtYXJnaW4tdG9wOjEwcHg7ZmxleDogMTsgb3ZlcmZsb3cteTphdXRvO3doaXRlLXNwYWNlOm5vcm1hbDtmb250LXNpemU6IDE2cHg7Zm9udC13ZWlnaHQ6IDQwMDsgcG9zaXRpb246cmVsYXRpdmU7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJwYWRkaW5nLWJvdHRvbTogNXB4XCI+XHU2MjQwXHU3RUQxXHU1QjlBXHU2MTFGXHU3N0U1XHU4QkJFXHU1OTA3IikuY29uY2F0KHBhcmFtcy5kYXRhLmRldlR5cGVOdW0sICJcdTdDN0I8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cInBhZGRpbmctYm90dG9tOiA1cHhcIj5cdTYyNDBcdTdFRDFcdTVCOUFcdTYxMUZcdTc3RTVcdThCQkVcdTU5MDciKS5jb25jYXQocGFyYW1zLmRhdGEuZGV2TnVtLCAiXHU0RTJBPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cInBhZGRpbmctYm90dG9tOiA1cHhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cdThCQkVcdTU5MDdcdThGRDBcdTg4NENcdTZCNjNcdTVFMzgiKS5jb25jYXQocGFyYW1zLmRhdGEuc3VjY2Vzc051bSwgIlx1NEUyQS88L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJjb2xvcjpyZWQ7XCI+XHU4QkJFXHU1OTA3XHU2NTcwXHU2MzZFXHU1RjAyXHU1RTM4IikuY29uY2F0KHBhcmFtcy5kYXRhLmVycm9yTnVtLCAiXHU0RTJBPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+Iik7CiAgICAgICAgICAgICAgICByZXR1cm4gaHRtbDsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgLy8g5Y+v5Lul5Zyo6L+Z6YeM57yW5YaZ6L2u5pKt55qE5qC85byP5YyW5YaF5a65CiAgICAgICAgICAgICAgLy8gcmV0dXJuIHBhcmFtcy5uYW1lICsgJzogJyArIHBhcmFtcy52YWx1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sIHsKICAgICAgICAgIG1hcDogJ2NoaW5hJywKICAgICAgICAgIGFzcGVjdFNjYWxlOiAwLjgsCiAgICAgICAgICByb2FtOiB0cnVlLAogICAgICAgICAgLy8g5piv5ZCm5YWB6K6457yp5pS+CiAgICAgICAgICBhbmltYXRpb25EdXJhdGlvblVwZGF0ZTogMCwKICAgICAgICAgIHpvb206IHRoaXMuem9vbSwKICAgICAgICAgIGxheW91dFNpemU6ICc5MiUnLAogICAgICAgICAgbGF5b3V0Q2VudGVyOiBbJzUwJScsICc2OS41JSddLAogICAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyM2ZTU1ZGMnLAogICAgICAgICAgICBib3JkZXJDb2xvcjogJyM2ZTU1ZGMnLAogICAgICAgICAgICBib3JkZXJXaWR0aDogMSwKICAgICAgICAgICAgb3BhY2l0eTogMC41LAogICAgICAgICAgICBjb2xvcjogJyNmZmYnCiAgICAgICAgICB9LAogICAgICAgICAgemxldmVsOiAtMSwKICAgICAgICAgIHNpbGVudDogdHJ1ZSwKICAgICAgICAgIHRvb2x0aXA6IHsKICAgICAgICAgICAgc2hvdzogZmFsc2UKICAgICAgICAgIH0KICAgICAgICB9XSwKICAgICAgICB2aXN1YWxNYXA6IHsKICAgICAgICAgIHNob3c6IGZhbHNlLAogICAgICAgICAgdG9wOiAndG9wJywKICAgICAgICAgIG1pbjogMCwKICAgICAgICAgIG1heDogMiwKICAgICAgICAgIHNlcmllc0luZGV4OiAwLAogICAgICAgICAgY2FsY3VsYWJsZTogdHJ1ZSwKICAgICAgICAgIGluUmFuZ2U6IHsKICAgICAgICAgICAgY29sb3I6IFsnIzk5OGY3NCcsICcjMDRhNGY2JywgJyMwMDk0M2UnLCAnI2RhZTA3YicsICcjYjYyMDIyJ10KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHRvb2x0aXA6IHsKICAgICAgICAgIHRyaWdnZXI6ICdpdGVtJywKICAgICAgICAgIGFsd2F5c1Nob3dDb250ZW50OiB0cnVlLAogICAgICAgICAgc2hvd0RlbGF5OiAwLAogICAgICAgICAgLy/mta7lsYLmmL7npLrnmoTlu7bov58KICAgICAgICAgIHRyYW5zaXRpb25EdXJhdGlvbjogMC4yLAogICAgICAgICAgLy8g5o+Q56S65qGG5rWu5bGC55qE56e75Yqo5Yqo55S76L+H5rih5pe26Ze0CiAgICAgICAgICBlbnRlcmFibGU6IHRydWUsCiAgICAgICAgICBjbGFzc05hbWU6ICdpY29uTWFwJywKICAgICAgICAgIGV4dHJhQ3NzVGV4dDogJ2JveC1zaGFkb3c6IDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwKTsnLAogICAgICAgICAgZm9ybWF0dGVyOiBmdW5jdGlvbiBmb3JtYXR0ZXIocGFyYW1zKSB7CiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCcyMjInKQogICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhwYXJhbXMpCiAgICAgICAgICAgIGlmIChwYXJhbXMuY29tcG9uZW50U3ViVHlwZSA9PT0gJ3NjYXR0ZXInKSB7CiAgICAgICAgICAgICAgdmFyIGNsYXNzTmFtZSA9ICdpdGVtQ29sb3IxIGl0ZW1Db2xvcic7CiAgICAgICAgICAgICAgdmFyIGh0bWwgPSAiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwicG9wLXRvb2x0aXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOjI2MHB4O2hlaWdodDoxNDBweDtib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzREOERGRiwgIzU3QjlGRiwgIzREOERGRik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjEycHg7cG9zaXRpb246IHJlbGF0aXZlO2Rpc3BsYXk6IGZsZXg7ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJ0b29sdGlwR0JcIiBvbmNsaWNrPVwiZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3BvcC10b29sdGlwJykuc3R5bGUuZGlzcGxheSA9ICdub25lJ1wiIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO2N1cnNvcjogcG9pbnRlcjsgd2lkdGg6MzBweDtoZWlnaHQ6MzBweDtsaW5lLWhlaWdodDozMHB4O3RleHQtYWxpZ246Y2VudGVyO3JpZ2h0OjVweDt0b3A6NXB4O2ZvbnQtc2l6ZTogMjBweDtcIj54PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZm9udC1zaXplOiAxOHB4OyBoZWlnaHQ6IDIwcHg7bGluZS1oZWlnaHQ6MjBweDtcIj4iLmNvbmNhdChwYXJhbXMuZGF0YS5wcm9qTmFtZSwgIjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbFRvb2x0aXBcIiBzdHlsZT1cIm1hcmdpbi10b3A6MTBweDtmbGV4OiAxOyBvdmVyZmxvdy15OmF1dG87d2hpdGUtc3BhY2U6bm9ybWFsO2ZvbnQtc2l6ZTogMTZweDtmb250LXdlaWdodDogNDAwOyBwb3NpdGlvbjpyZWxhdGl2ZTsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJwYWRkaW5nLWJvdHRvbTogNXB4XCI+XHU3NzAxXHU0RUZEXHVGRjFBIikuY29uY2F0KHBhcmFtcy5kYXRhLnByb3ZpbmNlLCAiPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwicGFkZGluZy1ib3R0b206IDVweFwiPlx1N0VDRlx1NUVBNlx1RkYxQSIpLmNvbmNhdChwYXJhbXMuZGF0YS52YWx1ZVswXSwgIjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cInBhZGRpbmctYm90dG9tOiA1cHhcIj5cdTdFQUNcdTVFQTZcdUZGMUEiKS5jb25jYXQocGFyYW1zLmRhdGEudmFsdWVbMV0sICI8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+Iik7CiAgICAgICAgICAgICAgcmV0dXJuIGh0bWw7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDQsMjQsNTEsMCknLAogICAgICAgICAgYm9yZGVyQ29sb3I6ICdyZ2JhKDk5LCAxNzMsIDIyMiwwKScsCiAgICAgICAgICBib3JkZXJXaWR0aDogMCwKICAgICAgICAgIHBhZGRpbmc6IFswLCAtMTIsIDAsIDBdLAogICAgICAgICAgcG9zaXRpb246ICdyaWdodCcsCiAgICAgICAgICB0ZXh0U3R5bGU6IHsKICAgICAgICAgICAgY29sb3I6ICcjZmZmJywKICAgICAgICAgICAgZm9udFdlaWdodDogJ2JvbGRlcicKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHNlcmllczogW3sKICAgICAgICAgIHR5cGU6ICdzY2F0dGVyJywKICAgICAgICAgIC8v5bim5pyJ5raf5ryq5pWI5p6c55qECiAgICAgICAgICBtYXA6IHRoaXMuZ2VvVmFsIHx8IFtdLAogICAgICAgICAgcm9hbTogZmFsc2UsCiAgICAgICAgICBjb29yZGluYXRlU3lzdGVtOiAnZ2VvJywKICAgICAgICAgIC8v5L2/55So5Z2Q5qCH57O7CiAgICAgICAgICB6bGV2ZWw6IDEsCiAgICAgICAgICBzeW1ib2xTaXplOiBbNjAsIDcwXSwKICAgICAgICAgIHN5bWJvbDogZnVuY3Rpb24gc3ltYm9sKHZhbHVlLCBwYXJhbXMpIHsKICAgICAgICAgICAgaWYgKHBhcmFtcy5kYXRhLmVycm9yTnVtID4gMCkgewogICAgICAgICAgICAgIHJldHVybiAnaW1hZ2U6Ly8nICsgcmVxdWlyZSgnQC9hc3NldHMvaW1nL215SW1hZ2UvcG9pbnRfcmVkLnBuZycpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIGlmIChwYXJhbXMuZGF0YS5kZXZTdGF0dXMgPT0gMCkgewogICAgICAgICAgICAgICAgcmV0dXJuICdpbWFnZTovLycgKyByZXF1aXJlKCdAL2Fzc2V0cy9pbWcvbXlJbWFnZS9wb2ludF9ncmV5LnBuZycpOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJ2ltYWdlOi8vJyArIHJlcXVpcmUoJ0AvYXNzZXRzL2ltZy9teUltYWdlL3BvaW50LnBuZycpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAvKmlmIChwYXJhbXMubmFtZSA9PSAn5a6J5b6955yBJykgew0KICAgICAgICAgICAgcmV0dXJuICdpbWFnZTovLycgKyByZXF1aXJlKCdAL2Fzc2V0cy9pbWcvbXlJbWFnZS9tYXJrUG9pbnRzLnBuZycpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAocGFyYW1zLm5hbWUgPT0gJ+a5luWNl+ecgScpIHsNCiAgICAgICAgICAgIHJldHVybiAnaW1hZ2U6Ly8nICsgcmVxdWlyZSgnQC9hc3NldHMvaW1nL215SW1hZ2UvbWFya1BvaW50cy5wbmcnKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKHBhcmFtcy5uYW1lID09ICflroHlpI/lm57ml4/oh6rmsrvljLonKSB7DQogICAgICAgICAgICByZXR1cm4gJ2ltYWdlOi8vJyArIHJlcXVpcmUoJ0AvYXNzZXRzL2ltZy9teUltYWdlL21hcmtQb2ludHMucG5nJykNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChwYXJhbXMubmFtZSA9PSAn6Z2S5rW355yBJykgew0KICAgICAgICAgICAgcmV0dXJuICdpbWFnZTovLycgKyByZXF1aXJlKCdAL2Fzc2V0cy9pbWcvbXlJbWFnZS9tYXJrUG9pbnRzLnBuZycpDQogICAgICAgICAgICB9Ki8KICAgICAgICAgIH0sCiAgICAgICAgICBlbXBoYXNpczogewogICAgICAgICAgICBzY2FsZTogZmFsc2UKICAgICAgICAgIH0sCiAgICAgICAgICBzeW1ib2xLZWVwQXNwZWN0OiB0cnVlLAogICAgICAgICAgbGFiZWw6IHsKICAgICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgICAgc2hvdzogdHJ1ZSwKICAgICAgICAgICAgICBjb2xvcjogdGhpcy5zZW5kTWFwQ29sb3IgPT09ICcjNjg5QUZCJyA/ICcjZmZmJyA6ICdyZ2JhKDU3LCAxNDUsIDI0NCwgMC45KScsCiAgICAgICAgICAgICAgZm9udFNpemU6IDI0LAogICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICdjdXJzaXZlJywKICAgICAgICAgICAgICBmb250V2VpZ2h0OiAnYm9sZCcsCiAgICAgICAgICAgICAgcG9zaXRpb246ICd0b3AnLAogICAgICAgICAgICAgIHBhZGRpbmc6IFswLCAwLCAtMTAsIDBdLAogICAgICAgICAgICAgIGZvcm1hdHRlcjogZnVuY3Rpb24gZm9ybWF0dGVyKHBhcmFtcykgewogICAgICAgICAgICAgICAgdmFyIHN0ciA9ICIiOwogICAgICAgICAgICAgICAgLy8gc3RyID0gYHthfCR7cGFyYW1zLmRhdGEucHJvak5hbWV9fWA7CiAgICAgICAgICAgICAgICByZXR1cm4gc3RyOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAvLyByaWNoOiB7CiAgICAgICAgICAgICAgLy8gICAgIGE6IHsKICAgICAgICAgICAgICAvLyAgICAgICAgIGZvbnRTaXplOiAyMCwKICAgICAgICAgICAgICAvLyAgICAgICAgIHBhZGRpbmc6IFswLCAwLCAwLCAtMTBdLAogICAgICAgICAgICAgIC8vICAgICB9LAogICAgICAgICAgICAgIC8vICAgICBiOiB7CiAgICAgICAgICAgICAgLy8gICAgICAgICBmb250U2l6ZTogMjAsCiAgICAgICAgICAgICAgLy8gICAgICAgICBwYWRkaW5nOiBbMjAsIDAsIDAsIC0xMF0sCiAgICAgICAgICAgICAgLy8gICAgIH0sCiAgICAgICAgICAgICAgLy8gICAgIGM6IHsKICAgICAgICAgICAgICAvLyAgICAgICAgIGZvbnRTaXplOiAyMCwKICAgICAgICAgICAgICAvLyAgICAgICAgIHBvc2l0aW9uOiBbLTEyLCAtMTBdLAogICAgICAgICAgICAgIC8vICAgICB9LAogICAgICAgICAgICAgIC8vIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgICBjb2xvcjogJyNmZmYnCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICBkYXRhOiB0aGlzLmdlb1ZhbCB8fCBbXQogICAgICAgIH0KICAgICAgICAvKnsNCiAgICAgICAgbmFtZTogImxpbmVzIiwNCiAgICAgICAgdHlwZTogImxpbmVzIiwNCiAgICAgICAgY29vcmRpbmF0ZVN5c3RlbTogImdlbyIsDQogICAgICAgIHpsZXZlbDogMiwNCiAgICAgICAgbGFyZ2U6IHRydWUsDQogICAgICAgIGVmZmVjdDogew0KICAgICAgICBzaG93OiB0cnVlLCAvLyDlvIDlkK/liqjmgIHnur/mnaHmlYjmnpwNCiAgICAgICAgY29uc3RhbnRTcGVlZDogMzAsIC8vIOe6v+adoemAn+W6pg0KICAgICAgICBzeW1ib2w6ICJwaW4iLCAvLyDmoIforrDnmoTlm77lvaLvvIzmlK/mjIHlm77niYflkozmloflrZcNCiAgICAgICAgc3ltYm9sU2l6ZTogMTAsIC8vIOagh+iusOeahOWkp+Wwjw0KICAgICAgICB0cmFpbExlbmd0aDogMCwgLy8g5Yqo5oCB57q/5p2h55qE6ZW/5bqmDQogICAgICAgIGxvb3A6IHRydWUsIC8vIOaYr+WQpuW+queOr+WKqOeUu+aViOaenA0KICAgICAgICB9LA0KICAgICAgICBsaW5lU3R5bGU6IHsNCiAgICAgICAgbm9ybWFsOiB7DQogICAgICAgIGNvbG9yOiBmdW5jdGlvbihwYXJhbXMpIHsNCiAgICAgICAgLy8g5qC55o2uIHN0YXR1cyDlsZ7mgKfliKTmlq3ov57nur/popzoibINCiAgICAgICAgcmV0dXJuICIjMzI4NkNDIg0KICAgICAgICB9LA0KICAgICAgICB3aWR0aDogNCwNCiAgICAgICAgb3BhY2l0eTogMC40LA0KICAgICAgICBjdXJ2ZW5lc3M6IDAuMiwgLy8g5puy57q/56iL5bqmDQogICAgICAgIH0sDQogICAgICAgIGVtcGhhc2lzOiB7DQogICAgICAgIG9wYWNpdHk6IDAuOCwNCiAgICAgICAgd2lkdGg6IDUsDQogICAgICAgIH0sDQogICAgICAgIH0sDQogICAgICAgIGRhdGE6IFt7DQogICAgICAgIGZyb21OYW1lOiAn5YyX5LqsJywNCiAgICAgICAgdG9OYW1lOiAn5LiK5rW3JywNCiAgICAgICAgY29vcmRzOiBbDQogICAgICAgIFsxMTYuNDA3NTI2LCAzOS45MDQwM10sICAvLyDljJfkuqznmoTnu4/nuqzluqblnZDmoIcNCiAgICAgICAgWzEyMS40NzM3MDEsIDMxLjIzMDQxNl0sICAvLyDkuIrmtbfnmoTnu4/nuqzluqblnZDmoIcNCiAgICAgICAgXQ0KICAgICAgICB9XSwNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICBuYW1lOiAibGluZXMiLA0KICAgICAgICB0eXBlOiAibGluZXMiLA0KICAgICAgICBjb29yZGluYXRlU3lzdGVtOiAiZ2VvIiwNCiAgICAgICAgemxldmVsOiAyLA0KICAgICAgICBsYXJnZTogdHJ1ZSwNCiAgICAgICAgZWZmZWN0OiB7DQogICAgICAgIHNob3c6IHRydWUsIC8vIOW8gOWQr+WKqOaAgee6v+adoeaViOaenA0KICAgICAgICBjb25zdGFudFNwZWVkOiAzMCwgLy8g57q/5p2h6YCf5bqmDQogICAgICAgIHN5bWJvbDogInBpbiIsIC8vIOagh+iusOeahOWbvuW9ou+8jOaUr+aMgeWbvueJh+WSjOaWh+Wtlw0KICAgICAgICBzeW1ib2xTaXplOiAxMCwgLy8g5qCH6K6w55qE5aSn5bCPDQogICAgICAgIHRyYWlsTGVuZ3RoOiAwLCAvLyDliqjmgIHnur/mnaHnmoTplb/luqYNCiAgICAgICAgbG9vcDogdHJ1ZSwgLy8g5piv5ZCm5b6q546v5Yqo55S75pWI5p6cDQogICAgICAgIH0sDQogICAgICAgIGxpbmVTdHlsZTogew0KICAgICAgICBub3JtYWw6IHsNCiAgICAgICAgY29sb3I6IGZ1bmN0aW9uKHBhcmFtcykgew0KICAgICAgICAvLyDmoLnmja4gc3RhdHVzIOWxnuaAp+WIpOaWrei/nue6v+minOiJsg0KICAgICAgICByZXR1cm4gIiMzMjg2Q0MiDQogICAgICAgIH0sDQogICAgICAgIHdpZHRoOiA0LA0KICAgICAgICBvcGFjaXR5OiAwLjQsDQogICAgICAgIGN1cnZlbmVzczogMC4yLCAvLyDmm7Lnur/nqIvluqYNCiAgICAgICAgfSwNCiAgICAgICAgZW1waGFzaXM6IHsNCiAgICAgICAgb3BhY2l0eTogMC44LA0KICAgICAgICB3aWR0aDogNSwNCiAgICAgICAgfSwNCiAgICAgICAgfSwNCiAgICAgICAgZGF0YTogW3sNCiAgICAgICAgZnJvbU5hbWU6ICfljJfkuqwnLA0KICAgICAgICB0b05hbWU6ICfkuIrmtbcnLA0KICAgICAgICBjb29yZHM6IFsNCiAgICAgICAgWzEyMS40NzM3MDEsIDMxLjIzMDQxNl0sICAvLyDkuIrmtbfnmoTnu4/nuqzluqblnZDmoIcNCiAgICAgICAgWzEwMi4xMDMzNjUsIDI0LjIzNTU2N10NCiAgICAgICAgXQ0KICAgICAgICB9XSwNCiAgICAgICAgfSwqL10KICAgICAgfTsKICAgICAgLy8g5Y676Zmk57q/5p2hCiAgICAgIC8vIGVjaGFydE9wdGlvbi5zZXJpZXMgPSBlY2hhcnRPcHRpb24uc2VyaWVzLmZpbHRlcihpdGVtID0+IGl0ZW0udHlwZSAhPT0gJ2xpbmVzJykKICAgICAgLy8g5o+S5YWl57q/5p2hCiAgICAgIGlmICh0aGlzLmdlb1ZhbCAmJiB0aGlzLnNob3dMaW5lKSB7CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmdlb1ZhbC5sZW5ndGg7IGkrKykgewogICAgICAgICAgaWYgKGkgIT09IHRoaXMuZ2VvVmFsLmxlbmd0aCAtIDEpIHsKICAgICAgICAgICAgZWNoYXJ0T3B0aW9uLnNlcmllcy5wdXNoKHsKICAgICAgICAgICAgICBuYW1lOiAnbGluZXMnLAogICAgICAgICAgICAgIHR5cGU6ICdsaW5lcycsCiAgICAgICAgICAgICAgY29vcmRpbmF0ZVN5c3RlbTogJ2dlbycsCiAgICAgICAgICAgICAgemxldmVsOiAyLAogICAgICAgICAgICAgIGxhcmdlOiB0cnVlLAogICAgICAgICAgICAgIGVmZmVjdDogewogICAgICAgICAgICAgICAgc2hvdzogdHJ1ZSwKICAgICAgICAgICAgICAgIC8vIOW8gOWQr+WKqOaAgee6v+adoeaViOaenAogICAgICAgICAgICAgICAgY29uc3RhbnRTcGVlZDogMzAsCiAgICAgICAgICAgICAgICAvLyDnur/mnaHpgJ/luqYKICAgICAgICAgICAgICAgIHN5bWJvbDogJ3BpbicsCiAgICAgICAgICAgICAgICAvLyDmoIforrDnmoTlm77lvaLvvIzmlK/mjIHlm77niYflkozmloflrZcKICAgICAgICAgICAgICAgIHN5bWJvbFNpemU6IHRoaXMuZ2VvVmFsW2ldLnByb2plY3RJZCA9PT0gdGhpcy5nZW9WYWxbaSArIDFdLnByb2plY3RJZCA/IDEwIDogMCwKICAgICAgICAgICAgICAgIC8vIOagh+iusOeahOWkp+WwjwogICAgICAgICAgICAgICAgdHJhaWxMZW5ndGg6IDAsCiAgICAgICAgICAgICAgICAvLyDliqjmgIHnur/mnaHnmoTplb/luqYKICAgICAgICAgICAgICAgIGxvb3A6IHRydWUgLy8g5piv5ZCm5b6q546v5Yqo55S75pWI5p6cCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICBsaW5lU3R5bGU6IHsKICAgICAgICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICAgICAgICBjb2xvcjogZnVuY3Rpb24gY29sb3IocGFyYW1zKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcjMzI4NkNDJzsKICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgd2lkdGg6IHRoaXMuZ2VvVmFsW2ldLnByb2plY3RJZCA9PT0gdGhpcy5nZW9WYWxbaSArIDFdLnByb2plY3RJZCA/IDQgOiAwLAogICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjQsCiAgICAgICAgICAgICAgICAgIGN1cnZlbmVzczogMC4yIC8vIOabsue6v+eoi+W6pgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGVtcGhhc2lzOiB7CiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuOCwKICAgICAgICAgICAgICAgICAgd2lkdGg6IDUKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgIGRhdGE6IFt7CiAgICAgICAgICAgICAgICBmcm9tTmFtZTogdGhpcy5nZW9WYWxbaV0ubmFtZSwKICAgICAgICAgICAgICAgIHRvTmFtZTogdGhpcy5nZW9WYWxbaSArIDFdLm5hbWUsCiAgICAgICAgICAgICAgICBjb29yZHM6IFt0aGlzLmdlb1ZhbFtpXS52YWx1ZSwgdGhpcy5nZW9WYWxbaSArIDFdLnZhbHVlXQogICAgICAgICAgICAgIH1dCiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICB0aGlzLm1hcEVjaGFydHMuc2V0T3B0aW9uKGVjaGFydE9wdGlvbik7CiAgICAgIHRoaXMubWFwRWNoYXJ0cy5vbignZ2Vvcm9hbScsIGZ1bmN0aW9uIChwYXJhbXMpIHsKICAgICAgICB2YXIgb3B0aW9uID0gdGhhdC5tYXBFY2hhcnRzLmdldE9wdGlvbigpOyAvL+iOt+W+l29wdGlvbuWvueixoQogICAgICAgIGlmIChwYXJhbXMuem9vbSAhPSBudWxsICYmIHBhcmFtcy56b29tICE9IHVuZGVmaW5lZCkgewogICAgICAgICAgLy/mjZXmjYnliLDnvKnmlL7ml7YKICAgICAgICAgIG9wdGlvbi5nZW9bMV0uem9vbSA9IG9wdGlvbi5nZW9bMF0uem9vbTsgLy/kuIvlsYJnZW/nmoTnvKnmlL7nrYnnuqfot5/nnYDkuIrlsYLnmoRnZW/kuIDotbfmlLnlj5gKICAgICAgICAgIG9wdGlvbi5nZW9bMV0uY2VudGVyID0gb3B0aW9uLmdlb1swXS5jZW50ZXI7IC8v5LiL5bGC55qEZ2Vv55qE5Lit5b+D5L2N572u6ZqP552A5LiK5bGCZ2Vv5LiA6LW35pS55Y+YCiAgICAgICAgICBvcHRpb24uZ2VvWzBdLmxhYmVsLnNob3cgPSB0cnVlOyAvL+S4i+WxgueahGdlb+eahOS4reW/g+S9jee9rumaj+edgOS4iuWxgmdlb+S4gOi1t+aUueWPmAogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAvL+aNleaNieWIsOaLluabs+aXtgogICAgICAgICAgb3B0aW9uLmdlb1sxXS5jZW50ZXIgPSBvcHRpb24uZ2VvWzBdLmNlbnRlcjsgLy/kuIvlsYLnmoRnZW/nmoTkuK3lv4PkvY3nva7pmo/nnYDkuIrlsYJnZW/kuIDotbfmlLnlj5gKICAgICAgICB9CiAgICAgICAgaWYgKDEgPCBwYXJhbXMuem9vbSkgewogICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5nb3pvb20sJ3RoaXMuZ296b29tJyk7CiAgICAgICAgICAvLyBjb25zb2xlLmxvZyhwYXJhbXMuem9vbSwncGFyYW1zLmdvem9vbScpOwoKICAgICAgICAgIG9wdGlvbi5nZW9bMF0ubGFiZWwuc2hvdyA9IHRydWU7IC8v5LiL5bGC55qEZ2Vv55qE5Lit5b+D5L2N572u6ZqP552A5LiK5bGCZ2Vv5LiA6LW35pS55Y+YCiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIG9wdGlvbi5nZW9bMF0ubGFiZWwuc2hvdyA9IGZhbHNlOyAvL+S4i+WxgueahGdlb+eahOS4reW/g+S9jee9rumaj+edgOS4iuWxgmdlb+S4gOi1t+aUueWPmAogICAgICAgIH0KICAgICAgICB0aGF0Lm1hcEVjaGFydHMuc2V0T3B0aW9uKG9wdGlvbik7IC8v6K6+572ub3B0aW9uCiAgICAgIH0pOwogICAgICB0aGlzLm1hcEVjaGFydHMub24oJ2NsaWNrJywgZnVuY3Rpb24gKHBhcmFtcykgewogICAgICAgIGlmIChwYXJhbXMuY29tcG9uZW50U3ViVHlwZSA9PT0gJ3NjYXR0ZXInKSB7CiAgICAgICAgICAvLyBjb25zb2xlLmxvZyhwYXJhbXMpCiAgICAgICAgICB2YXIgb3B0aW9uID0gdGhhdC5tYXBFY2hhcnRzLmdldE9wdGlvbigpOyAvL+iOt+W+l29wdGlvbuWvueixoQogICAgICAgICAgLy8g54K55Ye75Y+Y6buECiAgICAgICAgICBvcHRpb24uc2VyaWVzWzBdLmRhdGEuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICBpZiAocGFyYW1zLmRhdGEubmFtZSAhPT0gaXRlbS5uYW1lKSB7CiAgICAgICAgICAgICAgaWYgKGl0ZW0uaXNBY3RpdmUpIHsKICAgICAgICAgICAgICAgIGl0ZW0uaXNBY3RpdmUgPSBmYWxzZTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgaXRlbS5pc0FjdGl2ZSA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICAgICAgdGhhdC5tYXBFY2hhcnRzLnNldE9wdGlvbihvcHRpb24pOwogICAgICAgICAgdGhhdC4kZW1pdCgnY2xvc2VNYXAnLCB7CiAgICAgICAgICAgIHZhbHVlOiBwYXJhbXMuZGF0YQogICAgICAgICAgfSk7CiAgICAgICAgfQoKICAgICAgICAvKmlmIChwYXJhbXMuc2VyaWVzVHlwZSA9PT0gJ3NjYXR0ZXInICYmICFwYXJhbXMubmFtZSkgew0KICAgICAgICBsZXQgb3B0aW9uID0gdGhhdC5tYXBFY2hhcnRzLmdldE9wdGlvbigpIC8v6I635b6Xb3B0aW9u5a+56LGhDQogICAgICAgIC8vIOeCueWHu+WPmOm7hA0KICAgICAgICBvcHRpb24uc2VyaWVzWzBdLmRhdGEuZm9yRWFjaChpdGVtID0+IHsNCiAgICAgICAgaWYgKHBhcmFtcy5kYXRhLmFyZWFOYW1lICE9IGl0ZW0uYXJlYU5hbWUpIHsNCiAgICAgICAgaWYgKGl0ZW0uaXNBY3RpdmUpIHsNCiAgICAgICAgaXRlbS5pc0FjdGl2ZSA9IGZhbHNlDQogICAgICAgIH0NCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgaXRlbS5pc0FjdGl2ZSA9IHRydWUNCiAgICAgICAgfQ0KICAgICAgICB9KQ0KICAgICAgICB0aGF0LmdldENvbXBhbnlMaXN0KHBhcmFtcy5kYXRhKQ0KICAgICAgICAvLyBzZXQocGFyYW1zKQ0KICAgICAgICB0aGF0Lm1hcEVjaGFydHMuc2V0T3B0aW9uKG9wdGlvbikNCiAgICAgICAgbGV0IGRvbXRvb2x0aXBHQiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sdGlwR0InKQ0KICAgICAgICBpZiAoZG9tdG9vbHRpcEdCKSB7DQogICAgICAgIGxldCBvcHRpb24gPSB0aGF0Lm1hcEVjaGFydHMuZ2V0T3B0aW9uKCkgLy/ojrflvpdvcHRpb27lr7nosaENCiAgICAgICAgZG9tdG9vbHRpcEdCLm9uY2xpY2sgPSAoKSA9PiB7DQogICAgICAgIG9wdGlvbi5zZXJpZXNbMF0uZGF0YS5mb3JFYWNoKGl0ZW0gPT4gew0KICAgICAgICBpdGVtLmlzQWN0aXZlID0gZmFsc2UNCiAgICAgICAgfSkNCiAgICAgICAgbGV0IGRvbTIgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdpY29uTWFwJykNCiAgICAgICAgZG9tMlswXS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnDQogICAgICAgIC8vIHNldCh7IGRhdGE6IHsgbmFtZTogJycgfSB9KQ0KICAgICAgICB0aGF0Lm1hcEVjaGFydHMuc2V0T3B0aW9uKG9wdGlvbikNCiAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgIGxldCBvcHRpb24gPSB0aGF0Lm1hcEVjaGFydHMuZ2V0T3B0aW9uKCkgLy/ojrflvpdvcHRpb27lr7nosaENCiAgICAgICAgb3B0aW9uLnNlcmllc1swXS5kYXRhLmZvckVhY2goaXRlbSA9PiB7DQogICAgICAgIGl0ZW0uaXNBY3RpdmUgPSBmYWxzZQ0KICAgICAgICB9KQ0KICAgICAgICBsZXQgZG9tMiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2ljb25NYXAnKQ0KICAgICAgICBkb20yWzBdLnN0eWxlLmRpc3BsYXkgPSAnbm9uZScNCiAgICAgICAgdGhhdC5tYXBFY2hhcnRzLnNldE9wdGlvbihvcHRpb24pDQogICAgICAgIH0qLwogICAgICB9KTsKICAgICAgLypsZXQgc2V0ID0gZXZlbnQgPT4gew0KICAgICAgdGhpcy5wb2ludEFsbC5mb3JFYWNoKCh2LCBpKSA9PiB7DQogICAgICBpZiAodi5hcmVhTmFtZSAhPSBldmVudC5kYXRhLmFyZWFOYW1lKSB7DQogICAgICBpZiAodi5pc0FjdGl2ZSkgew0KICAgICAgICB2LmlzQWN0aXZlID0gZmFsc2UNCiAgICAgIH0NCiAgICAgIH0gZWxzZSB7DQogICAgICB2LmlzQWN0aXZlID0gdHJ1ZQ0KICAgICAgfQ0KICAgICAgfSkNCiAgICAgIH0qLwogICAgfSwKICAgIHNldE1hcE9wdGlvbjI6IGZ1bmN0aW9uIHNldE1hcE9wdGlvbjIoKSB7CiAgICAgIHZhciBfdGhpczQgPSB0aGlzOwogICAgICB2YXIgdGhhdCA9IHRoaXM7CiAgICAgIHRoaXMucG9pbnRBcmVhID0gdGhpcy5BcmVhQ291bnQ7CiAgICAgIHZhciBzcGxpdExpc3QyID0gW3sKICAgICAgICBuYW1lOiAn55+z5Zi05bGx5biCJywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICfpk7blt53luIInLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwQTJCN0InCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgbmFtZTogJ+WQtOW/oOW4gicsCiAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgYXJlYUNvbG9yOiAnIzBBMkI3QicKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBuYW1lOiAn5Lit5Y2r5biCJywKICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgIG5vcm1hbDogewogICAgICAgICAgICBhcmVhQ29sb3I6ICcjMEEyQjdCJwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIG5hbWU6ICflm7rljp/luIInLAogICAgICAgIGl0ZW1TdHlsZTogewogICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyMwQTJCN0InCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9XTsKICAgICAgdmFyIGltZ1VybCA9IHJlcXVpcmUoJy4uLy4uL2Fzc2V0cy9pbWcvbXlJbWFnZS90YW5rdWFuZy5wbmcnKTsKICAgICAgdmFyIGVjaGFydE9wdGlvbjIgPSB7CiAgICAgICAgZ2VvOiBbewogICAgICAgICAgc2hvdzogdHJ1ZSwKICAgICAgICAgIG1hcDogJ2hzJywKICAgICAgICAgIGFzcGVjdFNjYWxlOiAwLjgsCiAgICAgICAgICB6b29tOiB0aGlzLnpvb20yLAogICAgICAgICAgcm9hbTogdHJ1ZSwKICAgICAgICAgIC8vIOaYr+WQpuWFgeiuuOe8qeaUvgogICAgICAgICAgYW5pbWF0aW9uRHVyYXRpb25VcGRhdGU6IDAsCiAgICAgICAgICBsYXlvdXRTaXplOiAnODIlJywKICAgICAgICAgIGxheW91dENlbnRlcjogWyc1MCUnLCAnNDglJ10sCiAgICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgICAgbGFiZWw6IHsKICAgICAgICAgICAgICAgIHNob3c6IGZhbHNlCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICBhcmVhQ29sb3I6ICcjMjgxNTc3JywKICAgICAgICAgICAgICAvL+WcsOWbvuminOiJsgogICAgICAgICAgICAgIG9wYWNpdHk6IDEsCiAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6ICcjNTg3NmJhJywKICAgICAgICAgICAgICAvL+WcsOWbvui+ueahhuminOiJsgogICAgICAgICAgICAgIGJvcmRlcldpZHRoOiAxLAogICAgICAgICAgICAgIC8v5Zyw5Zu+6L655qGG5a695bqmCiAgICAgICAgICAgICAgc2hhZG93Q29sb3I6ICdub25lJywKICAgICAgICAgICAgICBzaGFkb3dCbHVyOiAxMCwKICAgICAgICAgICAgICBjb2xvcjogJyNmZmYnCiAgICAgICAgICAgICAgLy8g6K6+572u5omH5b2i55qE6Zi05b2xCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGVtcGhhc2lzOiB7CiAgICAgICAgICAgICAgLy/pgInkuK3nnIHku73nmoTpopzoibIKICAgICAgICAgICAgICBhcmVhQ29sb3I6ICcjNzY1YWYzJywKICAgICAgICAgICAgICBsYWJlbDogewogICAgICAgICAgICAgICAgc2hvdzogZmFsc2UKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICBsYWJlbDogewogICAgICAgICAgICBub3JtYWw6IHsKICAgICAgICAgICAgICBzaG93OiB0cnVlLAogICAgICAgICAgICAgIGZvbnRTaXplOiAxNCwKICAgICAgICAgICAgICBmb250V2VpZ2h0OiA1MDAsCiAgICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNSknCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGVtcGhhc2lzOiB7CiAgICAgICAgICAgICAgc2hvdzogdHJ1ZSwKICAgICAgICAgICAgICBhcmVhQ29sb3I6ICcjMGExODNkJywKICAgICAgICAgICAgICBjb2xvcjogJyNmZmYnCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICByZWdpb25zOiBzcGxpdExpc3QyCiAgICAgICAgfSwgewogICAgICAgICAgbWFwOiAnaHMnLAogICAgICAgICAgYXNwZWN0U2NhbGU6IDAuOCwKICAgICAgICAgIHJvYW06IHRydWUsCiAgICAgICAgICAvLyDmmK/lkKblhYHorrjnvKnmlL4KICAgICAgICAgIHpvb206IHRoaXMuem9vbTIsCiAgICAgICAgICBhbmltYXRpb25EdXJhdGlvblVwZGF0ZTogMCwKICAgICAgICAgIGxheW91dFNpemU6ICc4MiUnLAogICAgICAgICAgbGF5b3V0Q2VudGVyOiBbJzUwJScsICc1MC41JSddLAogICAgICAgICAgaXRlbVN0eWxlOiB7CiAgICAgICAgICAgIGFyZWFDb2xvcjogJyM2ZTU1ZGMnLAogICAgICAgICAgICBib3JkZXJDb2xvcjogJyM2ZTU1ZGMnLAogICAgICAgICAgICBib3JkZXJXaWR0aDogMSwKICAgICAgICAgICAgb3BhY2l0eTogMC41LAogICAgICAgICAgICBjb2xvcjogJyNmZmYnCiAgICAgICAgICB9LAogICAgICAgICAgemxldmVsOiAtMSwKICAgICAgICAgIHNpbGVudDogdHJ1ZSwKICAgICAgICAgIHRvb2x0aXA6IHsKICAgICAgICAgICAgc2hvdzogZmFsc2UsCiAgICAgICAgICAgIHRyaWdnZXI6ICdpdGVtJwogICAgICAgICAgfQogICAgICAgIH1dLAogICAgICAgIHZpc3VhbE1hcDogewogICAgICAgICAgc2hvdzogZmFsc2UsCiAgICAgICAgICB0b3A6ICd0b3AnLAogICAgICAgICAgbWluOiAwLAogICAgICAgICAgbWF4OiAyLAogICAgICAgICAgc2VyaWVzSW5kZXg6IDAsCiAgICAgICAgICBjYWxjdWxhYmxlOiB0cnVlLAogICAgICAgICAgaW5SYW5nZTogewogICAgICAgICAgICBjb2xvcjogWycjOTk4Zjc0JywgJyMwNGE0ZjYnLCAnIzAwOTQzZScsICcjZGFlMDdiJywgJyNiNjIwMjInXQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdG9vbHRpcDogewogICAgICAgICAgdHJpZ2dlcjogJ2l0ZW0nLAogICAgICAgICAgdHJpZ2dlck9uOiAnY2xpY2snLAogICAgICAgICAgYWx3YXlzU2hvd0NvbnRlbnQ6IHRydWUsCiAgICAgICAgICBzaG93RGVsYXk6IDAsCiAgICAgICAgICAvL+a1ruWxguaYvuekuueahOW7tui/nwogICAgICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uOiAwLjIsCiAgICAgICAgICAvLyDmj5DnpLrmoYbmta7lsYLnmoTnp7vliqjliqjnlLvov4fmuKHml7bpl7QKICAgICAgICAgIGVudGVyYWJsZTogdHJ1ZSwKICAgICAgICAgIGNsYXNzTmFtZTogJ2ljb25NYXAnLAogICAgICAgICAgZXh0cmFDc3NUZXh0OiAnYm94LXNoYWRvdzogMCAwIDNweCByZ2JhKDAsIDAsIDAsIDApOycsCiAgICAgICAgICBmb3JtYXR0ZXI6IGZ1bmN0aW9uIGZvcm1hdHRlcihwYXJhbXMpIHsKICAgICAgICAgICAgaWYgKHBhcmFtcy5kYXRhLmFyZWFOYW1lKSB7CiAgICAgICAgICAgICAgdmFyIGNvbXBhbnlIdG1sID0gJyc7CiAgICAgICAgICAgICAgdGhhdC5jb21wYW55QXJlYUxpc3QuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICAgICAgaWYgKGl0ZW0uYXJlYUlkID09IHBhcmFtcy5kYXRhLmFyZWFJZCkgewogICAgICAgICAgICAgICAgICBjb21wYW55SHRtbCArPSAnPGRpdiBjbGFzcz0iaXRlbUNvbG9yMSBpdGVtQ29sb3IiIHN0eWxlPSJvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7d2hpdGUtc3BhY2U6IG5vd3JhcDsiPicgKyBpdGVtLmNvbXBhbnlOYW1lICsgJzwvZGl2Pic7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgdmFyIGh0bWwgPSAiXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDoyNjBweDtoZWlnaHQ6MTgwcHg7YmFja2dyb3VuZDogdXJsKCIuY29uY2F0KGltZ1VybCwgIikgbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlOyBwYWRkaW5nOjEwcHggMTJweDtwb3NpdGlvbjogcmVsYXRpdmU7XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwidG9vbHRpcEdCMlwiIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO2N1cnNvcjpwb2ludGVyOyB3aWR0aDozMHB4O2hlaWdodDozMHB4O2xpbmUtaGVpZ2h0OjMwcHg7dGV4dC1hbGlnbjpjZW50ZXI7cmlnaHQ6NXB4O3RvcDo1cHg7XCI+WDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogMTRweDsgaGVpZ2h0OiAyMHB4O2xpbmUtaGVpZ2h0OjIwcHg7XCI+IikuY29uY2F0KHBhcmFtcy5kYXRhLmFyZWFOYW1lLCAiPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Nyb2xsVG9vbHRpcFwiIHN0eWxlPVwibWFyZ2luLXRvcDoxMHB4O2hlaWdodDoxMzBweDsgb3ZlcmZsb3cteTphdXRvO1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2hpdGUtc3BhY2U6bm9ybWFsO2ZvbnQtc2l6ZTogMTJweDtmb250LXdlaWdodDogNDAwO1wiPlxuICAgICAgICAgICAgICAgICAgICAgICIpLmNvbmNhdChjb21wYW55SHRtbCwgIlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj4iKTsKICAgICAgICAgICAgICByZXR1cm4gaHRtbDsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDQsMjQsNTEsMCknLAogICAgICAgICAgYm9yZGVyQ29sb3I6ICdyZ2JhKDk5LCAxNzMsIDIyMiwwKScsCiAgICAgICAgICBib3JkZXJXaWR0aDogMCwKICAgICAgICAgIHBhZGRpbmc6IFswLCAtMTIsIDAsIDBdLAogICAgICAgICAgcG9zaXRpb246ICdyaWdodCcsCiAgICAgICAgICB0ZXh0U3R5bGU6IHsKICAgICAgICAgICAgY29sb3I6ICcjZmZmJywKICAgICAgICAgICAgZm9udFdlaWdodDogJ2JvbGRlcicKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHNlcmllczogW3sKICAgICAgICAgIHR5cGU6ICdzY2F0dGVyJywKICAgICAgICAgIC8v5bim5pyJ5raf5ryq5pWI5p6c55qECiAgICAgICAgICBjb29yZGluYXRlU3lzdGVtOiAnZ2VvJywKICAgICAgICAgIC8v5L2/55So5Z2Q5qCH57O7CiAgICAgICAgICB6bGV2ZWw6IDEsCiAgICAgICAgICBzeW1ib2xTaXplOiBbMzYsIDQ4XSwKICAgICAgICAgIHN5bWJvbDogZnVuY3Rpb24gc3ltYm9sKHZhbHVlLCBwYXJhbXMpIHsKICAgICAgICAgICAgaWYgKHBhcmFtcy5kYXRhLmlzQWN0aXZlKSB7CiAgICAgICAgICAgICAgcmV0dXJuICdpbWFnZTovLycgKyByZXF1aXJlKCdAL2Fzc2V0cy9pbWcvbXlJbWFnZS9wb2ludF9vbi5wbmcnKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICByZXR1cm4gJ2ltYWdlOi8vJyArIHJlcXVpcmUoJ0AvYXNzZXRzL2ltZy9teUltYWdlL3BvaW50LnBuZycpOwogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgbGFiZWw6IHsKICAgICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgICAgc2hvdzogdHJ1ZSwKICAgICAgICAgICAgICBjb2xvcjogJyM3Q0MzRkYnLAogICAgICAgICAgICAgIGZvbnRTaXplOiAxNiwKICAgICAgICAgICAgICBmb250RmFtaWx5OiAnY3Vyc2l2ZScsCiAgICAgICAgICAgICAgZm9udFdlaWdodDogJ2JvbGQnLAogICAgICAgICAgICAgIHBvc2l0aW9uOiAndG9wJywKICAgICAgICAgICAgICBwYWRkaW5nOiBbMCwgMCwgLTE1LCAwXSwKICAgICAgICAgICAgICBmb3JtYXR0ZXI6IGZ1bmN0aW9uIGZvcm1hdHRlcihwYXJhbXMpIHsKICAgICAgICAgICAgICAgIHJldHVybiBwYXJhbXMuZGF0YS5jb3VudDsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICBpdGVtU3R5bGU6IHsKICAgICAgICAgICAgbm9ybWFsOiB7CiAgICAgICAgICAgICAgY29sb3I6ICcjZmZmJwogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgZGF0YTogdGhpcy5wb2ludEFyZWEgfHwgW10KICAgICAgICB9XQogICAgICB9OwogICAgICB0aGlzLm1hcEVjaGFydHMyLnNldE9wdGlvbihlY2hhcnRPcHRpb24yKTsKICAgICAgdGhpcy5tYXBFY2hhcnRzMi5vbignZ2Vvcm9hbScsIGZ1bmN0aW9uIChwYXJhbXMpIHsKICAgICAgICB2YXIgb3B0aW9uMiA9IHRoYXQubWFwRWNoYXJ0czIuZ2V0T3B0aW9uKCk7IC8v6I635b6Xb3B0aW9u5a+56LGhCiAgICAgICAgaWYgKHBhcmFtcy56b29tICE9IG51bGwgJiYgcGFyYW1zLnpvb20gIT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAvL+aNleaNieWIsOe8qeaUvuaXtgogICAgICAgICAgb3B0aW9uMi5nZW9bMV0uem9vbSA9IG9wdGlvbjIuZ2VvWzBdLnpvb207IC8v5LiL5bGCZ2Vv55qE57yp5pS+562J57qn6Lef552A5LiK5bGC55qEZ2Vv5LiA6LW35pS55Y+YCiAgICAgICAgICBvcHRpb24yLmdlb1sxXS5jZW50ZXIgPSBvcHRpb24yLmdlb1swXS5jZW50ZXI7IC8v5LiL5bGC55qEZ2Vv55qE5Lit5b+D5L2N572u6ZqP552A5LiK5bGCZ2Vv5LiA6LW35pS55Y+YCiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIC8v5o2V5o2J5Yiw5ouW5puz5pe2CiAgICAgICAgICBvcHRpb24yLmdlb1sxXS5jZW50ZXIgPSBvcHRpb24yLmdlb1swXS5jZW50ZXI7IC8v5LiL5bGC55qEZ2Vv55qE5Lit5b+D5L2N572u6ZqP552A5LiK5bGCZ2Vv5LiA6LW35pS55Y+YCiAgICAgICAgfQogICAgICAgIHRoYXQubWFwRWNoYXJ0czIuc2V0T3B0aW9uKG9wdGlvbjIpOyAvL+iuvue9rm9wdGlvbgogICAgICB9KTsKICAgICAgdGhpcy5tYXBFY2hhcnRzMi5vbignY2xpY2snLCBmdW5jdGlvbiAocGFyYW1zKSB7CiAgICAgICAgaWYgKHBhcmFtcy5zZXJpZXNUeXBlID09PSAnc2NhdHRlcicgJiYgIXBhcmFtcy5uYW1lKSB7CiAgICAgICAgICB2YXIgb3B0aW9uID0gdGhhdC5tYXBFY2hhcnRzMi5nZXRPcHRpb24oKTsgLy/ojrflvpdvcHRpb27lr7nosaEKCiAgICAgICAgICBvcHRpb24uc2VyaWVzWzBdLmRhdGEuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICBpZiAocGFyYW1zLmRhdGEuYXJlYU5hbWUgIT0gaXRlbS5hcmVhTmFtZSkgewogICAgICAgICAgICAgIGlmIChpdGVtLmlzQWN0aXZlKSB7CiAgICAgICAgICAgICAgICBpdGVtLmlzQWN0aXZlID0gZmFsc2U7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIGl0ZW0uaXNBY3RpdmUgPSB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICAgIHNldDIocGFyYW1zKTsKICAgICAgICAgIHRoYXQubWFwRWNoYXJ0czIuc2V0T3B0aW9uKG9wdGlvbik7CiAgICAgICAgICB2YXIgZG9tdG9vbHRpcEdCMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sdGlwR0IyJyk7CiAgICAgICAgICBpZiAoZG9tdG9vbHRpcEdCMikgewogICAgICAgICAgICBkb210b29sdGlwR0IyLm9uY2xpY2sgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgdmFyIGRvbTIgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdpY29uTWFwJyk7CiAgICAgICAgICAgICAgb3B0aW9uLnNlcmllc1swXS5kYXRhLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgICAgIGl0ZW0uaXNBY3RpdmUgPSBmYWxzZTsKICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICBkb20yWzBdLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgc2V0Mih7CiAgICAgICAgICAgICAgICBkYXRhOiB7CiAgICAgICAgICAgICAgICAgIG5hbWU6ICcnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgdGhhdC5tYXBFY2hhcnRzMi5zZXRPcHRpb24ob3B0aW9uKTsKICAgICAgICAgICAgfTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgdmFyIF9vcHRpb24gPSB0aGF0Lm1hcEVjaGFydHMyLmdldE9wdGlvbigpOyAvL+iOt+W+l29wdGlvbuWvueixoQogICAgICAgICAgX29wdGlvbi5zZXJpZXNbMF0uZGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgIGl0ZW0uaXNBY3RpdmUgPSBmYWxzZTsKICAgICAgICAgIH0pOwogICAgICAgICAgdmFyIGRvbTIgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdpY29uTWFwJyk7CiAgICAgICAgICBkb20yWzBdLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICB0aGF0Lm1hcEVjaGFydHMyLnNldE9wdGlvbihfb3B0aW9uKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgICB2YXIgc2V0MiA9IGZ1bmN0aW9uIHNldDIoZXZlbnQpIHsKICAgICAgICBfdGhpczQucG9pbnRBcmVhLmZvckVhY2goZnVuY3Rpb24gKHYsIGkpIHsKICAgICAgICAgIGlmICh2LmFyZWFOYW1lICE9IGV2ZW50LmRhdGEuYXJlYU5hbWUpIHsKICAgICAgICAgICAgaWYgKHYuaXNBY3RpdmUpIHsKICAgICAgICAgICAgICB2LmlzQWN0aXZlID0gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHYuaXNBY3RpdmUgPSB0cnVlOwogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9OwogICAgfQogIH0KfTs="},{"version":3,"names":["echarts","_interopRequireWildcard","require","_china","_interopRequireDefault","_ningxia","_default","exports","default","name","props","sendHeight","type","String","sendMapColor","sendGeo","Array","sendNumber","Number","showLine","Boolean","sendProjSpin","Object","watch","handler","newVal","oldVal","console","log","geoVal","setMapOption","deep","data","zoom","zoom2","mapEcharts","mapEcharts2","mapJson","pointArea","pointAll","companyList","companyAreaList","isCity","cityCount","gozoom","created","mounted","getInitData","methods","getEquipmentDisByMapApiPage","getEquipmentDisByMapApi","then","res","getCompanyList","_this","params","provinceId","getCompanyListByProvinceId","success","getCompanyAreaList","_this2","areaId","getCompanyListByAreaId","getCityCount","getMapSelect","_this3","dom","document","getElementsByClassName","style","display","dispose","setTimeout","init","getElementById","mapJson1","mapChinaJson","registerMap","mapJson2","ningxiaJson","setMapOption2","clear","geoCoordMap","mapFeatures","features","forEach","v","i","properties","center","that","push","itemStyle","areaColor","borderColor","shadowColor","imgUrl","echartOption","geo","show","map","aspectScale","roam","animationDurationUpdate","layoutSize","layoutCenter","normal","label","opacity","borderWidth","shadowBlur","color","emphasis","fontSize","fontWeight","zlevel","regions","tooltip","trigger","formatter","componentSubType","className","html","concat","projName","devTypeNum","devNum","successNum","errorNum","silent","visualMap","top","min","max","seriesIndex","calculable","inRange","alwaysShowContent","showDelay","transitionDuration","enterable","extraCssText","province","value","backgroundColor","padding","position","textStyle","series","coordinateSystem","symbolSize","symbol","devStatus","scale","symbolKeepAspect","fontFamily","str","length","large","effect","constantSpeed","projectId","trailLength","loop","lineStyle","width","curveness","fromName","toName","coords","setOption","on","option","getOption","undefined","item","isActive","$emit","_this4","AreaCount","splitList2","echartOption2","triggerOn","areaName","companyHtml","companyName","count","option2","seriesType","set2","domtooltipGB2","onclick","dom2","event"],"sources":["src/components/home/countryMap.vue"],"sourcesContent":["<template>\r\n <div class=\"centerTopPage\">\r\n <div class=\"mapBox\">\r\n <div v-if=\"type == 1\" id=\"mapEcharts\"></div>\r\n <div v-if=\"type == 2\" id=\"mapEcharts2\"></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\n\r\nimport * as echarts from 'echarts'\r\n// let mapChinaJson = require('@/untils/mapJson/china.json')\r\nimport mapChinaJson from '@/utils/mapJson/china.json'\r\nimport ningxiaJson from '@/utils/mapJson/ningxia.json'\r\n// let ningxiaJson = require('@/untils/mapJson/ningxia.json')\r\nexport default {\r\n name: 'centerTopPage',\r\n props: {\r\n sendHeight: {\r\n type: String,\r\n default: '100%',\r\n },\r\n sendMapColor: {\r\n type: String,\r\n default: '#689AFB',\r\n },\r\n sendGeo: {\r\n type: Array,\r\n default: null,\r\n },\r\n sendNumber: {\r\n type: Number,\r\n },\r\n showLine: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n sendProjSpin: {\r\n type: Array | Object,\r\n },\r\n },\r\n watch: {\r\n sendGeo: {\r\n handler(newVal, oldVal) {\r\n console.log(newVal, oldVal)\r\n if (newVal !== oldVal) {\r\n this.geoVal = newVal\r\n this.setMapOption()\r\n }\r\n },\r\n deep: true,\r\n },\r\n },\r\n data() {\r\n return {\r\n type: 1,\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 geoVal: null,\r\n }\r\n },\r\n created() {\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 this.mapEcharts = echarts.init(\r\n document.getElementById('mapEcharts'),\r\n )\r\n this.mapJson = mapChinaJson\r\n echarts.registerMap('china', this.mapJson)\r\n this.setMapOption()\r\n },\r\n setMapOption() {\r\n this.mapEcharts.clear()\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 name: \"青海省\",\r\n value: ['101.778', '36.623'], a: '100'\r\n },\r\n {\r\n name: \"宁夏回族自治区\",\r\n value: ['106.278', '38.466'], a: '100'\r\n },\r\n {\r\n name: '安徽省', value: ['117.283', '31.861'], a: '100'\r\n },\r\n {\r\n name: '湖南省', value: ['112.982', '28.194'], 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 { name: '北京市', itemStyle: { normal: { areaColor: this.sendMapColor } } },\r\n {\r\n name: '天津市',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '上海市',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '重庆市',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '河北省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '河南省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '云南省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '辽宁省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '黑龙江省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '湖南省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '安徽省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '山东省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '新疆维吾尔自治区',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '江苏省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '浙江省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '江西省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '湖北省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '广西壮族自治区',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '甘肃省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '山西省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '内蒙古自治区',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '陕西省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '吉林省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '福建省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '贵州省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '广东省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '青海省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '西藏自治区',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '四川省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '宁夏回族自治区',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '海南省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '台湾省',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '香港特别行政区',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\r\n },\r\n {\r\n name: '澳门特别行政区',\r\n itemStyle: { normal: { areaColor: this.sendMapColor } }\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 type: 'map',\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: {\r\n show: false,\r\n },\r\n areaColor: this.sendMapColor, //地图颜色\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: this.geoVal || [],\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 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 },\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 },\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('222')\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: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: this.geoVal || [],\r\n roam: false,\r\n coordinateSystem: 'geo', //使用坐标系\r\n zlevel: 1,\r\n symbolSize: [60, 70],\r\n symbol: (value, params) => {\r\n if (params.data.errorNum>0) {\r\n return (\r\n 'image://' + require('@/assets/img/myImage/point_red.png')\r\n )\r\n } else {\r\n if(params.data.devStatus==0){\r\n return ('image://' + require('@/assets/img/myImage/point_grey.png'))\r\n }else{\r\n return ('image://' + require('@/assets/img/myImage/point.png'))\r\n }\r\n \r\n }\r\n /*if (params.name == '安徽省') {\r\n return 'image://' + require('@/assets/img/myImage/markPoints.png')\r\n }\r\n if (params.name == '湖南省') {\r\n return 'image://' + require('@/assets/img/myImage/markPoints.png')\r\n }\r\n if (params.name == '宁夏回族自治区') {\r\n return 'image://' + require('@/assets/img/myImage/markPoints.png')\r\n }\r\n if (params.name == '青海省') {\r\n return 'image://' + require('@/assets/img/myImage/markPoints.png')\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: this.sendMapColor === '#689AFB' ? '#fff' : 'rgba(57, 145, 244, 0.9)',\r\n fontSize: 24,\r\n fontFamily: 'cursive',\r\n fontWeight: 'bold',\r\n position: 'top',\r\n padding: [0, 0, -10, 0],\r\n formatter: function (params) {\r\n let str=\"\";\r\n // str = `{a|${params.data.projName}}`;\r\n return str\r\n },\r\n // rich: {\r\n // a: {\r\n // fontSize: 20,\r\n // padding: [0, 0, 0, -10],\r\n // },\r\n // b: {\r\n // fontSize: 20,\r\n // padding: [20, 0, 0, -10],\r\n // },\r\n // c: {\r\n // fontSize: 20,\r\n // position: [-12, -10],\r\n // },\r\n // }\r\n },\r\n },\r\n itemStyle: {\r\n normal: {\r\n color: '#fff',\r\n },\r\n },\r\n data: this.geoVal || [],\r\n },\r\n /*{\r\n name: \"lines\",\r\n type: \"lines\",\r\n coordinateSystem: \"geo\",\r\n zlevel: 2,\r\n large: true,\r\n effect: {\r\n show: true, // 开启动态线条效果\r\n constantSpeed: 30, // 线条速度\r\n symbol: \"pin\", // 标记的图形,支持图片和文字\r\n symbolSize: 10, // 标记的大小\r\n trailLength: 0, // 动态线条的长度\r\n loop: true, // 是否循环动画效果\r\n },\r\n lineStyle: {\r\n normal: {\r\n color: function(params) {\r\n // 根据 status 属性判断连线颜色\r\n return \"#3286CC\"\r\n },\r\n width: 4,\r\n opacity: 0.4,\r\n curveness: 0.2, // 曲线程度\r\n },\r\n emphasis: {\r\n opacity: 0.8,\r\n width: 5,\r\n },\r\n },\r\n data: [{\r\n fromName: '北京',\r\n toName: '上海',\r\n coords: [\r\n [116.407526, 39.90403], // 北京的经纬度坐标\r\n [121.473701, 31.230416], // 上海的经纬度坐标\r\n ]\r\n }],\r\n },\r\n {\r\n name: \"lines\",\r\n type: \"lines\",\r\n coordinateSystem: \"geo\",\r\n zlevel: 2,\r\n large: true,\r\n effect: {\r\n show: true, // 开启动态线条效果\r\n constantSpeed: 30, // 线条速度\r\n symbol: \"pin\", // 标记的图形,支持图片和文字\r\n symbolSize: 10, // 标记的大小\r\n trailLength: 0, // 动态线条的长度\r\n loop: true, // 是否循环动画效果\r\n },\r\n lineStyle: {\r\n normal: {\r\n color: function(params) {\r\n // 根据 status 属性判断连线颜色\r\n return \"#3286CC\"\r\n },\r\n width: 4,\r\n opacity: 0.4,\r\n curveness: 0.2, // 曲线程度\r\n },\r\n emphasis: {\r\n opacity: 0.8,\r\n width: 5,\r\n },\r\n },\r\n data: [{\r\n fromName: '北京',\r\n toName: '上海',\r\n coords: [\r\n [121.473701, 31.230416], // 上海的经纬度坐标\r\n [102.103365, 24.235567]\r\n ]\r\n }],\r\n },*/\r\n ],\r\n }\r\n // 去除线条\r\n // echartOption.series = echartOption.series.filter(item => item.type !== 'lines')\r\n // 插入线条\r\n if (this.geoVal && this.showLine) {\r\n for (let i = 0; i < this.geoVal.length; i++) {\r\n if (i !== this.geoVal.length - 1) {\r\n echartOption.series.push({\r\n name: 'lines',\r\n type: 'lines',\r\n coordinateSystem: 'geo',\r\n zlevel: 2,\r\n large: true,\r\n effect: {\r\n show: true, // 开启动态线条效果\r\n constantSpeed: 30, // 线条速度\r\n symbol: 'pin', // 标记的图形,支持图片和文字\r\n symbolSize: this.geoVal[i].projectId === this.geoVal[i + 1].projectId ? 10 : 0, // 标记的大小\r\n trailLength: 0, // 动态线条的长度\r\n loop: true, // 是否循环动画效果\r\n },\r\n lineStyle: {\r\n normal: {\r\n color: function (params) {\r\n return '#3286CC'\r\n },\r\n width: this.geoVal[i].projectId === this.geoVal[i + 1].projectId ? 4 : 0,\r\n opacity: 0.4,\r\n curveness: 0.2, // 曲线程度\r\n },\r\n emphasis: {\r\n opacity: 0.8,\r\n width: 5,\r\n },\r\n },\r\n data: [\r\n {\r\n fromName: this.geoVal[i].name,\r\n toName: this.geoVal[i + 1].name,\r\n coords: [\r\n this.geoVal[i].value,\r\n this.geoVal[i + 1].value,\r\n ],\r\n },\r\n ],\r\n })\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.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\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 = 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 {\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 let imgUrl = require('../../assets/img/myImage/tankuang.png')\r\n let echartOption2 = {\r\n geo: [\r\n {\r\n show: true,\r\n map: 'hs',\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: '#281577', //地图颜色\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 regions: splitList2,\r\n },\r\n {\r\n map: 'hs',\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 triggerOn: 'click',\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.data.areaName) {\r\n let companyHtml = ''\r\n that.companyAreaList.forEach((item) => {\r\n if (item.areaId == params.data.areaId) {\r\n companyHtml +=\r\n '<div class=\"itemColor1 itemColor\" style=\"overflow:hidden;text-overflow: ellipsis;white-space: nowrap;\">' +\r\n item.companyName +\r\n '</div>'\r\n }\r\n })\r\n let html = `\r\n <div style=\"width:260px;height:180px;background: url(${imgUrl}) no-repeat; background-size:100% 100%; padding:10px 12px;position: relative;\">\r\n <div id=\"tooltipGB2\" style=\"position: absolute;cursor:pointer; width:30px;height:30px;line-height:30px;text-align:center;right:5px;top:5px;\">X</div>\r\n <div style=\"font-size: 14px; height: 20px;line-height:20px;\">${params.data.areaName}</div>\r\n <div class=\"scrollTooltip\" style=\"margin-top:10px;height:130px; overflow-y:auto;\">\r\n <div style=\"white-space:normal;font-size: 12px;font-weight: 400;\">\r\n ${companyHtml}\r\n </div>\r\n </div>\r\n </div>`\r\n return html\r\n } else {\r\n return ''\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 type: 'scatter', //带有涟漪效果的\r\n coordinateSystem: 'geo', //使用坐标系\r\n zlevel: 1,\r\n symbolSize: [36, 48],\r\n symbol: function (value, params) {\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: '#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: this.pointArea || [],\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\r\n this.mapEcharts2.on('click', function (params) {\r\n if (params.seriesType === 'scatter' && !params.name) {\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 let domtooltipGB2 = document.getElementById('tooltipGB2')\r\n if (domtooltipGB2) {\r\n domtooltipGB2.onclick = () => {\r\n let dom2 =\r\n document.getElementsByClassName('iconMap')\r\n option.series[0].data.forEach((item) => {\r\n item.isActive = false\r\n })\r\n dom2[0].style.display = 'none'\r\n set2({ data: { name: '' } })\r\n that.mapEcharts2.setOption(option)\r\n }\r\n }\r\n } else {\r\n let option = that.mapEcharts2.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.mapEcharts2.setOption(option)\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: var(--send-height);\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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UACA,KAAAnC,WAAA;QACA;QACAoC,UAAA;UACAP,MAAA,CAAA7B,WAAA,GAAApC,OAAA,CAAAyE,IAAA,CACAN,QAAA,CAAAO,cAAA,eACA;UACA;UACA,IAAAI,QAAA,GAAAC,gBAAA;UACA/E,OAAA,CAAA6E,WAAA,OAAAC,QAAA;UACAb,MAAA,CAAAe,aAAA;QACA;MACA;IACA;IACAjC,WAAA,WAAAA,YAAA;MACA,KAAAZ,UAAA,GAAAnC,OAAA,CAAAyE,IAAA,CACAN,QAAA,CAAAO,cAAA,cACA;MACA,KAAArC,OAAA,GAAAuC,cAAA;MACA5E,OAAA,CAAA6E,WAAA,eAAAxC,OAAA;MACA,KAAAP,YAAA;IACA;IACAA,YAAA,WAAAA,aAAA;MACA,KAAAK,UAAA,CAAA8C,KAAA;MACA;MACA,IAAAC,WAAA;MACA;MACA,IAAAC,WAAA,QAAA9C,OAAA,CAAA+C,QAAA;MACA;MACAD,WAAA,CAAAE,OAAA,WAAAC,CAAA,EAAAC,CAAA;QACA;QACA,IAAA9E,IAAA,GAAA6E,CAAA,CAAAE,UAAA,CAAA/E,IAAA;QACA,IAAAA,IAAA;UACA;UACAyE,WAAA,CAAAzE,IAAA,IAAA6E,CAAA,CAAAE,UAAA,CAAAC,MAAA;QACA;MACA;;MAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACA,IAAAC,IAAA;MACA,KAAAnD,QAAA,QAAAI,SAAA;MACA,KAAAJ,QAAA,CAAAoD,IAAA;QACAlF,IAAA;QACA;QACAmF,SAAA;UACAC,SAAA;UACAC,WAAA;UAAA;UACAC,WAAA;QACA;MACA;MACA;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;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;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;AACA;AACA;AACA;AACA;AACA;MACA,IAAAC,MAAA,GAAA9F,OAAA;MACA,IAAA+F,YAAA;QACAC,GAAA,GACA;UACAC,IAAA;UACAC,GAAA;UACAxF,IAAA;UACAyF,WAAA;UACApE,IAAA,OAAAA,IAAA;UACAqE,IAAA;UAAA;UACAC,uBAAA;UACAC,UAAA;UACAC,YAAA;UACAb,SAAA;YACAc,MAAA;cACAC,KAAA;gBACAR,IAAA;cACA;cACAN,SAAA,OAAA/E,YAAA;cAAA;cACA8F,OAAA;cACAd,WAAA;cAAA;cACAe,WAAA;cAAA;cACAd,WAAA;cACAe,UAAA;cACAC,KAAA;cACA;YACA;YACAC,QAAA;cACA;cACAnB,SAAA;cACAc,KAAA;gBACAR,IAAA;cACA;YACA;UACA;UACAQ,KAAA;YACAD,MAAA;cACAP,IAAA;cACAc,QAAA;cACAC,UAAA;cACAH,KAAA;YACA;YACAC,QAAA;cACAb,IAAA;cACAN,SAAA;cACAkB,KAAA;YACA;UACA;UACAI,MAAA;UACAC,OAAA,OAAAvF,MAAA;UACAwF,OAAA;YACAlB,IAAA;YACAmB,OAAA;YACAC,SAAA,WAAAA,UAAAhE,MAAA;cACA;cACA;cACA,IAAAA,MAAA,CAAAiE,gBAAA;gBACA,IAAAC,SAAA;gBACA,IAAAC,IAAA,+8BAAAC,MAAA,CAUApE,MAAA,CAAAvB,IAAA,CAAA4F,QAAA,wZAAAD,MAAA,CAEApE,MAAA,CAAAvB,IAAA,CAAA6F,UAAA,mJAAAF,MAAA,CACApE,MAAA,CAAAvB,IAAA,CAAA8F,MAAA,wMAAAH,MAAA,CAEApE,MAAA,CAAAvB,IAAA,CAAA+F,UAAA,yIAAAJ,MAAA,CACApE,MAAA,CAAAvB,IAAA,CAAAgG,QAAA,6NAIA;gBACA,OAAAN,IAAA;cACA;cACA;cACA;YACA;UAEA;QACA,GACA;UACAtB,GAAA;UACAC,WAAA;UACAC,IAAA;UAAA;UACAC,uBAAA;UACAtE,IAAA,OAAAA,IAAA;UACAuE,UAAA;UACAC,YAAA;UACAb,SAAA;YACAC,SAAA;YACAC,WAAA;YACAe,WAAA;YACAD,OAAA;YACAG,KAAA;UACA;UACAI,MAAA;UACAc,MAAA;UACAZ,OAAA;YACAlB,IAAA;UACA;QACA,EACA;QACA+B,SAAA;UACA/B,IAAA;UACAgC,GAAA;UACAC,GAAA;UACAC,GAAA;UACAC,WAAA;UACAC,UAAA;UACAC,OAAA;YACAzB,KAAA,GACA,WACA,WACA,WACA,WACA;UAEA;QACA;QACAM,OAAA;UACAC,OAAA;UACAmB,iBAAA;UACAC,SAAA;UAAA;UACAC,kBAAA;UAAA;UACAC,SAAA;UACAnB,SAAA;UACAoB,YAAA;UACAtB,SAAA,WAAAA,UAAAhE,MAAA;YACA;YACA;YACA,IAAAA,MAAA,CAAAiE,gBAAA;cACA,IAAAC,SAAA;cACA,IAAAC,IAAA,g4BAAAC,MAAA,CAUApE,MAAA,CAAAvB,IAAA,CAAA4F,QAAA,gXAAAD,MAAA,CAEApE,MAAA,CAAAvB,IAAA,CAAA8G,QAAA,6GAAAnB,MAAA,CACApE,MAAA,CAAAvB,IAAA,CAAA+G,KAAA,gHAAApB,MAAA,CACApE,MAAA,CAAAvB,IAAA,CAAA+G,KAAA,mGAEA;cACA,OAAArB,IAAA;YACA;UACA;UACAsB,eAAA;UACAlD,WAAA;UACAe,WAAA;UACAoC,OAAA;UACAC,QAAA;UACAC,SAAA;YACApC,KAAA;YACAG,UAAA;UACA;QACA;QACAkC,MAAA,GACA;UACAxI,IAAA;UAAA;UACAwF,GAAA,OAAAvE,MAAA;UACAyE,IAAA;UACA+C,gBAAA;UAAA;UACAlC,MAAA;UACAmC,UAAA;UACAC,MAAA,WAAAA,OAAAR,KAAA,EAAAxF,MAAA;YACA,IAAAA,MAAA,CAAAvB,IAAA,CAAAgG,QAAA;cACA,OACA,aAAA9H,OAAA;YAEA;cACA,IAAAqD,MAAA,CAAAvB,IAAA,CAAAwH,SAAA;gBACA,oBAAAtJ,OAAA;cACA;gBACA,oBAAAA,OAAA;cACA;YAEA;YACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;UACA;UACA8G,QAAA;YACAyC,KAAA;UACA;UACAC,gBAAA;UACA/C,KAAA;YACAD,MAAA;cACAP,IAAA;cACAY,KAAA,OAAAjG,YAAA;cACAmG,QAAA;cACA0C,UAAA;cACAzC,UAAA;cACAgC,QAAA;cACAD,OAAA;cACA1B,SAAA,WAAAA,UAAAhE,MAAA;gBACA,IAAAqG,GAAA;gBACA;gBACA,OAAAA,GAAA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;YACA;UACA;UACAhE,SAAA;YACAc,MAAA;cACAK,KAAA;YACA;UACA;UACA/E,IAAA,OAAAH,MAAA;QACA;QACA;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;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,YA3EA;MA6EA;MACA;MACA;MACA;MACA,SAAAA,MAAA,SAAAV,QAAA;QACA,SAAAoE,CAAA,MAAAA,CAAA,QAAA1D,MAAA,CAAAgI,MAAA,EAAAtE,CAAA;UACA,IAAAA,CAAA,UAAA1D,MAAA,CAA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","ignoreList":[]}]}