@idmwx/idmui-gl4 1.0.7 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js
CHANGED
|
@@ -1319,6 +1319,7 @@ const Wi = {
|
|
|
1319
1319
|
Theme: Le()
|
|
1320
1320
|
};
|
|
1321
1321
|
},
|
|
1322
|
+
emits: ["closeDetail"],
|
|
1322
1323
|
data() {
|
|
1323
1324
|
return {
|
|
1324
1325
|
layer: "tide-stations",
|
|
@@ -1435,6 +1436,7 @@ const Wi = {
|
|
|
1435
1436
|
this.showInfo = !1, (t = this.map) != null && t.getLayer(this.layer) && this.map.setLayoutProperty(this.layer, "visibility", "none");
|
|
1436
1437
|
},
|
|
1437
1438
|
handleClick(t) {
|
|
1439
|
+
this.$emit("closeDetail");
|
|
1438
1440
|
const e = t.features[0];
|
|
1439
1441
|
e.properties && (this.station = e.properties, this.station.name = this.locale === "en" ? e.properties.Location_EN : e.properties.Location_CN, this.station.lng = e.geometry.coordinates[0], this.station.lat = e.geometry.coordinates[1], this.showDetail = !0, this.fetchTidesData());
|
|
1440
1442
|
},
|
|
@@ -1771,7 +1773,7 @@ function kr(t, e, o, i, a, r) {
|
|
|
1771
1773
|
})) : E("", !0)
|
|
1772
1774
|
]);
|
|
1773
1775
|
}
|
|
1774
|
-
const zr = /* @__PURE__ */ V(Wi, [["render", kr], ["__scopeId", "data-v-
|
|
1776
|
+
const zr = /* @__PURE__ */ V(Wi, [["render", kr], ["__scopeId", "data-v-5b47ddcf"]]), Lr = {
|
|
1775
1777
|
name: "IdmIceAreas",
|
|
1776
1778
|
props: {
|
|
1777
1779
|
map: {
|
package/dist/index.umd.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
(function(W,K){typeof exports=="object"&&typeof module<"u"?K(exports,require("axios"),require("vuetify"),require("vue"),require("mapbox-gl"),require("@idm-plugin/geo"),require("moment"),require("@idm-plugin/meteo"),require("echarts"),require("@turf/turf"),require("@idm-plugin/tag-nop"),require("@mapbox/sphericalmercator"),require("@idm-plugin/tag")):typeof define=="function"&&define.amd?define(["exports","axios","vuetify","vue","mapbox-gl","@idm-plugin/geo","moment","@idm-plugin/meteo","echarts","@turf/turf","@idm-plugin/tag-nop","@mapbox/sphericalmercator","@idm-plugin/tag"],K):(W=typeof globalThis<"u"?globalThis:W||self,K(W["idm-gl"]={},W.axios,W.vuetify,W.Vue,W["mapbox-gl"],W["@idm-plugin/geo"],W.moment,W["@idm-plugin/meteo"],W.echarts,W["@turf/turf"],W["@idm-plugin/tag-nop"],W["@mapbox/sphericalmercator"],W["@idm-plugin/tag"]))})(this,function(W,K,ie,e,me,M,L,jt,Ea,Da,Me,Aa,Ba){"use strict";var Rs=Object.defineProperty;var Vs=(W,K,ie)=>K in W?Rs(W,K,{enumerable:!0,configurable:!0,writable:!0,value:ie}):W[K]=ie;var $=(W,K,ie)=>(Vs(W,typeof K!="symbol"?K+"":K,ie),ie);function Gt(o){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const a in o)if(a!=="default"){const r=Object.getOwnPropertyDescriptor(o,a);Object.defineProperty(t,a,r.get?r:{enumerable:!0,get:()=>o[a]})}}return t.default=o,Object.freeze(t)}const Zt=Gt(Ea),N=Gt(Da),B=(o,t)=>{const a=o.__vccOpts||o;for(const[r,i]of t)a[r]=i;return a},Ra={name:"IdmWarZone",props:{map:{type:Object},zone:{type:Object},beforeLayer:{type:String}},setup(){return{Theme:ie.useTheme()}},data(){return{source:"war-zone-source",zoneLayer:"war-zone-layer",zoneLabelLayer:"war-zone-label-layer"}},watch:{zone:{handler(){this.handleRender()},immediate:!0}},methods:{handleRender(){this.map?(this.handleClear(),this.zone&&(this.map.addSource(this.source,{type:"geojson",data:this.zone}),this.map.addLayer({id:this.zoneLayer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-color":this.Theme.current.value.colors["map-red"],"fill-opacity":.4}},this.beforeLayer),this.map.addLayer({id:this.zoneLayer+"-border",type:"line",source:this.source,filter:["==","$type","Polygon"],paint:{"line-width":1,"line-opacity":.7,"line-color":this.Theme.current.value.colors["map-red"]}},this.beforeLayer),this.map.addLayer({id:this.zoneLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","icon-size":.7,"icon-image":"identify","text-anchor":"top","text-field":"{lbl}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[0,1],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},paint:{"text-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.zoneLayer)&&this.map.removeLayer(this.zoneLayer),this.map.getLayer(this.zoneLayer+"-border")&&this.map.removeLayer(this.zoneLayer+"-border"),this.map.getLayer(this.zoneLabelLayer)&&this.map.removeLayer(this.zoneLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function Va(o,t,a,r,i,l){return e.openBlock(),e.createElementBlock("div")}const Oa=B(Ra,[["render",Va]]),ja={name:"IdmGmdssArea",props:{map:{type:Object},area:{type:Object},beforeLayer:{type:String}},setup(){return{Theme:ie.useTheme()}},data(){return{source:"gmdss-area-source",areaLayer:"gmdss-area-layer",areaLabelLayer:"gmdss-area-label-layer"}},watch:{area:{handler(){this.handleRender()},immediate:!0}},methods:{handleRender(){this.map?(this.handleClear(),this.area&&(this.map.addSource(this.source,{type:"geojson",data:this.area}),console.log(this.beforeLayer),this.map.addLayer({id:this.areaLayer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-outline-color":"rgba(255,255,255,0.3)","fill-opacity":.4,"fill-color":["match",["get","val"],"AreaI","#EB8996","AreaII","#6F448B","AreaIII","#3E8BD3","AreaIV","#5EBCC4","AreaV","#00AAE7","AreaVI","#9CCE6D","AreaVII","#F4AE00","AreaVIII","#EF9A85","AreaIX","#00AAA7","AreaX","#7AC49F","AreaXI","#DFDFDF","AreaXII","#FFF974","AreaXIII","#EF9A85","AreaXIV","#86A2D1","AreaXV","#EC8972","AreaXVI","#EAC2DA","AreaXVII","#B9C8E7","AreaXVIII","#BBA1C8","AreaXIX","#FAE0BD","AreaXX","#DBECC8","AreaXXI","#D496AF","#ffffff"]}},this.beforeLayer),this.map.addLayer({id:this.areaLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","icon-size":.7,"icon-image":"identify","text-anchor":"top","text-field":"{lbl}","text-rotation-alignment":"viewport","text-size":12,"text-offset":[0,1],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},paint:{"text-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.areaLayer)&&this.map.removeLayer(this.areaLayer),this.map.getLayer(this.areaLabelLayer)&&this.map.removeLayer(this.areaLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function Fa(o,t,a,r,i,l){return e.openBlock(),e.createElementBlock("div")}const Ha=B(ja,[["render",Fa]]),Wa={name:"IdmEcaZone",props:{map:{type:Object},zone:{type:Object},beforeLayer:{type:String}},setup(){return{Theme:ie.useTheme()}},data(){return{source:"eca-zone-source",zoneLayer:"eca-zone-layer",zoneLabelLayer:"eca-zone-label-layer"}},watch:{zone:{handler(){this.zone?this.handleRender():this.handleClear()},immediate:!0}},methods:{handleRender(){var o;this.map?(this.handleClear(),this.zone&&(this.map.getSource(this.source)?(o=this.map)==null||o.getSource(this.source).setData(this.zone):(this.map.addSource(this.source,{type:"geojson",data:this.zone}),this.map.addLayer({id:this.zoneLayer,type:"fill",source:this.source,filter:["all",["==","$type","Polygon"],["!=","disabled",!0]],paint:{"fill-opacity":.3,"fill-color":"#05f324"}},this.beforeLayer),this.map.addLayer({id:this.zoneLayer+"-border",type:"line",source:this.source,filter:["all",["==","$type","Polygon"],["!=","disabled",!0]],paint:{"line-color":"#05f324","line-width":1,"line-opacity":1}},this.beforeLayer),this.map.addLayer({id:this.zoneLabelLayer,type:"symbol",source:this.source,filter:["all",["==","$type","Point"],["!=","disabled",!0]],layout:{"symbol-placement":"point","icon-size":.7,"icon-image":"identify","text-max-width":16,"text-justify":"left","text-anchor":"top","text-field":"{lbl}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[0,1],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},paint:{"text-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer)))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.zoneLayer)&&this.map.removeLayer(this.zoneLayer),this.map.getLayer(this.zoneLayer+"-border")&&this.map.removeLayer(this.zoneLayer+"-border"),this.map.getLayer(this.zoneLabelLayer)&&this.map.removeLayer(this.zoneLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function Ua(o,t,a,r,i,l){return e.openBlock(),e.createElementBlock("div")}const Ga=B(Wa,[["render",Ua]]),Os="",Za={name:"IdmAlertZone",props:{map:{type:Object},zone:{type:Object},beforeLayer:{type:String}},setup(){return{Theme:ie.useTheme()}},data(){return{source:"alert-zone-source",polygonLayer:"alert-zone-polygon-layer",polygonLabelLayer:"alert-zone-polygon-label-layer",lineLayer:"alert-zone-line-layer",lineLabelLayer:"alert-zone-line-label-layer",pointLayer:"alert-zone-point-layer",showZone:!1,form:{}}},watch:{zone:{handler(){var o,t,a,r,i,l;this.zone?(this.handleRender(),(o=this.map)==null||o.on("click",[this.polygonLabelLayer,this.lineLabelLayer,this.pointLayer],this.handleClick),(t=this.map)==null||t.on("mousemove",[this.pointLayer],this.handleHover),(a=this.map)==null||a.on("mouseleave",[this.pointLayer],this.handleLeave)):(this.handleClear(),(r=this.map)==null||r.off("click",[this.polygonLabelLayer,this.lineLabelLayer,this.pointLayer],this.handleClick),(i=this.map)==null||i.off("mousemove",[this.polygonLabelLayer,this.lineLabelLayer,this.pointLayer],this.handleHover),(l=this.map)==null||l.off("mouseleave",[this.polygonLabelLayer,this.lineLabelLayer,this.pointLayer],this.handleLeave))},immediate:!0}},methods:{handleClick(o){var r;const t=o.features[0],a=(r=this.zone)==null?void 0:r.features.filter(i=>{var l;return i.properties.id===((l=t==null?void 0:t.properties)==null?void 0:l.id)})[0];if(a){this.showZone=!0,this.form={...a.properties};const i=document.getElementById("idm-gl4-zone-info");this.marker?this.marker.setLngLat([o.lngLat.lng,o.lngLat.lat]):this.marker=new me.Marker(i).setLngLat([o.lngLat.lng,o.lngLat.lat]).setOffset([0,0]).addTo(this.map)}},handleRender(){var o;this.map?(this.handleClear(),this.zone&&(this.map.getSource(this.source)?(o=this.map)==null||o.getSource(this.source).setData(this.zone):(this.map.addSource(this.source,{type:"geojson",data:this.zone}),this.map.addLayer({id:this.polygonLayer,type:"fill",source:this.source,filter:["all",["==","$type","Polygon"],["!=","disabled",!0]],paint:{"fill-outline-color":this.Theme.current.value.colors["map-red"],"fill-opacity":.4,"fill-color":this.Theme.current.value.colors["map-red"]}},this.beforeLayer),this.map.addLayer({id:this.polygonLayer+"-border",type:"line",source:this.source,filter:["all",["==","$type","Polygon"],["!=","disabled",!0]],paint:{"line-width":1,"line-color":this.Theme.current.value.colors["map-red"]}},this.beforeLayer),this.map.addLayer({id:this.lineLayer,type:"line",source:this.source,filter:["all",["==","$type","LineString"],["!=","disabled",!0]],paint:{"line-color":this.Theme.current.value.colors["map-red"],"line-width":2}},this.beforeLayer),this.map.addLayer({id:this.polygonLabelLayer,type:"symbol",source:this.source,filter:["all",["==","$type","Polygon"],["!=","disabled",!0]],layout:{"symbol-placement":"point","icon-image":"warning","icon-size":1,"icon-offset":[0,-15],"icon-allow-overlap":!0,"icon-rotation-alignment":"viewport"},paint:{"icon-opacity":.8}},this.beforeLayer),this.map.addLayer({id:this.lineLabelLayer,type:"symbol",source:this.source,filter:["all",["==","$type","LineString"],["!=","disabled",!0]],layout:{"symbol-placement":"line-center","icon-image":"warning","icon-size":1,"icon-offset":[0,-15],"icon-allow-overlap":!0,"icon-rotation-alignment":"viewport"},paint:{"icon-opacity":.8}},this.beforeLayer),this.map.addLayer({id:this.pointLayer,type:"symbol",source:this.source,filter:["all",["==","$type","Point"],["!=","disabled",!0]],layout:{"symbol-placement":"point","icon-image":"warning","icon-offset":[0,-15],"icon-size":1},paint:{"icon-opacity":.8}},this.beforeLayer)))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.polygonLayer)&&this.map.removeLayer(this.polygonLayer),this.map.getLayer(this.polygonLayer+"-border")&&this.map.removeLayer(this.polygonLayer+"-border"),this.map.getLayer(this.polygonLabelLayer)&&this.map.removeLayer(this.polygonLabelLayer),this.map.getLayer(this.lineLayer)&&this.map.removeLayer(this.lineLayer),this.map.getLayer(this.lineLabelLayer)&&this.map.removeLayer(this.lineLabelLayer),this.map.getLayer(this.pointLayer)&&this.map.removeLayer(this.pointLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)},handleHover(){this.map.getCanvas().style.cursor="pointer"},handleLeave(){this.map.getCanvas().style.cursor="grab"}}},qa=["innerHTML"];function Ya(o,t,a,r,i,l){const n=e.resolveComponent("VBtn"),s=e.resolveComponent("v-card-text"),c=e.resolveComponent("v-card");return e.withDirectives((e.openBlock(),e.createBlock(c,{class:"scroll",id:"idm-gl4-zone-info"},{default:e.withCtx(()=>[e.createVNode(s,null,{default:e.withCtx(()=>{var p;return[e.createVNode(n,{icon:"",density:"compact",variant:"plain",class:"close",onClick:t[0]||(t[0]=e.withModifiers(h=>i.showZone=!1,["stop"]))},{default:e.withCtx(()=>t[1]||(t[1]=[e.createElementVNode("i",{class:"iconfont icon-close opacity-70 text-h4"},null,-1)])),_:1,__:[1]}),e.createElementVNode("div",{class:"rich-context",innerHTML:(p=i.form)==null?void 0:p.name},null,8,qa)]}),_:1})]),_:1},512)),[[e.vShow,i.showZone]])}const Xa=B(Za,[["render",Ya]]),js="",Ka={name:"IdmPort",props:{map:{type:Object},ports:{type:Object},beforeLayer:{type:String},forecastModel:{type:String}},emits:["portDetail"],setup(){return{Theme:ie.useTheme()}},data(){return{source:"port-source",layer:"port-layer",showInfo:!1,port:{},marker:void 0}},computed:{computeLat(){return function(o){return M.LngLatHelper.lat2pretty(o,4).pretty}},computeLng(){return function(o){return M.LngLatHelper.lng2pretty(o,4).pretty}}},watch:{ports:{handler(){var o,t,a,r,i,l;this.ports?(this.handleRender(),(o=this.map)==null||o.on("click",[this.layer],this.handleClick),(t=this.map)==null||t.on("mousemove",[this.layer],this.handleHover),(a=this.map)==null||a.on("mouseleave",[this.layer],this.handleLeave)):(this.handleClear(),(r=this.map)==null||r.off("click",[this.layer],this.handleClick),(i=this.map)==null||i.off("mousemove",[this.layer],this.handleHover),(l=this.map)==null||l.off("mouseleave",[this.layer],this.handleLeave))},immediate:!0}},methods:{handleRender(){var o;this.map?this.ports&&(this.map.getSource(this.source)?(o=this.map)==null||o.getSource(this.source).setData(this.ports):(this.map.addSource(this.source,{type:"geojson",data:this.ports}),this.map.addLayer({id:this.layer,type:"symbol",source:this.source,filter:["all",["==","$type","Point"],["!=","disabled",!0]],layout:{"symbol-placement":"point","icon-size":1,"icon-image":"port","icon-offset":[0,-15],"text-anchor":"bottom","text-field":"{name}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[0,1.6]},paint:{"text-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.showInfo=!1,this.map.getLayer(this.layer)&&this.map.removeLayer(this.layer),this.map.getSource(this.source)&&this.map.removeSource(this.source)},handleClick(o){const t=o.features[0];if(t.properties.id){const a=t.properties;a.lng=t.geometry.coordinates[0],a.lat=t.geometry.coordinates[1],a.forecastModel=this.forecastModel,this.$emit("portDetail",a)}},handleHover(o){this.map.getCanvas().style.cursor="pointer";const t=o.features[0];if(t.properties.id){this.showInfo=!0,this.port=t.properties;const r=document.getElementById("idmPortInfo");this.marker?this.marker.setLngLat([o.lngLat.lng,o.lngLat.lat]):this.marker=new me.Marker(r).setLngLat([o.lngLat.lng,o.lngLat.lat]).setOffset([0,-70]).addTo(this.map)}},handleLeave(){this.showInfo=!1,this.map.getCanvas().style.cursor="grab"}}},Qa={class:"port-box d-flex flex-column justify-center align-start ga-1"},Ja={class:"d-flex justify-start align-center text-label"},$a={class:"d-flex justify-start align-center text-label"};function ei(o,t,a,r,i,l){const n=e.resolveComponent("v-card-text"),s=e.resolveComponent("v-card");return e.withDirectives((e.openBlock(),e.createBlock(s,{id:"idmPortInfo",ref:"idmPortInfo"},{default:e.withCtx(()=>[e.createVNode(n,{class:"text-body-1 pr-8"},{default:e.withCtx(()=>[e.createElementVNode("div",Qa,[t[1]||(t[1]=e.createElementVNode("div",null,"port",-1)),e.createElementVNode("div",Ja,[e.createElementVNode("span",null,e.toDisplayString(i.port.name??"-"),1)]),e.createElementVNode("div",$a,[t[0]||(t[0]=e.createElementVNode("label",{class:"pr-1"},"LoCode : ",-1)),e.createElementVNode("span",null,e.toDisplayString(i.port.loCode??"-"),1)])])]),_:1})]),_:1},512)),[[e.vShow,i.showInfo]])}const ti=B(Ka,[["render",ei],["__scopeId","data-v-61def159"]]),oi={name:"IdmLoadLine",props:{map:{type:Object},show:{type:Boolean},beforeLayer:{type:String}},setup(){return{Theme:ie.useTheme()}},data(){return{layer:"loadlines-fill",labelLayer:"loadlines-label"}},watch:{show:{handler(){this.show?this.handleRender():this.handleClear()},immediate:!0}},methods:{handleRender(){var o,t;(o=this.map)!=null&&o.getLayer(this.layer)&&this.map.setLayoutProperty(this.layer,"visibility","visible"),(t=this.map)!=null&&t.getLayer(this.labelLayer)&&this.map.setLayoutProperty(this.labelLayer,"visibility","visible")},handleClear(){var o,t;(o=this.map)!=null&&o.getLayer(this.layer)&&this.map.setLayoutProperty(this.layer,"visibility","none"),(t=this.map)!=null&&t.getLayer(this.labelLayer)&&this.map.setLayoutProperty(this.labelLayer,"visibility","none")}}};function ai(o,t,a,r,i,l){return e.openBlock(),e.createElementBlock("div")}const ii=B(oi,[["render",ai]]),ri={name:"IdmTimezone",props:{map:{type:Object},zone:{type:Object},beforeLayer:{type:String}},setup(){return{Theme:ie.useTheme()}},data(){return{source:"time-zone-source",zoneLayer:"time-zone-layer",zoneLabelLayer:"time-zone-label-layer"}},watch:{zone:{handler(){this.handleRender()},immediate:!0}},methods:{handleRender(){this.map?(this.handleClear(),this.zone&&(this.map.addSource(this.source,{type:"geojson",data:this.zone}),this.map.addLayer({id:this.zoneLayer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-outline-color":"rgba(255, 255, 255, 0.5)","fill-opacity":.25,"fill-color":["match",["get","offSet"],"-11.5","rgba(255, 92, 88, 1)","-11","rgba(39, 195, 70, 1)","-10.5","rgba(39, 195, 70, 1)","-10","rgba(40, 106, 255, 1)","-9.5","rgba(40, 106, 255, 1)","-9","rgba(255, 92, 88, 1)","-8.5","rgba(255, 92, 88, 1)","-8","rgba(39, 195, 70, 1)","-7.5","rgba(39, 195, 70, 1)","-7","rgba(40, 106, 255, 1)","-6.5","rgba(40, 106, 255, 1)","-6","rgba(255, 92, 88, 1)","-5.5","rgba(255, 92, 88, 1)","-5","rgba(39, 195, 70, 1)","-4.5","rgba(39, 195, 70, 1)","-4","rgba(40, 106, 255, 1)","-3.5","rgba(40, 106, 255, 1)","-3","rgba(255, 92, 88, 1)","-2.5","rgba(255, 92, 88, 1)","-2","rgba(39, 195, 70, 1)","-1.5","rgba(39, 195, 70, 1)","-1","rgba(40, 106, 255, 1)","-0.5","rgba(40, 106, 255, 1)","+0","rgba(255, 92, 88, 1)","+0.5","rgba(255, 92, 88, 1)","+1","rgba(39, 195, 70, 1)","+1.5","rgba(39, 195, 70, 1)","+2","rgba(40, 106, 255, 1)","+2.5","rgba(40, 106, 255, 1)","+3","rgba(255, 92, 88, 1)","+3.5","rgba(255, 92, 88, 1)","+4","rgba(39, 195, 70, 1)","+4.5","rgba(39, 195, 70, 1)","+5","rgba(40, 106, 255, 1)","+5.5","rgba(40, 106, 255, 1)","+6","rgba(255, 92, 88, 1)","+6.5","rgba(255, 92, 88, 1)","+7","rgba(39, 195, 70, 1)","+7.5","rgba(39, 195, 70, 1)","+8","rgba(40, 106, 255, 1)","+8.5","rgba(40, 106, 255, 1)","+9","rgba(255, 92, 88, 1)","+9.5","rgba(255, 92, 88, 1)","+10","rgba(39, 195, 70, 1)","+10.5","rgba(39, 195, 70, 1)","+11","rgba(40, 106, 255, 1)","+11.5","rgba(40, 106, 255, 1)","rgba(255, 92, 88, 1)"]}},this.beforeLayer),this.map.addLayer({id:this.zoneLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","text-field":"{offSet}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[0,1],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},paint:{"text-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.zoneLayer)&&this.map.removeLayer(this.zoneLayer),this.map.getLayer(this.zoneLabelLayer)&&this.map.removeLayer(this.zoneLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function li(o,t,a,r,i,l){return e.openBlock(),e.createElementBlock("div")}const ni=B(ri,[["render",li]]),si={name:"IdmVoluntaryReportingArea",props:{map:{type:Object},area:{type:Object},beforeLayer:{type:String}},setup(){return{Theme:ie.useTheme()}},data(){return{source:"vra-source",areaLayer:"vra-layer",areaLabelLayer:"vra-label-layer"}},watch:{area:{handler(){this.area?this.handleRender():this.handleClear()},immediate:!0}},methods:{handleRender(){this.map?(this.handleClear(),this.area&&(this.map.addSource(this.source,{type:"geojson",data:this.area}),this.map.addLayer({id:this.areaLayer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-opacity":.3,"fill-color":"rgba(144, 96, 217, 1)"}},this.beforeLayer),this.map.addLayer({id:this.areaLayer+"-border",type:"line",source:this.source,filter:["==","$type","Polygon"],paint:{"line-width":1,"line-opacity":1,"line-color":"rgba(164, 125, 222, 1)"}},this.beforeLayer),this.map.addLayer({id:this.areaLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","icon-size":.1,"icon-image":"identify","text-anchor":"top","text-field":"{lbl}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[0,1],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},paint:{"text-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.areaLayer)&&this.map.removeLayer(this.areaLayer),this.map.getLayer(this.areaLayer+"-border")&&this.map.removeLayer(this.areaLayer+"-border"),this.map.getLayer(this.areaLabelLayer)&&this.map.removeLayer(this.areaLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function ci(o,t,a,r,i,l){return e.openBlock(),e.createElementBlock("div")}const mi=B(si,[["render",ci]]),di={name:"IdmSpecialArea",props:{map:{type:Object},area:{type:Object},beforeLayer:{type:String}},setup(){return{Theme:ie.useTheme()}},data(){return{source:"special-area-source",areaLayer:"special-area-layer",areaLabelLayer:"special-area-label-layer"}},watch:{area:{handler(){this.handleRender()},immediate:!0}},methods:{handleRender(){this.map?(this.handleClear(),this.area&&(this.area.features.forEach(o=>{o.geometry.type==="Polygon"&&o.geometry.coordinates.forEach(t=>M.LngLatHelper.convertToMonotonicLng2(t))}),this.map.addSource(this.source,{type:"geojson",data:this.area}),this.map.addLayer({id:this.areaLayer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-opacity":.25,"fill-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer),this.map.addLayer({id:this.areaLayer+"-border",type:"line",source:this.source,filter:["==","$type","Polygon"],paint:{"line-width":1,"line-opacity":.7,"line-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer),this.map.addLayer({id:this.areaLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","icon-size":.7,"icon-image":"identify","text-anchor":"top","text-field":"{lbl}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[0,1],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},paint:{"text-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.areaLayer)&&this.map.removeLayer(this.areaLayer),this.map.getLayer(this.areaLayer+"-border")&&this.map.removeLayer(this.areaLayer+"-border"),this.map.getLayer(this.areaLabelLayer)&&this.map.removeLayer(this.areaLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function hi(o,t,a,r,i,l){return e.openBlock(),e.createElementBlock("div")}const pi=B(di,[["render",hi]]),gi={name:"IdmTerminator",props:{map:{type:Object},area:{type:Object},beforeLayer:{type:String}},data(){return{source:"terminator-source",layer:"terminator-layer"}},computed:{},watch:{area:{handler(){this.handleRender()},immediate:!0}},methods:{handleRender(){this.map?(this.handleClear(),this.area&&(this.map.addSource(this.source,{type:"geojson",data:this.area}),this.map.addLayer({id:this.layer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-outline-color":"rgba(255,255,255,0.3)","fill-color":"rgba(0, 0, 0, 0.3)"}},this.beforeLayer))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.layer)&&this.map.removeLayer(this.layer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function ui(o,t,a,r,i,l){return e.openBlock(),e.createElementBlock("div")}const fi=B(gi,[["render",ui]]),yi={name:"IdmWorld12nm",props:{map:{type:Object},show:{type:Boolean},weatherLayers:{type:Object,default:()=>({})},zoom:{type:Number,default:3},left:{type:String,default:"10px"},bottom:{type:String,default:"64px"},token:{type:String,default:""}},data(){return{layer:"world-12nm-v4-20231025"}},watch:{show:{handler(){this.show?this.handleRender():this.handleClear()},immediate:!0}},methods:{handleRender(){var o;this.map?(o=this.map)!=null&&o.getLayer(this.layer)&&(this.map.setLayoutProperty(this.layer,"visibility","visible"),this.map.setPaintProperty(this.layer,"line-color","rgb(210,54,83)"),this.map.setPaintProperty(this.layer,"line-width",2)):setTimeout(()=>{this.handleRender()},500)},handleClear(){var o;(o=this.map)!=null&&o.getLayer(this.layer)&&this.map.setLayoutProperty(this.layer,"visibility","none")}}};function bi(o,t,a,r,i,l){return null}const wi=B(yi,[["render",bi]]),Fs="",xi={name:"IdmWorldMarine",props:{map:{type:Object},show:{type:Boolean}},data(){return{labelLayer:"ne-10m-label",lineLayer:"ne-10m-outline"}},watch:{show:{handler(){this.show?this.handleRender():this.handleClear()},immediate:!0}},methods:{handleRender(){var o,t;this.map?((o=this.map)!=null&&o.getLayer(this.lineLayer)&&(this.map.setLayoutProperty(this.lineLayer,"visibility","visible"),this.map.setPaintProperty(this.lineLayer,"line-width",1)),(t=this.map)!=null&&t.getLayer(this.labelLayer)&&this.map.setLayoutProperty(this.labelLayer,"visibility","visible")):setTimeout(()=>{this.handleRender()},500)},handleClear(){var o,t;(o=this.map)!=null&&o.getLayer(this.lineLayer)&&this.map.setLayoutProperty(this.lineLayer,"visibility","none"),(t=this.map)!=null&&t.getLayer(this.labelLayer)&&this.map.setLayoutProperty(this.labelLayer,"visibility","none")}}};function ki(o,t,a,r,i,l){return null}const _i=B(xi,[["render",ki]]),vi={name:"IdmChinaRoute",props:{map:{type:Object},show:{type:Boolean}},data(){return{labelLayer:"china-route-label",lineLayer:"china-route-line",fillLayer:"china-route-fill"}},watch:{show:{handler(){this.show?this.handleRender():this.handleClear()},immediate:!0}},methods:{handleRender(){var o,t,a;this.map?((o=this.map)!=null&&o.getLayer(this.lineLayer)&&this.map.setLayoutProperty(this.lineLayer,"visibility","visible"),(t=this.map)!=null&&t.getLayer(this.fillLayer)&&this.map.setLayoutProperty(this.fillLayer,"visibility","visible"),(a=this.map)!=null&&a.getLayer(this.labelLayer)&&this.map.setLayoutProperty(this.labelLayer,"visibility","visible")):setTimeout(()=>{this.handleRender()},500)},handleClear(){var o,t,a;(o=this.map)!=null&&o.getLayer(this.lineLayer)&&this.map.setLayoutProperty(this.lineLayer,"visibility","none"),(t=this.map)!=null&&t.getLayer(this.fillLayer)&&this.map.setLayoutProperty(this.fillLayer,"visibility","none"),(a=this.map)!=null&&a.getLayer(this.labelLayer)&&this.map.setLayoutProperty(this.labelLayer,"visibility","none")}}};function zi(o,t,a,r,i,l){return null}const Li=B(vi,[["render",zi]]),Hs="",Ws="",Ci={name:"IdmTideStations",props:{map:{type:Object},gateway:{type:String},token:{type:String},show:{type:Boolean},theme:{type:String},locale:{type:String},realTime:{type:String},timeZone:{type:Number},forecastModel:{type:String}},setup(){return{Theme:ie.useTheme()}},data(){return{layer:"tide-stations",showInfo:!1,hoverStation:void 0,marker:null,showDetail:!1,station:void 0,tideData:{},tideTableData:[],currentIndex:0,xDate:[],echartData:{}}},computed:{dateList(){var a,r,i,l;const o=[],t=(a=this.station)!=null&&a.lng&&((r=this.station)!=null&&r.lat)?M.LngLatHelper.guessTimeZoneOffset((i=this.station)==null?void 0:i.lng,(l=this.station)==null?void 0:l.lat):0;for(let n=0;n<4;n++){let s={index:n,dateTimeList:[],label:L().utcOffset(t).add(n,"days").format("MM-DD ddd"),startTime:L().utcOffset(t).add(n,"days").set({hour:0,minute:0,second:0,millisecond:0}).format(),dateTime:L().utcOffset(t).add(n,"days").format()};for(let c=0;c<4;c++)s.dateTimeList.push(L(s.startTime).utcOffset(t).add(c*3,"hours").utc().format());o.push(s)}return o},computeLocalTime(){return function(o,t,a="yyyy-MM-DD HHmm"){if(o){const r=t!=null&&t.lng&&(t!=null&&t.lat)?M.LngLatHelper.guessTimeZoneOffset(t==null?void 0:t.lng,t==null?void 0:t.lat):0;return L(o).utcOffset(r).format(a)+" ( UTC "+(r>=0?"+":"")+r+" )"}return"-"}},computeHourLT(){return function(o,t,a="HH:mm"){if(o){const r=t!=null&&t.lng&&(t!=null&&t.lat)?M.LngLatHelper.guessTimeZoneOffset(t==null?void 0:t.lng,t==null?void 0:t.lat):0;return L(o).utcOffset(r).format(a)}return"-"}},computeTzTime(){return(o,t="yyyy-MM-DD HH:mm")=>{var a,r;if(o){const i=this.timeZone||0;return((r=(a=L(o))==null?void 0:a.utcOffset(i))==null?void 0:r.format(t))+" ( UTC "+(i>=0?"+":"")+i+" )"}return"-"}},computeLat(){return function(o){return`${M.LngLatHelper.lat2pretty(o,2).pretty}`}},computeLng(){return function(o){return`${M.LngLatHelper.lng2pretty(o,2).pretty}`}},computeRoundPrecision(){return function(o,t=4){return M.LngLatHelper.roundPrecision(o,t)||0}}},watch:{show:{handler(){var o,t,a,r,i,l;this.show?(this.handleRender(),(o=this.map)==null||o.on("click",[this.layer],this.handleClick),(t=this.map)==null||t.on("mousemove",[this.layer],this.handleHover),(a=this.map)==null||a.on("mouseleave",[this.layer],this.handleLeave)):(this.handleClear(),(r=this.map)==null||r.off("click",[this.layer],this.handleClick),(i=this.map)==null||i.off("mousemove",[this.layer],this.handleHover),(l=this.map)==null||l.off("mouseleave",[this.layer],this.handleLeave))},immediate:!0},locale:{handler(){this.show&&this.handleRender()},immediate:!0},theme:{handler(){this.$nextTick(()=>{this.initEchart()})}},currentIndex:{handler(){this.initTideTableData(this.tideData)}}},methods:{handleRender(){var o;this.map?(o=this.map)!=null&&o.getLayer(this.layer)&&(this.map.setLayoutProperty(this.layer,"visibility","visible"),this.map.setLayoutProperty(this.layer,"text-field",this.locale==="en"?"{Location_EN}":"{Location_CN}")):setTimeout(()=>{this.handleRender()},500)},handleClear(){var o;this.showInfo=!1,(o=this.map)!=null&&o.getLayer(this.layer)&&this.map.setLayoutProperty(this.layer,"visibility","none")},handleClick(o){const t=o.features[0];t.properties&&(this.station=t.properties,this.station.name=this.locale==="en"?t.properties.Location_EN:t.properties.Location_CN,this.station.lng=t.geometry.coordinates[0],this.station.lat=t.geometry.coordinates[1],this.showDetail=!0,this.fetchTidesData())},handleHover(o){this.map.getCanvas().style.cursor="pointer";const t=o.features[0];if(t.properties){this.showInfo=!0,this.hoverStation=t.properties,this.hoverStation.name=this.locale==="en"?t.properties.Location_EN:t.properties.Location_CN,this.hoverStation.lng=t.geometry.coordinates[0],this.hoverStation.lat=t.geometry.coordinates[1];const a=document.getElementById("idmTidalInfo");this.marker?this.marker.setLngLat([o.lngLat.lng,o.lngLat.lat]):this.marker=new me.Marker(a).setLngLat([o.lngLat.lng,o.lngLat.lat]).setOffset([0,-60]).addTo(this.map)}},handleLeave(){this.showInfo=!1,this.map.getCanvas().style.cursor="grab"},async fetchTidesData(){var a,r,i,l;this.tideLoading=!0,this.tideData={};let o={lat:this.station.lat,lng:this.station.lng,date:(r=(a=this.dateList)==null?void 0:a[this.currentIndex])==null?void 0:r.dateTime,pastDays:1,forecastDays:5,extremes:!0,heights:!0},t=await K.post(`${this.gateway}/api/arc/meteo2/spot/tides/forecast`,o,{headers:{Authorization:this.token}});((i=t==null?void 0:t.data)==null?void 0:i.code)===0&&(this.tideData=((l=t==null?void 0:t.data)==null?void 0:l.data)||{},this.tideLoading=!1,this.initTideTableData(this.tideData))},initTideTableData(o){var t,a;this.tideTableData=jt.TidesAssist.pickDailyExtremes(o,(a=(t=this.dateList)==null?void 0:t[this.currentIndex])==null?void 0:a.dateTime),this.initEchartData()},initEchartData(){var o;this.xDate=[],this.echartData={height:[]},(o=this.tideTableData)==null||o.forEach(t=>{this.xDate.push(this.computeHourLT(t.date,this.station)),this.echartData.height.push([this.computeHourLT(t.date,this.station),t.height??void 0,"m"])}),this.initEchart()},initEchart(){Zt.dispose(this.$refs.tideEchart);const o=Zt.init(this.$refs.tideEchart),t={animation:!1,tooltip:{trigger:"axis",formatter:function(a){var i;let r=`<div style="font-size: 13px;">${(i=a[0])==null?void 0:i.value[0]}</div>`;return a.forEach(l=>{l.seriesName.indexOf("Min")<=-1&&l.seriesName.indexOf("Max")<=-1&&(r+=`<div style="font-size: 13px;">
|
|
1
|
+
(function(W,K){typeof exports=="object"&&typeof module<"u"?K(exports,require("axios"),require("vuetify"),require("vue"),require("mapbox-gl"),require("@idm-plugin/geo"),require("moment"),require("@idm-plugin/meteo"),require("echarts"),require("@turf/turf"),require("@idm-plugin/tag-nop"),require("@mapbox/sphericalmercator"),require("@idm-plugin/tag")):typeof define=="function"&&define.amd?define(["exports","axios","vuetify","vue","mapbox-gl","@idm-plugin/geo","moment","@idm-plugin/meteo","echarts","@turf/turf","@idm-plugin/tag-nop","@mapbox/sphericalmercator","@idm-plugin/tag"],K):(W=typeof globalThis<"u"?globalThis:W||self,K(W["idm-gl"]={},W.axios,W.vuetify,W.Vue,W["mapbox-gl"],W["@idm-plugin/geo"],W.moment,W["@idm-plugin/meteo"],W.echarts,W["@turf/turf"],W["@idm-plugin/tag-nop"],W["@mapbox/sphericalmercator"],W["@idm-plugin/tag"]))})(this,function(W,K,ie,e,me,M,L,jt,Ea,Da,Me,Aa,Ba){"use strict";var Rs=Object.defineProperty;var Vs=(W,K,ie)=>K in W?Rs(W,K,{enumerable:!0,configurable:!0,writable:!0,value:ie}):W[K]=ie;var $=(W,K,ie)=>(Vs(W,typeof K!="symbol"?K+"":K,ie),ie);function Gt(o){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const a in o)if(a!=="default"){const r=Object.getOwnPropertyDescriptor(o,a);Object.defineProperty(t,a,r.get?r:{enumerable:!0,get:()=>o[a]})}}return t.default=o,Object.freeze(t)}const Zt=Gt(Ea),N=Gt(Da),B=(o,t)=>{const a=o.__vccOpts||o;for(const[r,i]of t)a[r]=i;return a},Ra={name:"IdmWarZone",props:{map:{type:Object},zone:{type:Object},beforeLayer:{type:String}},setup(){return{Theme:ie.useTheme()}},data(){return{source:"war-zone-source",zoneLayer:"war-zone-layer",zoneLabelLayer:"war-zone-label-layer"}},watch:{zone:{handler(){this.handleRender()},immediate:!0}},methods:{handleRender(){this.map?(this.handleClear(),this.zone&&(this.map.addSource(this.source,{type:"geojson",data:this.zone}),this.map.addLayer({id:this.zoneLayer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-color":this.Theme.current.value.colors["map-red"],"fill-opacity":.4}},this.beforeLayer),this.map.addLayer({id:this.zoneLayer+"-border",type:"line",source:this.source,filter:["==","$type","Polygon"],paint:{"line-width":1,"line-opacity":.7,"line-color":this.Theme.current.value.colors["map-red"]}},this.beforeLayer),this.map.addLayer({id:this.zoneLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","icon-size":.7,"icon-image":"identify","text-anchor":"top","text-field":"{lbl}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[0,1],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},paint:{"text-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.zoneLayer)&&this.map.removeLayer(this.zoneLayer),this.map.getLayer(this.zoneLayer+"-border")&&this.map.removeLayer(this.zoneLayer+"-border"),this.map.getLayer(this.zoneLabelLayer)&&this.map.removeLayer(this.zoneLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function Va(o,t,a,r,i,l){return e.openBlock(),e.createElementBlock("div")}const Oa=B(Ra,[["render",Va]]),ja={name:"IdmGmdssArea",props:{map:{type:Object},area:{type:Object},beforeLayer:{type:String}},setup(){return{Theme:ie.useTheme()}},data(){return{source:"gmdss-area-source",areaLayer:"gmdss-area-layer",areaLabelLayer:"gmdss-area-label-layer"}},watch:{area:{handler(){this.handleRender()},immediate:!0}},methods:{handleRender(){this.map?(this.handleClear(),this.area&&(this.map.addSource(this.source,{type:"geojson",data:this.area}),console.log(this.beforeLayer),this.map.addLayer({id:this.areaLayer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-outline-color":"rgba(255,255,255,0.3)","fill-opacity":.4,"fill-color":["match",["get","val"],"AreaI","#EB8996","AreaII","#6F448B","AreaIII","#3E8BD3","AreaIV","#5EBCC4","AreaV","#00AAE7","AreaVI","#9CCE6D","AreaVII","#F4AE00","AreaVIII","#EF9A85","AreaIX","#00AAA7","AreaX","#7AC49F","AreaXI","#DFDFDF","AreaXII","#FFF974","AreaXIII","#EF9A85","AreaXIV","#86A2D1","AreaXV","#EC8972","AreaXVI","#EAC2DA","AreaXVII","#B9C8E7","AreaXVIII","#BBA1C8","AreaXIX","#FAE0BD","AreaXX","#DBECC8","AreaXXI","#D496AF","#ffffff"]}},this.beforeLayer),this.map.addLayer({id:this.areaLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","icon-size":.7,"icon-image":"identify","text-anchor":"top","text-field":"{lbl}","text-rotation-alignment":"viewport","text-size":12,"text-offset":[0,1],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},paint:{"text-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.areaLayer)&&this.map.removeLayer(this.areaLayer),this.map.getLayer(this.areaLabelLayer)&&this.map.removeLayer(this.areaLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function Fa(o,t,a,r,i,l){return e.openBlock(),e.createElementBlock("div")}const Ha=B(ja,[["render",Fa]]),Wa={name:"IdmEcaZone",props:{map:{type:Object},zone:{type:Object},beforeLayer:{type:String}},setup(){return{Theme:ie.useTheme()}},data(){return{source:"eca-zone-source",zoneLayer:"eca-zone-layer",zoneLabelLayer:"eca-zone-label-layer"}},watch:{zone:{handler(){this.zone?this.handleRender():this.handleClear()},immediate:!0}},methods:{handleRender(){var o;this.map?(this.handleClear(),this.zone&&(this.map.getSource(this.source)?(o=this.map)==null||o.getSource(this.source).setData(this.zone):(this.map.addSource(this.source,{type:"geojson",data:this.zone}),this.map.addLayer({id:this.zoneLayer,type:"fill",source:this.source,filter:["all",["==","$type","Polygon"],["!=","disabled",!0]],paint:{"fill-opacity":.3,"fill-color":"#05f324"}},this.beforeLayer),this.map.addLayer({id:this.zoneLayer+"-border",type:"line",source:this.source,filter:["all",["==","$type","Polygon"],["!=","disabled",!0]],paint:{"line-color":"#05f324","line-width":1,"line-opacity":1}},this.beforeLayer),this.map.addLayer({id:this.zoneLabelLayer,type:"symbol",source:this.source,filter:["all",["==","$type","Point"],["!=","disabled",!0]],layout:{"symbol-placement":"point","icon-size":.7,"icon-image":"identify","text-max-width":16,"text-justify":"left","text-anchor":"top","text-field":"{lbl}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[0,1],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},paint:{"text-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer)))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.zoneLayer)&&this.map.removeLayer(this.zoneLayer),this.map.getLayer(this.zoneLayer+"-border")&&this.map.removeLayer(this.zoneLayer+"-border"),this.map.getLayer(this.zoneLabelLayer)&&this.map.removeLayer(this.zoneLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function Ua(o,t,a,r,i,l){return e.openBlock(),e.createElementBlock("div")}const Ga=B(Wa,[["render",Ua]]),Os="",Za={name:"IdmAlertZone",props:{map:{type:Object},zone:{type:Object},beforeLayer:{type:String}},setup(){return{Theme:ie.useTheme()}},data(){return{source:"alert-zone-source",polygonLayer:"alert-zone-polygon-layer",polygonLabelLayer:"alert-zone-polygon-label-layer",lineLayer:"alert-zone-line-layer",lineLabelLayer:"alert-zone-line-label-layer",pointLayer:"alert-zone-point-layer",showZone:!1,form:{}}},watch:{zone:{handler(){var o,t,a,r,i,l;this.zone?(this.handleRender(),(o=this.map)==null||o.on("click",[this.polygonLabelLayer,this.lineLabelLayer,this.pointLayer],this.handleClick),(t=this.map)==null||t.on("mousemove",[this.pointLayer],this.handleHover),(a=this.map)==null||a.on("mouseleave",[this.pointLayer],this.handleLeave)):(this.handleClear(),(r=this.map)==null||r.off("click",[this.polygonLabelLayer,this.lineLabelLayer,this.pointLayer],this.handleClick),(i=this.map)==null||i.off("mousemove",[this.polygonLabelLayer,this.lineLabelLayer,this.pointLayer],this.handleHover),(l=this.map)==null||l.off("mouseleave",[this.polygonLabelLayer,this.lineLabelLayer,this.pointLayer],this.handleLeave))},immediate:!0}},methods:{handleClick(o){var r;const t=o.features[0],a=(r=this.zone)==null?void 0:r.features.filter(i=>{var l;return i.properties.id===((l=t==null?void 0:t.properties)==null?void 0:l.id)})[0];if(a){this.showZone=!0,this.form={...a.properties};const i=document.getElementById("idm-gl4-zone-info");this.marker?this.marker.setLngLat([o.lngLat.lng,o.lngLat.lat]):this.marker=new me.Marker(i).setLngLat([o.lngLat.lng,o.lngLat.lat]).setOffset([0,0]).addTo(this.map)}},handleRender(){var o;this.map?(this.handleClear(),this.zone&&(this.map.getSource(this.source)?(o=this.map)==null||o.getSource(this.source).setData(this.zone):(this.map.addSource(this.source,{type:"geojson",data:this.zone}),this.map.addLayer({id:this.polygonLayer,type:"fill",source:this.source,filter:["all",["==","$type","Polygon"],["!=","disabled",!0]],paint:{"fill-outline-color":this.Theme.current.value.colors["map-red"],"fill-opacity":.4,"fill-color":this.Theme.current.value.colors["map-red"]}},this.beforeLayer),this.map.addLayer({id:this.polygonLayer+"-border",type:"line",source:this.source,filter:["all",["==","$type","Polygon"],["!=","disabled",!0]],paint:{"line-width":1,"line-color":this.Theme.current.value.colors["map-red"]}},this.beforeLayer),this.map.addLayer({id:this.lineLayer,type:"line",source:this.source,filter:["all",["==","$type","LineString"],["!=","disabled",!0]],paint:{"line-color":this.Theme.current.value.colors["map-red"],"line-width":2}},this.beforeLayer),this.map.addLayer({id:this.polygonLabelLayer,type:"symbol",source:this.source,filter:["all",["==","$type","Polygon"],["!=","disabled",!0]],layout:{"symbol-placement":"point","icon-image":"warning","icon-size":1,"icon-offset":[0,-15],"icon-allow-overlap":!0,"icon-rotation-alignment":"viewport"},paint:{"icon-opacity":.8}},this.beforeLayer),this.map.addLayer({id:this.lineLabelLayer,type:"symbol",source:this.source,filter:["all",["==","$type","LineString"],["!=","disabled",!0]],layout:{"symbol-placement":"line-center","icon-image":"warning","icon-size":1,"icon-offset":[0,-15],"icon-allow-overlap":!0,"icon-rotation-alignment":"viewport"},paint:{"icon-opacity":.8}},this.beforeLayer),this.map.addLayer({id:this.pointLayer,type:"symbol",source:this.source,filter:["all",["==","$type","Point"],["!=","disabled",!0]],layout:{"symbol-placement":"point","icon-image":"warning","icon-offset":[0,-15],"icon-size":1},paint:{"icon-opacity":.8}},this.beforeLayer)))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.polygonLayer)&&this.map.removeLayer(this.polygonLayer),this.map.getLayer(this.polygonLayer+"-border")&&this.map.removeLayer(this.polygonLayer+"-border"),this.map.getLayer(this.polygonLabelLayer)&&this.map.removeLayer(this.polygonLabelLayer),this.map.getLayer(this.lineLayer)&&this.map.removeLayer(this.lineLayer),this.map.getLayer(this.lineLabelLayer)&&this.map.removeLayer(this.lineLabelLayer),this.map.getLayer(this.pointLayer)&&this.map.removeLayer(this.pointLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)},handleHover(){this.map.getCanvas().style.cursor="pointer"},handleLeave(){this.map.getCanvas().style.cursor="grab"}}},qa=["innerHTML"];function Ya(o,t,a,r,i,l){const n=e.resolveComponent("VBtn"),s=e.resolveComponent("v-card-text"),c=e.resolveComponent("v-card");return e.withDirectives((e.openBlock(),e.createBlock(c,{class:"scroll",id:"idm-gl4-zone-info"},{default:e.withCtx(()=>[e.createVNode(s,null,{default:e.withCtx(()=>{var p;return[e.createVNode(n,{icon:"",density:"compact",variant:"plain",class:"close",onClick:t[0]||(t[0]=e.withModifiers(h=>i.showZone=!1,["stop"]))},{default:e.withCtx(()=>t[1]||(t[1]=[e.createElementVNode("i",{class:"iconfont icon-close opacity-70 text-h4"},null,-1)])),_:1,__:[1]}),e.createElementVNode("div",{class:"rich-context",innerHTML:(p=i.form)==null?void 0:p.name},null,8,qa)]}),_:1})]),_:1},512)),[[e.vShow,i.showZone]])}const Xa=B(Za,[["render",Ya]]),js="",Ka={name:"IdmPort",props:{map:{type:Object},ports:{type:Object},beforeLayer:{type:String},forecastModel:{type:String}},emits:["portDetail"],setup(){return{Theme:ie.useTheme()}},data(){return{source:"port-source",layer:"port-layer",showInfo:!1,port:{},marker:void 0}},computed:{computeLat(){return function(o){return M.LngLatHelper.lat2pretty(o,4).pretty}},computeLng(){return function(o){return M.LngLatHelper.lng2pretty(o,4).pretty}}},watch:{ports:{handler(){var o,t,a,r,i,l;this.ports?(this.handleRender(),(o=this.map)==null||o.on("click",[this.layer],this.handleClick),(t=this.map)==null||t.on("mousemove",[this.layer],this.handleHover),(a=this.map)==null||a.on("mouseleave",[this.layer],this.handleLeave)):(this.handleClear(),(r=this.map)==null||r.off("click",[this.layer],this.handleClick),(i=this.map)==null||i.off("mousemove",[this.layer],this.handleHover),(l=this.map)==null||l.off("mouseleave",[this.layer],this.handleLeave))},immediate:!0}},methods:{handleRender(){var o;this.map?this.ports&&(this.map.getSource(this.source)?(o=this.map)==null||o.getSource(this.source).setData(this.ports):(this.map.addSource(this.source,{type:"geojson",data:this.ports}),this.map.addLayer({id:this.layer,type:"symbol",source:this.source,filter:["all",["==","$type","Point"],["!=","disabled",!0]],layout:{"symbol-placement":"point","icon-size":1,"icon-image":"port","icon-offset":[0,-15],"text-anchor":"bottom","text-field":"{name}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[0,1.6]},paint:{"text-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.showInfo=!1,this.map.getLayer(this.layer)&&this.map.removeLayer(this.layer),this.map.getSource(this.source)&&this.map.removeSource(this.source)},handleClick(o){const t=o.features[0];if(t.properties.id){const a=t.properties;a.lng=t.geometry.coordinates[0],a.lat=t.geometry.coordinates[1],a.forecastModel=this.forecastModel,this.$emit("portDetail",a)}},handleHover(o){this.map.getCanvas().style.cursor="pointer";const t=o.features[0];if(t.properties.id){this.showInfo=!0,this.port=t.properties;const r=document.getElementById("idmPortInfo");this.marker?this.marker.setLngLat([o.lngLat.lng,o.lngLat.lat]):this.marker=new me.Marker(r).setLngLat([o.lngLat.lng,o.lngLat.lat]).setOffset([0,-70]).addTo(this.map)}},handleLeave(){this.showInfo=!1,this.map.getCanvas().style.cursor="grab"}}},Qa={class:"port-box d-flex flex-column justify-center align-start ga-1"},Ja={class:"d-flex justify-start align-center text-label"},$a={class:"d-flex justify-start align-center text-label"};function ei(o,t,a,r,i,l){const n=e.resolveComponent("v-card-text"),s=e.resolveComponent("v-card");return e.withDirectives((e.openBlock(),e.createBlock(s,{id:"idmPortInfo",ref:"idmPortInfo"},{default:e.withCtx(()=>[e.createVNode(n,{class:"text-body-1 pr-8"},{default:e.withCtx(()=>[e.createElementVNode("div",Qa,[t[1]||(t[1]=e.createElementVNode("div",null,"port",-1)),e.createElementVNode("div",Ja,[e.createElementVNode("span",null,e.toDisplayString(i.port.name??"-"),1)]),e.createElementVNode("div",$a,[t[0]||(t[0]=e.createElementVNode("label",{class:"pr-1"},"LoCode : ",-1)),e.createElementVNode("span",null,e.toDisplayString(i.port.loCode??"-"),1)])])]),_:1})]),_:1},512)),[[e.vShow,i.showInfo]])}const ti=B(Ka,[["render",ei],["__scopeId","data-v-61def159"]]),oi={name:"IdmLoadLine",props:{map:{type:Object},show:{type:Boolean},beforeLayer:{type:String}},setup(){return{Theme:ie.useTheme()}},data(){return{layer:"loadlines-fill",labelLayer:"loadlines-label"}},watch:{show:{handler(){this.show?this.handleRender():this.handleClear()},immediate:!0}},methods:{handleRender(){var o,t;(o=this.map)!=null&&o.getLayer(this.layer)&&this.map.setLayoutProperty(this.layer,"visibility","visible"),(t=this.map)!=null&&t.getLayer(this.labelLayer)&&this.map.setLayoutProperty(this.labelLayer,"visibility","visible")},handleClear(){var o,t;(o=this.map)!=null&&o.getLayer(this.layer)&&this.map.setLayoutProperty(this.layer,"visibility","none"),(t=this.map)!=null&&t.getLayer(this.labelLayer)&&this.map.setLayoutProperty(this.labelLayer,"visibility","none")}}};function ai(o,t,a,r,i,l){return e.openBlock(),e.createElementBlock("div")}const ii=B(oi,[["render",ai]]),ri={name:"IdmTimezone",props:{map:{type:Object},zone:{type:Object},beforeLayer:{type:String}},setup(){return{Theme:ie.useTheme()}},data(){return{source:"time-zone-source",zoneLayer:"time-zone-layer",zoneLabelLayer:"time-zone-label-layer"}},watch:{zone:{handler(){this.handleRender()},immediate:!0}},methods:{handleRender(){this.map?(this.handleClear(),this.zone&&(this.map.addSource(this.source,{type:"geojson",data:this.zone}),this.map.addLayer({id:this.zoneLayer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-outline-color":"rgba(255, 255, 255, 0.5)","fill-opacity":.25,"fill-color":["match",["get","offSet"],"-11.5","rgba(255, 92, 88, 1)","-11","rgba(39, 195, 70, 1)","-10.5","rgba(39, 195, 70, 1)","-10","rgba(40, 106, 255, 1)","-9.5","rgba(40, 106, 255, 1)","-9","rgba(255, 92, 88, 1)","-8.5","rgba(255, 92, 88, 1)","-8","rgba(39, 195, 70, 1)","-7.5","rgba(39, 195, 70, 1)","-7","rgba(40, 106, 255, 1)","-6.5","rgba(40, 106, 255, 1)","-6","rgba(255, 92, 88, 1)","-5.5","rgba(255, 92, 88, 1)","-5","rgba(39, 195, 70, 1)","-4.5","rgba(39, 195, 70, 1)","-4","rgba(40, 106, 255, 1)","-3.5","rgba(40, 106, 255, 1)","-3","rgba(255, 92, 88, 1)","-2.5","rgba(255, 92, 88, 1)","-2","rgba(39, 195, 70, 1)","-1.5","rgba(39, 195, 70, 1)","-1","rgba(40, 106, 255, 1)","-0.5","rgba(40, 106, 255, 1)","+0","rgba(255, 92, 88, 1)","+0.5","rgba(255, 92, 88, 1)","+1","rgba(39, 195, 70, 1)","+1.5","rgba(39, 195, 70, 1)","+2","rgba(40, 106, 255, 1)","+2.5","rgba(40, 106, 255, 1)","+3","rgba(255, 92, 88, 1)","+3.5","rgba(255, 92, 88, 1)","+4","rgba(39, 195, 70, 1)","+4.5","rgba(39, 195, 70, 1)","+5","rgba(40, 106, 255, 1)","+5.5","rgba(40, 106, 255, 1)","+6","rgba(255, 92, 88, 1)","+6.5","rgba(255, 92, 88, 1)","+7","rgba(39, 195, 70, 1)","+7.5","rgba(39, 195, 70, 1)","+8","rgba(40, 106, 255, 1)","+8.5","rgba(40, 106, 255, 1)","+9","rgba(255, 92, 88, 1)","+9.5","rgba(255, 92, 88, 1)","+10","rgba(39, 195, 70, 1)","+10.5","rgba(39, 195, 70, 1)","+11","rgba(40, 106, 255, 1)","+11.5","rgba(40, 106, 255, 1)","rgba(255, 92, 88, 1)"]}},this.beforeLayer),this.map.addLayer({id:this.zoneLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","text-field":"{offSet}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[0,1],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},paint:{"text-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.zoneLayer)&&this.map.removeLayer(this.zoneLayer),this.map.getLayer(this.zoneLabelLayer)&&this.map.removeLayer(this.zoneLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function li(o,t,a,r,i,l){return e.openBlock(),e.createElementBlock("div")}const ni=B(ri,[["render",li]]),si={name:"IdmVoluntaryReportingArea",props:{map:{type:Object},area:{type:Object},beforeLayer:{type:String}},setup(){return{Theme:ie.useTheme()}},data(){return{source:"vra-source",areaLayer:"vra-layer",areaLabelLayer:"vra-label-layer"}},watch:{area:{handler(){this.area?this.handleRender():this.handleClear()},immediate:!0}},methods:{handleRender(){this.map?(this.handleClear(),this.area&&(this.map.addSource(this.source,{type:"geojson",data:this.area}),this.map.addLayer({id:this.areaLayer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-opacity":.3,"fill-color":"rgba(144, 96, 217, 1)"}},this.beforeLayer),this.map.addLayer({id:this.areaLayer+"-border",type:"line",source:this.source,filter:["==","$type","Polygon"],paint:{"line-width":1,"line-opacity":1,"line-color":"rgba(164, 125, 222, 1)"}},this.beforeLayer),this.map.addLayer({id:this.areaLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","icon-size":.1,"icon-image":"identify","text-anchor":"top","text-field":"{lbl}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[0,1],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},paint:{"text-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.areaLayer)&&this.map.removeLayer(this.areaLayer),this.map.getLayer(this.areaLayer+"-border")&&this.map.removeLayer(this.areaLayer+"-border"),this.map.getLayer(this.areaLabelLayer)&&this.map.removeLayer(this.areaLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function ci(o,t,a,r,i,l){return e.openBlock(),e.createElementBlock("div")}const mi=B(si,[["render",ci]]),di={name:"IdmSpecialArea",props:{map:{type:Object},area:{type:Object},beforeLayer:{type:String}},setup(){return{Theme:ie.useTheme()}},data(){return{source:"special-area-source",areaLayer:"special-area-layer",areaLabelLayer:"special-area-label-layer"}},watch:{area:{handler(){this.handleRender()},immediate:!0}},methods:{handleRender(){this.map?(this.handleClear(),this.area&&(this.area.features.forEach(o=>{o.geometry.type==="Polygon"&&o.geometry.coordinates.forEach(t=>M.LngLatHelper.convertToMonotonicLng2(t))}),this.map.addSource(this.source,{type:"geojson",data:this.area}),this.map.addLayer({id:this.areaLayer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-opacity":.25,"fill-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer),this.map.addLayer({id:this.areaLayer+"-border",type:"line",source:this.source,filter:["==","$type","Polygon"],paint:{"line-width":1,"line-opacity":.7,"line-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer),this.map.addLayer({id:this.areaLabelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","icon-size":.7,"icon-image":"identify","text-anchor":"top","text-field":"{lbl}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[0,1],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},paint:{"text-color":this.Theme.current.value.colors["on-surface"]}},this.beforeLayer))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.areaLayer)&&this.map.removeLayer(this.areaLayer),this.map.getLayer(this.areaLayer+"-border")&&this.map.removeLayer(this.areaLayer+"-border"),this.map.getLayer(this.areaLabelLayer)&&this.map.removeLayer(this.areaLabelLayer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function hi(o,t,a,r,i,l){return e.openBlock(),e.createElementBlock("div")}const pi=B(di,[["render",hi]]),gi={name:"IdmTerminator",props:{map:{type:Object},area:{type:Object},beforeLayer:{type:String}},data(){return{source:"terminator-source",layer:"terminator-layer"}},computed:{},watch:{area:{handler(){this.handleRender()},immediate:!0}},methods:{handleRender(){this.map?(this.handleClear(),this.area&&(this.map.addSource(this.source,{type:"geojson",data:this.area}),this.map.addLayer({id:this.layer,type:"fill",source:this.source,filter:["==","$type","Polygon"],paint:{"fill-outline-color":"rgba(255,255,255,0.3)","fill-color":"rgba(0, 0, 0, 0.3)"}},this.beforeLayer))):setTimeout(()=>{this.handleRender()},500)},handleClear(){this.map.getLayer(this.layer)&&this.map.removeLayer(this.layer),this.map.getSource(this.source)&&this.map.removeSource(this.source)}}};function ui(o,t,a,r,i,l){return e.openBlock(),e.createElementBlock("div")}const fi=B(gi,[["render",ui]]),yi={name:"IdmWorld12nm",props:{map:{type:Object},show:{type:Boolean},weatherLayers:{type:Object,default:()=>({})},zoom:{type:Number,default:3},left:{type:String,default:"10px"},bottom:{type:String,default:"64px"},token:{type:String,default:""}},data(){return{layer:"world-12nm-v4-20231025"}},watch:{show:{handler(){this.show?this.handleRender():this.handleClear()},immediate:!0}},methods:{handleRender(){var o;this.map?(o=this.map)!=null&&o.getLayer(this.layer)&&(this.map.setLayoutProperty(this.layer,"visibility","visible"),this.map.setPaintProperty(this.layer,"line-color","rgb(210,54,83)"),this.map.setPaintProperty(this.layer,"line-width",2)):setTimeout(()=>{this.handleRender()},500)},handleClear(){var o;(o=this.map)!=null&&o.getLayer(this.layer)&&this.map.setLayoutProperty(this.layer,"visibility","none")}}};function bi(o,t,a,r,i,l){return null}const wi=B(yi,[["render",bi]]),Fs="",xi={name:"IdmWorldMarine",props:{map:{type:Object},show:{type:Boolean}},data(){return{labelLayer:"ne-10m-label",lineLayer:"ne-10m-outline"}},watch:{show:{handler(){this.show?this.handleRender():this.handleClear()},immediate:!0}},methods:{handleRender(){var o,t;this.map?((o=this.map)!=null&&o.getLayer(this.lineLayer)&&(this.map.setLayoutProperty(this.lineLayer,"visibility","visible"),this.map.setPaintProperty(this.lineLayer,"line-width",1)),(t=this.map)!=null&&t.getLayer(this.labelLayer)&&this.map.setLayoutProperty(this.labelLayer,"visibility","visible")):setTimeout(()=>{this.handleRender()},500)},handleClear(){var o,t;(o=this.map)!=null&&o.getLayer(this.lineLayer)&&this.map.setLayoutProperty(this.lineLayer,"visibility","none"),(t=this.map)!=null&&t.getLayer(this.labelLayer)&&this.map.setLayoutProperty(this.labelLayer,"visibility","none")}}};function ki(o,t,a,r,i,l){return null}const _i=B(xi,[["render",ki]]),vi={name:"IdmChinaRoute",props:{map:{type:Object},show:{type:Boolean}},data(){return{labelLayer:"china-route-label",lineLayer:"china-route-line",fillLayer:"china-route-fill"}},watch:{show:{handler(){this.show?this.handleRender():this.handleClear()},immediate:!0}},methods:{handleRender(){var o,t,a;this.map?((o=this.map)!=null&&o.getLayer(this.lineLayer)&&this.map.setLayoutProperty(this.lineLayer,"visibility","visible"),(t=this.map)!=null&&t.getLayer(this.fillLayer)&&this.map.setLayoutProperty(this.fillLayer,"visibility","visible"),(a=this.map)!=null&&a.getLayer(this.labelLayer)&&this.map.setLayoutProperty(this.labelLayer,"visibility","visible")):setTimeout(()=>{this.handleRender()},500)},handleClear(){var o,t,a;(o=this.map)!=null&&o.getLayer(this.lineLayer)&&this.map.setLayoutProperty(this.lineLayer,"visibility","none"),(t=this.map)!=null&&t.getLayer(this.fillLayer)&&this.map.setLayoutProperty(this.fillLayer,"visibility","none"),(a=this.map)!=null&&a.getLayer(this.labelLayer)&&this.map.setLayoutProperty(this.labelLayer,"visibility","none")}}};function zi(o,t,a,r,i,l){return null}const Li=B(vi,[["render",zi]]),Hs="",Ws="",Ci={name:"IdmTideStations",props:{map:{type:Object},gateway:{type:String},token:{type:String},show:{type:Boolean},theme:{type:String},locale:{type:String},realTime:{type:String},timeZone:{type:Number},forecastModel:{type:String}},setup(){return{Theme:ie.useTheme()}},emits:["closeDetail"],data(){return{layer:"tide-stations",showInfo:!1,hoverStation:void 0,marker:null,showDetail:!1,station:void 0,tideData:{},tideTableData:[],currentIndex:0,xDate:[],echartData:{}}},computed:{dateList(){var a,r,i,l;const o=[],t=(a=this.station)!=null&&a.lng&&((r=this.station)!=null&&r.lat)?M.LngLatHelper.guessTimeZoneOffset((i=this.station)==null?void 0:i.lng,(l=this.station)==null?void 0:l.lat):0;for(let n=0;n<4;n++){let s={index:n,dateTimeList:[],label:L().utcOffset(t).add(n,"days").format("MM-DD ddd"),startTime:L().utcOffset(t).add(n,"days").set({hour:0,minute:0,second:0,millisecond:0}).format(),dateTime:L().utcOffset(t).add(n,"days").format()};for(let c=0;c<4;c++)s.dateTimeList.push(L(s.startTime).utcOffset(t).add(c*3,"hours").utc().format());o.push(s)}return o},computeLocalTime(){return function(o,t,a="yyyy-MM-DD HHmm"){if(o){const r=t!=null&&t.lng&&(t!=null&&t.lat)?M.LngLatHelper.guessTimeZoneOffset(t==null?void 0:t.lng,t==null?void 0:t.lat):0;return L(o).utcOffset(r).format(a)+" ( UTC "+(r>=0?"+":"")+r+" )"}return"-"}},computeHourLT(){return function(o,t,a="HH:mm"){if(o){const r=t!=null&&t.lng&&(t!=null&&t.lat)?M.LngLatHelper.guessTimeZoneOffset(t==null?void 0:t.lng,t==null?void 0:t.lat):0;return L(o).utcOffset(r).format(a)}return"-"}},computeTzTime(){return(o,t="yyyy-MM-DD HH:mm")=>{var a,r;if(o){const i=this.timeZone||0;return((r=(a=L(o))==null?void 0:a.utcOffset(i))==null?void 0:r.format(t))+" ( UTC "+(i>=0?"+":"")+i+" )"}return"-"}},computeLat(){return function(o){return`${M.LngLatHelper.lat2pretty(o,2).pretty}`}},computeLng(){return function(o){return`${M.LngLatHelper.lng2pretty(o,2).pretty}`}},computeRoundPrecision(){return function(o,t=4){return M.LngLatHelper.roundPrecision(o,t)||0}}},watch:{show:{handler(){var o,t,a,r,i,l;this.show?(this.handleRender(),(o=this.map)==null||o.on("click",[this.layer],this.handleClick),(t=this.map)==null||t.on("mousemove",[this.layer],this.handleHover),(a=this.map)==null||a.on("mouseleave",[this.layer],this.handleLeave)):(this.handleClear(),(r=this.map)==null||r.off("click",[this.layer],this.handleClick),(i=this.map)==null||i.off("mousemove",[this.layer],this.handleHover),(l=this.map)==null||l.off("mouseleave",[this.layer],this.handleLeave))},immediate:!0},locale:{handler(){this.show&&this.handleRender()},immediate:!0},theme:{handler(){this.$nextTick(()=>{this.initEchart()})}},currentIndex:{handler(){this.initTideTableData(this.tideData)}}},methods:{handleRender(){var o;this.map?(o=this.map)!=null&&o.getLayer(this.layer)&&(this.map.setLayoutProperty(this.layer,"visibility","visible"),this.map.setLayoutProperty(this.layer,"text-field",this.locale==="en"?"{Location_EN}":"{Location_CN}")):setTimeout(()=>{this.handleRender()},500)},handleClear(){var o;this.showInfo=!1,(o=this.map)!=null&&o.getLayer(this.layer)&&this.map.setLayoutProperty(this.layer,"visibility","none")},handleClick(o){this.$emit("closeDetail");const t=o.features[0];t.properties&&(this.station=t.properties,this.station.name=this.locale==="en"?t.properties.Location_EN:t.properties.Location_CN,this.station.lng=t.geometry.coordinates[0],this.station.lat=t.geometry.coordinates[1],this.showDetail=!0,this.fetchTidesData())},handleHover(o){this.map.getCanvas().style.cursor="pointer";const t=o.features[0];if(t.properties){this.showInfo=!0,this.hoverStation=t.properties,this.hoverStation.name=this.locale==="en"?t.properties.Location_EN:t.properties.Location_CN,this.hoverStation.lng=t.geometry.coordinates[0],this.hoverStation.lat=t.geometry.coordinates[1];const a=document.getElementById("idmTidalInfo");this.marker?this.marker.setLngLat([o.lngLat.lng,o.lngLat.lat]):this.marker=new me.Marker(a).setLngLat([o.lngLat.lng,o.lngLat.lat]).setOffset([0,-60]).addTo(this.map)}},handleLeave(){this.showInfo=!1,this.map.getCanvas().style.cursor="grab"},async fetchTidesData(){var a,r,i,l;this.tideLoading=!0,this.tideData={};let o={lat:this.station.lat,lng:this.station.lng,date:(r=(a=this.dateList)==null?void 0:a[this.currentIndex])==null?void 0:r.dateTime,pastDays:1,forecastDays:5,extremes:!0,heights:!0},t=await K.post(`${this.gateway}/api/arc/meteo2/spot/tides/forecast`,o,{headers:{Authorization:this.token}});((i=t==null?void 0:t.data)==null?void 0:i.code)===0&&(this.tideData=((l=t==null?void 0:t.data)==null?void 0:l.data)||{},this.tideLoading=!1,this.initTideTableData(this.tideData))},initTideTableData(o){var t,a;this.tideTableData=jt.TidesAssist.pickDailyExtremes(o,(a=(t=this.dateList)==null?void 0:t[this.currentIndex])==null?void 0:a.dateTime),this.initEchartData()},initEchartData(){var o;this.xDate=[],this.echartData={height:[]},(o=this.tideTableData)==null||o.forEach(t=>{this.xDate.push(this.computeHourLT(t.date,this.station)),this.echartData.height.push([this.computeHourLT(t.date,this.station),t.height??void 0,"m"])}),this.initEchart()},initEchart(){Zt.dispose(this.$refs.tideEchart);const o=Zt.init(this.$refs.tideEchart),t={animation:!1,tooltip:{trigger:"axis",formatter:function(a){var i;let r=`<div style="font-size: 13px;">${(i=a[0])==null?void 0:i.value[0]}</div>`;return a.forEach(l=>{l.seriesName.indexOf("Min")<=-1&&l.seriesName.indexOf("Max")<=-1&&(r+=`<div style="font-size: 13px;">
|
|
2
2
|
<span style="display:inline-block; height: 8px;width: 8px;border-radius: 50%;background-color: ${l.color}"></span>
|
|
3
3
|
<span>${l.seriesName} : </span>
|
|
4
4
|
<strong>${l.value[1]}m</strong>
|
|
5
|
-
</div>`)}),r}},legend:{show:!0,right:20,top:0,itemWidth:30,data:["Height"],selected:{Speed:!0,Draught:!1},textStyle:{color:this.Theme.current.value.colors["on-surface"]}},grid:{top:30,left:30,right:20,bottom:30,containLabel:!1},xAxis:[{type:"category",data:this.xDate,boundaryGap:!0,axisTick:{alignWithLabel:!0},axisLabel:{interval:"auto",margin:15,textStyle:{fontSize:11}}}],yAxis:[{name:"(m)",show:!0,nameLocation:"end",position:"left",nameGap:15,splitNumber:5,splitLine:{show:!0,lineStyle:{color:this.Theme.current.value.colors["on-surface-variant"]}},alignTicks:!0,axisLine:{show:!0}}],series:[{name:"Height",type:"line",showSymbol:!0,yAxisIndex:0,lineStyle:{color:this.Theme.current.value.colors["map-perple"]},itemStyle:{color:this.Theme.current.value.colors["map-perple"]},data:this.echartData.height}]};o==null||o.setOption(t)},handleCloseDetail(){this.showDetail=!1}}},Pi={class:"station-box d-flex flex-column justify-center align-start ga-1"},Si={class:"d-flex justify-start align-center"},Ti={class:"text-label"},Ni={class:"d-flex justify-space-between align-center"},Mi={class:"d-flex justify-start text-h5 my-2"},Ii={class:"d-flex justify-start align-center text-body-1 text-label ga-3"},Ei={class:"w-100 flex-1-1-0 px-5 pt-0 pb-0 overflow-y-auto scroll d-flex flex-column justify-start align-center"},Di={class:"summary-box w-100"},Ai={class:"d-flex justify-space-between align-center py-2"},Bi={class:"d-flex justify-center align-center text-h6 ga-2"},Ri={class:"multi-color-icon","aria-hidden":"true"},Vi=["xlink:href"],Oi={class:"gray-card rounded d-flex flex-column ga-4 pa-4"},ji={class:"w-100 d-flex justify-start align-center"},Fi={class:"w-30 text-label font-weight-400"},Hi={class:"flex-1-1-0"},Wi={class:"w-100 d-flex justify-start align-center"},Ui={class:"w-30 text-label font-weight-400"},Gi={class:"flex-1-1-0"},Zi={class:"w-100 d-flex justify-start align-center"},qi={class:"w-30 text-label font-weight-400"},Yi={class:"flex-1-1-0"},Xi={class:"table-box w-100 mt-2 mb-4 flex-1-1-0 d-flex flex-column justify-start align-center"},Ki={class:"w-100 d-flex justify-space-between align-center py-2"},Qi={class:"d-flex justify-center align-center text-h6 ga-2"},Ji={class:"multi-color-icon","aria-hidden":"true"},$i=["xlink:href"],er={class:"w-100 gray-card rounded pa-4 flex-1-1-0 d-flex flex-column justify-center align-center"},tr={class:"w-100 flex-1-1-0 py-4",ref:"tideEchart"},or={"fixed-header":"",density:"compact",class:"w-100 tide-table bg-none"},ar={class:"px-1 text-left text-label font-weight-400",width:"120"},ir={class:"px-1 text-left text-label font-weight-400",width:"120"},rr={class:"px-1 text-left text-label font-weight-400",width:"120"};function lr(o,t,a,r,i,l){const n=e.resolveComponent("v-card-text"),s=e.resolveComponent("v-card"),c=e.resolveComponent("VBtn"),p=e.resolveComponent("v-card-title"),h=e.resolveComponent("v-divider"),d=e.resolveComponent("VBtnToggle");return e.openBlock(),e.createElementBlock("div",null,[e.withDirectives(e.createVNode(s,{id:"idmTidalInfo"},{default:e.withCtx(()=>[e.createVNode(n,{class:"pr-8 text-body-1"},{default:e.withCtx(()=>{var g,b;return[e.createElementVNode("div",Pi,[t[2]||(t[2]=e.createElementVNode("div",{class:"d-flex justify-start align-center"},"Tide Station ",-1)),e.createElementVNode("div",Si,[e.createElementVNode("label",Ti,e.toDisplayString((g=i.hoverStation)==null?void 0:g.name)+" , "+e.toDisplayString(((b=i.hoverStation)==null?void 0:b.Country)||"-"),1)])])]}),_:1})]),_:1},512),[[e.vShow,i.showInfo]]),i.showDetail?(e.openBlock(),e.createBlock(s,{key:0,class:"tide-detail-container d-flex flex-column justify-start align-center"},{default:e.withCtx(()=>{var g,b,f,v;return[e.createVNode(p,{class:"w-100"},{default:e.withCtx(()=>{var u,C;return[e.createElementVNode("div",Ni,[e.createElementVNode("div",Mi,[e.createElementVNode("div",null,e.toDisplayString((u=i.station)==null?void 0:u.name),1)]),e.createVNode(c,{icon:"",density:"compact",variant:"plain",class:"mr-n2",onClick:t[0]||(t[0]=z=>i.showDetail=!1)},{default:e.withCtx(()=>t[3]||(t[3]=[e.createElementVNode("i",{class:"iconfont icon-close opacity-70 text-h4"},null,-1)])),_:1,__:[3]})]),e.createElementVNode("div",Ii,[t[5]||(t[5]=e.createElementVNode("div",null,"tide station",-1)),e.createElementVNode("div",null,[t[4]||(t[4]=e.createElementVNode("label",null,"UN/LOCODE: ",-1)),e.createElementVNode("span",null,e.toDisplayString((C=i.station)==null?void 0:C.Code),1)])])]}),_:1}),e.createVNode(h,{class:"w-100"}),e.createElementVNode("div",Ei,[e.createElementVNode("div",Di,[e.createElementVNode("div",Ai,[e.createElementVNode("div",Bi,[(e.openBlock(),e.createElementBlock("svg",Ri,[e.createElementVNode("use",{"xlink:href":`#icon-title-${a.theme}`},null,8,Vi)])),t[6]||(t[6]=e.createElementVNode("div",null,"Summary",-1))]),t[7]||(t[7]=e.createElementVNode("div",{class:"text-body-2 text-success ga-2"},null,-1))]),e.createElementVNode("div",Oi,[e.createElementVNode("div",ji,[e.createElementVNode("div",Fi,e.toDisplayString(o.$t("tide.region")),1),e.createElementVNode("div",Hi,e.toDisplayString(((g=i.station)==null?void 0:g.Country)??((b=i.station)==null?void 0:b.city)??"-"),1)]),e.createElementVNode("div",Wi,[e.createElementVNode("div",Ui,e.toDisplayString(o.$t("tide.position")),1),e.createElementVNode("div",Gi,e.toDisplayString(l.computeLng((f=i.station)==null?void 0:f.lng)??"-")+" , "+e.toDisplayString(l.computeLat((v=i.station)==null?void 0:v.lat)??"-"),1)]),e.createElementVNode("div",Zi,[e.createElementVNode("div",qi,e.toDisplayString(o.$t("time.localTime")),1),e.createElementVNode("div",Yi,e.toDisplayString(l.computeLocalTime(a.realTime,i.station)??"-"),1)])])]),e.createElementVNode("div",Xi,[e.createElementVNode("div",Ki,[e.createElementVNode("div",Qi,[(e.openBlock(),e.createElementBlock("svg",Ji,[e.createElementVNode("use",{"xlink:href":`#icon-title-${a.theme}`},null,8,$i)])),t[8]||(t[8]=e.createElementVNode("div",null,"Tide Times",-1))]),t[9]||(t[9]=e.createElementVNode("div",{class:"text-body-2 text-success ga-2"},null,-1))]),e.createElementVNode("div",er,[e.createVNode(d,{modelValue:i.currentIndex,"onUpdate:modelValue":t[1]||(t[1]=u=>i.currentIndex=u),class:"w-100 gray-card rounded d-flex justify-space-around align-center ga-0 px-1 mb-4",density:"compact",group:"",height:"26","min-height":"26",rounded:"1"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.dateList,u=>(e.openBlock(),e.createBlock(c,{class:"text-none text-body-1 rounded bg-none flex-1-1-0",density:"compact",color:"primary",height:"26",value:u.index},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.label),1)]),_:2},1032,["value"]))),256))]),_:1},8,["modelValue"]),e.createElementVNode("div",tr,null,512),e.createElementVNode("table",or,[e.createElementVNode("tbody",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",ar,e.toDisplayString(o.$t("tide.tide"))+" ( m )",1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.tideTableData,(u,C)=>{var z;return e.openBlock(),e.createElementBlock("td",{key:u.type+"-"+C,class:"px-1 text-center"},e.toDisplayString(o.$t(`tide.${(z=u==null?void 0:u.type)==null?void 0:z.toLowerCase()}`)),1)}),128))]),e.createElementVNode("tr",null,[e.createElementVNode("th",ir,e.toDisplayString(o.$t("tide.datum")),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.tideTableData,(u,C)=>(e.openBlock(),e.createElementBlock("td",{key:u.date+"-"+C,class:"px-1 text-center"},e.toDisplayString(l.computeHourLT(u==null?void 0:u.date,i.station))+" LT",1))),128))]),e.createElementVNode("tr",null,[e.createElementVNode("th",rr,e.toDisplayString(o.$t("tide.chartDatum")),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.tideTableData,(u,C)=>(e.openBlock(),e.createElementBlock("td",{key:u.height+"-"+C,class:"px-1 text-center"},e.toDisplayString((u==null?void 0:u.height)??"-")+" m",1))),128))])])])])])])]}),_:1})):e.createCommentVNode("",!0)])}const nr=B(Ci,[["render",lr],["__scopeId","data-v-8a385a7e"]]),sr={name:"IdmIceAreas",props:{map:{type:Object},show:{type:Boolean}},data(){return{lineLayer:"ice-area-line",fillLayer:"ice-area-fill"}},watch:{show:{handler(){this.show?this.handleRender():this.handleClear()},immediate:!0}},methods:{handleRender(){var o,t;this.map?((o=this.map)!=null&&o.getLayer(this.lineLayer)&&this.map.setLayoutProperty(this.lineLayer,"visibility","visible"),(t=this.map)!=null&&t.getLayer(this.fillLayer)&&this.map.setLayoutProperty(this.fillLayer,"visibility","visible")):setTimeout(()=>{this.handleRender()},500)},handleClear(){var o,t;(o=this.map)!=null&&o.getLayer(this.lineLayer)&&this.map.setLayoutProperty(this.lineLayer,"visibility","none"),(t=this.map)!=null&&t.getLayer(this.fillLayer)&&this.map.setLayoutProperty(this.fillLayer,"visibility","none")}}};function cr(o,t,a,r,i,l){return null}const mr=B(sr,[["render",cr]]),Us="",dr={name:"IdmLatLng",props:{map:{type:Object},show:{type:Boolean},mapFeather:{type:String},beforeLayer:{type:String},menuToggle:{type:Object}},data(){return{lngLat:{e:{lng:0,lat:0},lng:0,lat:0,str:""},source:"idm-lat-lng-source",layer:"idm-lat-lng-layer",labelLayer:"idm-lat-lng-label-layer",right:10}},computed:{lineColor(){return["satellite","dark"].includes(this.mapFeather)?"rgba(255, 255, 255, 0.3)":"rgba(0, 0, 0, 0.3)"}},watch:{show:{handler(){this.handleBind()},immediate:!0},map:{handler(){var o;this.map&&((o=this.map)==null||o.on("mousemove",this.handleMouseMove))},immediate:!0},"menuToggle.v":{handler(){var o;this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10},immediate:!0},"lngLat.e":{handler(o){this.lngLat.lng=M.LngLatHelper.lng2pretty(o==null?void 0:o.lng,2).pretty,this.lngLat.lat=M.LngLatHelper.lat2pretty(o==null?void 0:o.lat,2).pretty,this.lngLat.str=`[${o==null?void 0:o.lng.toFixed(4)}, ${o==null?void 0:o.lat.toFixed(4)}]`},immediate:!0}},methods:{handleBind(){var o,t;this.show?((o=this.map)==null||o.on("zoomend",this.handleZoomEnd),this.handleRender()):(this.handleClear(),(t=this.map)==null||t.off("zoomend",this.handleZoomEnd))},handleMouseMove(o){this.lngLat.e=o.lngLat},handleComputeLatLngs(){var r;const o=(r=this.map)==null?void 0:r.getZoom();let t=30;o>4?t=10:o>3&&(t=15);const a=[];for(let i=-60;i<90;i+=t)a.push({type:"Feature",geometry:{type:"LineString",coordinates:[[-180,i],[180,i]]}});for(let i=-180;i<180;i+=t)a.push({type:"Feature",geometry:{type:"LineString",coordinates:[[i,-90],[i,90]]}});for(let i=180;i>-180;i-=t)for(let l=-60;l<90;l+=t)a.push({type:"Feature",geometry:{type:"Point",coordinates:[i,l]},properties:{val:`${l>0?l+" N":l===0?l:l*-1+" S"}, ${i>0?i+" E":i*-1+" W"}`}});return a},handleZoomEnd(){var t;const o=this.handleComputeLatLngs();(t=this.map)==null||t.getSource(this.source).setData(N.featureCollection(o))},handleRender(){if(this.handleClear(),this.map){const o=this.handleComputeLatLngs();this.map.addSource(this.source,{type:"geojson",data:{type:"FeatureCollection",features:o}}),this.map.addLayer({id:this.layer,type:"line",source:this.source,filter:["==","$type","LineString"],layout:{"line-join":"round","line-cap":"round"},paint:{"line-color":this.lineColor,"line-width":1}},this.beforeLayer),this.map.addLayer({id:this.labelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","text-field":"{val}","text-rotation-alignment":"viewport","text-offset":[0,1],"text-size":10,"text-allow-overlap":!0},paint:{"text-opacity":.8,"text-color":this.lineColor}},this.beforeLayer)}},handleClear(){var o,t,a,r,i,l;(o=this.map)!=null&&o.getLayer(this.layer)&&((t=this.map)==null||t.removeLayer(this.layer)),(a=this.map)!=null&&a.getLayer(this.labelLayer)&&((r=this.map)==null||r.removeLayer(this.labelLayer)),(i=this.map)!=null&&i.getSource(this.source)&&((l=this.map)==null||l.removeSource(this.source))}}};function hr(o,t,a,r,i,l){var n,s,c;return e.openBlock(),e.createElementBlock("div",{class:"idm-lat-lng-tip-gl4 pa-2 text-caption text-right rounded",style:e.normalizeStyle({right:i.right+"px"})},[e.createElementVNode("div",null,e.toDisplayString((n=i.lngLat)==null?void 0:n.lat),1),e.createElementVNode("div",null,e.toDisplayString((s=i.lngLat)==null?void 0:s.lng),1),e.createElementVNode("div",null,e.toDisplayString((c=i.lngLat)==null?void 0:c.str),1)],4)}const Wt=B(dr,[["render",hr]]),Gs="",pr={name:"IdmFollowPort",props:{map:{type:Object},beforeLayer:{type:String},forecastModel:{type:String},show:{type:Boolean},followList:{type:Array,default:()=>[{id:"cm8ntkge601bn23o84p2e4pkf",platId:"gd0mt1d",coordinate:null,vessel:{id:"cm4s8gvu700kp0mqtdfkebp0s",name:"HG BREMEN",imo:9955002,mmsi:636023376,callSign:"5LNK4",ais:{cog:253.2,eta:"2025-09-29T06:00:00Z",hdg:251,imo:"9955002",lat:-26.914428,lng:42.621778,rot:-4,sog:14,utc:"2025-09-15T02:16:17Z",eta1:"2025-09-29T06:00:00Z",mmsi:636023376,factor:{eta:"2025-09-15T02:16:17Z",etd:"2025-09-15T02:16:17Z",lat:-26.914428,lng:42.621778,meteo:{sst:23.299999,url:"https://osshz.idmwx.com/asset/weather/01n.svg",utc:"2025-09-15T02:00:00Z",code:0,name:"Clear",temp:22.65,wave:{wd:{scale:"Moderate",degree:92,height:1.36,period:8,bearing:272,direction:"E",peakPeriod:null},sig:{scale:"Moderate",degree:207,height:2.42,period:16.450001,bearing:27,direction:"SSW"},swell:{scale:"Moderate",degree:211,height:1.62,period:14.2,bearing:31,direction:"SSW",peakPeriod:null}},wind:{kts:13.834078,gusts:16.328255,scale:4,speed:13.834078,degree:109.708076,bearing:289.708076,direction:"ESE"},gusts:{kts:16.328255},height:.22,precip:{sum:0,sum3Hours:0,sum6Hours:0,probability:null},source:"gfs_seamless",current:{kts:2.192751,speed:2.192751,degree:257.19574,bearing:257.19574,direction:"WSW"},visibility:13.0346},speed:15.77,cFactor:2.18,wxFactor:-.41},method:"position",status:0,vendor:"myVessel",deleted:!1,draught:12.3,labelCn:"在航(主机推动)",labelEn:"Underway Using Engine",syncTime:"2025-09-15T02:30:32Z",destination:"ABIDJAN",meteoVendor:"GFS",positionTime:1757902577}},port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-03-25T01:30:54.079Z",remark:null,voyage:{id:"cmcyl9fkz01bj0nnxd9gzc62e",number:"20250711016",status:"Underway",loadCondition:"Laden",companyId:"cltzog33o000nxglt3afwd7b3",vesselId:"cm4s8gvu700kp0mqtdfkebp0s"}},{id:"cm8ntkh1x03qj0nnt6tal6c1u",platId:"gd0mt1d",coordinate:null,vessel:{id:"clyfa7be905to3wqk7xhdg1gp",name:"APRIL",imo:9384916,mmsi:352003739,callSign:"3E5840",ais:{cog:323,eta:"2025-09-22T14:00:00Z",hdg:324,imo:"9384916",lat:11.68535,lng:74.573017,rot:0,sog:10.6,utc:"2025-09-15T02:05:10Z",eta1:"2025-09-22T14:00:00Z",mmsi:352003739,factor:{eta:"2025-09-15T02:05:10Z",etd:"2025-09-15T02:05:10Z",lat:11.68535,lng:74.573017,meteo:{sst:27.950001,url:"https://osshz.idmwx.com/asset/weather/09d.svg",utc:"2025-09-15T02:00:00Z",code:80,name:"Light Showers",temp:26.9,wave:{wd:{scale:"Smooth",degree:305,height:.24,period:2.35,bearing:125,direction:"NW",peakPeriod:null},sig:{scale:"Moderate",degree:232,height:1.26,period:9.65,bearing:52,direction:"SW"},swell:{scale:"Slight",degree:272,height:.88,period:6.45,bearing:92,direction:"W",peakPeriod:null}},wind:{kts:9.052954,gusts:12.829344,scale:3,speed:9.052954,degree:284.931458,bearing:104.93145800000002,direction:"WNW"},gusts:{kts:12.829344},height:.59,precip:{sum:.2,sum3Hours:.2,sum6Hours:.2,probability:25},source:"best_match",current:{kts:.307348,speed:.307348,degree:161.564941,bearing:161.564941,direction:"SSE"},visibility:6.5119},speed:10.08,cFactor:-.29,wxFactor:-.23},method:"position",status:0,vendor:"myVessel",deleted:!1,draught:10.9,labelCn:"在航(主机推动)",labelEn:"Underway Using Engine",syncTime:"2025-09-15T02:13:47Z",destination:"BH AHD",positionTime:1757901910}},port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-03-25T01:30:54.935Z",remark:null},{id:"cm8y716xs02rm0mo1e8lt3tfw",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyi0x601wcwzpi8xx3xlo5",name:"Shanghai",loCode:"CNSHA",abcAlias:null,abcCode:"CN0116",abcLoCode:"CNSHA",city:"Shanghai",cntLoCode:"CN",continent:"ASIA",country:"China",lat:31.25833320617676,lng:121.5433349609375,status:1,timezone:{RawOffset:8,TimezoneId:"Asia/Shanghai",DisplayName:"(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi",UtcCurrentOffset:8},zoneId:"zk3c0bcq"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-04-01T07:45:31.745Z",remark:""},{id:"cmag92m9s00vl0nmc7ksveh0v",platId:"gd0mt1d",coordinate:{lat:34.15792410669758,lng:127.81907847477157},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-05-09T03:42:11.009Z",remark:""},{id:"cmag93pmq00wd0nmc1qgp9qsa",platId:"gd0mt1d",coordinate:{lat:-37.63432796286481,lng:52.32165422235994},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-05-09T03:43:02.019Z",remark:""},{id:"cmd2jse3e0dvb0nnx21ga822x",platId:"gd0mt1d",coordinate:{lat:10,lng:-14},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-07-14T03:32:30.171Z",remark:""},{id:"cmd2jx5ym0e840mpj80n60187",platId:"gd0mt1d",coordinate:{lat:10,lng:-16},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-07-14T03:36:12.911Z",remark:""},{id:"cmfdgil9a01i10lqacxdz27pc",platId:"gd0mt1d",coordinate:{lat:-1.3101652000000001,lng:55.488281},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-10T04:05:46.656Z",remark:null},{id:"cmfdlcx6r01y60lqab6q885ev",platId:"gd0mt1d",coordinate:{lat:.99837475,lng:-104.59375},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-10T06:21:20.262Z",remark:null},{id:"cmfdo9ksp06gl0msh8kanel7s",platId:"gd0mt1d",coordinate:null,vessel:{id:"clcbmc4m3000h6ngq461sabxx",name:"ZHONG DA 88",imo:9957191,mmsi:413294670,callSign:"BOSV9",ais:{cog:160.7,hdg:158,imo:"9957191",lat:22.11045,lng:113.44941,rot:0,sog:10,utc:"2024-03-27T14:00:07Z",mmsi:413294670,method:"position",status:0,vendor:"myship",draught:4.1,syncTime:"2024-03-27T14:00:18Z",positionTime:1711548007}},port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-10T07:42:43.082Z",remark:null},{id:"cmfermo1i02y70mqydv673mgu",platId:"gd0mt1d",coordinate:null,vessel:{id:"clcbmc4ag000c6ngq7p1n1nhv",name:"EKMEN STAR",imo:9218193,mmsi:314525e3,callSign:"8PAX6",ais:{cog:82,eta:"2025-09-22T05:00:00Z",hdg:84,imo:"9218193",lat:36.0301,lng:-4.723353,rot:0,sog:11.9,utc:"2025-09-14T11:28:29Z",eta1:"2025-09-22T05:00:00Z",mmsi:314525e3,factor:{eta:"2025-09-14T11:28:29Z",etd:"2025-09-14T11:28:29Z",lat:36.0301,lng:-4.723353,meteo:{sst:22.15,url:"https://osshz.idmwx.com/asset/weather/01d.svg",utc:"2025-09-14T11:00:00Z",code:0,name:"Sunny",temp:22.65,wave:{wd:{scale:"Smooth",degree:286,height:.28,period:2.35,bearing:106,direction:"WNW",peakPeriod:1},sig:{scale:"Slight",degree:286,height:.58,period:3.85,bearing:106,direction:"WNW"},swell:{scale:"Smooth",degree:285,height:.36,period:3.5,bearing:105,direction:"WNW",peakPeriod:5.2}},wind:{kts:4.587627,gusts:7.77536,scale:2,speed:4.587627,degree:306.38446,bearing:126.38446,direction:"NW"},gusts:{kts:7.77536},height:-.39,precip:{sum:0,sum3Hours:0,sum6Hours:0,probability:0},source:"best_match",current:{kts:.307348,speed:.307348,degree:71.564941,bearing:71.564941,direction:"ENE"},visibility:23.4341},speed:12.13,cFactor:.3,wxFactor:-.07},method:"position",status:0,vendor:"myVessel",deleted:!1,draught:7.4,labelCn:"在航(主机推动)",labelEn:"Underway Using Engine",syncTime:"2025-09-14T11:30:04Z",destination:"ILHFA",positionTime:1757849309}},port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-11T02:04:38.839Z",remark:null},{id:"cmfgjlseq0a080lqk0wd1c0ez",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyg0e80018wzpivgy9ronc",name:"Akrotiri",loCode:"CYAKT",abcAlias:null,abcCode:"CY0001",abcLoCode:"CYAKT",city:"Bucharest",cntLoCode:"CY",continent:"EUROPE",country:"Cyprus",lat:34.57192611694336,lng:33.03478240966797,status:1,timezone:{RawOffset:2,TimezoneId:"Europe/Bucharest",DisplayName:"(UTC+02:00) Athens, Bucharest",UtcCurrentOffset:3},zoneId:"0a3i0buw"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-12T07:55:33.268Z",remark:null},{id:"cmfkf050h09i20mpbbtp20lxv",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhygf8600gewzpii4d8p5ao",name:"Dandong",loCode:"CNDDG",abcAlias:["Dadong"],abcCode:"CN0028",abcLoCode:"CNDDG",city:"Pyongyang",cntLoCode:"CN",continent:"ASIA",country:"China",lat:39.81999969482422,lng:124.1575012207031,status:1,timezone:{RawOffset:9,TimezoneId:"Asia/Pyongyang",DisplayName:"(UTC+09:00) Pyongyang",UtcCurrentOffset:9},zoneId:"zk3c0bcq"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T00:57:49.411Z",remark:null},{id:"cmfkf2lif09ts0lqn1nfmd4ev",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhygu5h00vkwzpi429ib4tx",name:"Kakinada",loCode:"INKAK",abcAlias:null,abcCode:"IN0057",abcLoCode:"INKAK",city:"Kolkata",cntLoCode:"IN",continent:"ASIA",country:"India",lat:16.97333335876465,lng:82.28500366210938,status:1,timezone:{RawOffset:5.5,TimezoneId:"Asia/Kolkata",DisplayName:"(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi",UtcCurrentOffset:5.5},zoneId:"zy3f0b05"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T00:59:44.104Z",remark:null},{id:"cmfkf40mg08qo0mmlbzsic9ou",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyhdn9019qwzpi6dzvqfci",name:"Mormugao",loCode:"INMRM",abcAlias:null,abcCode:"IN0090",abcLoCode:"INMRM",city:"Kolkata",cntLoCode:"IN",continent:"ASIA",country:"India",lat:15.41249942779541,lng:73.80166625976562,status:1,timezone:{RawOffset:5.5,TimezoneId:"Asia/Kolkata",DisplayName:"(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi",UtcCurrentOffset:5.5},zoneId:"zy3f0b05"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T01:00:50.345Z",remark:null},{id:"cmfkf905108xf0mml26eb6uke",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyj9w802z2wzpih82qku6a",name:"Diego Garcia",loCode:"IODGA",abcAlias:null,abcCode:"IO0002",abcLoCode:"IODGA",city:"Almaty",cntLoCode:"IO",continent:"ASIA",country:"British Indian Ocean Territory (the)",lat:-7.288332939147949,lng:72.3949966430664,status:1,timezone:{RawOffset:6,TimezoneId:"Asia/Almaty",DisplayName:"(UTC+06:00) Astana",UtcCurrentOffset:6},zoneId:"zy3f0b05"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T01:04:42.998Z",remark:null},{id:"cmfkffoen0a500mpb83ks9naq",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyhp6u01kiwzpi7pkd9ibw",name:"Port Louis",loCode:"MUPLU",abcAlias:null,abcCode:"MU0004",abcLoCode:"MUPLU",city:"Mauritius",cntLoCode:"MU",continent:"INDIAN",country:"Mauritius",lat:-20.15397071838379,lng:57.4934196472168,status:1,timezone:{RawOffset:4,TimezoneId:"Indian/Mauritius",DisplayName:"(UTC+04:00) Port Louis",UtcCurrentOffset:4},zoneId:"zy3f0b05"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T01:09:54.385Z",remark:null},{id:"cmfkfsabx09lx0mmldli44j5v",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyhwtq01ruwzpicgc3otck",name:"Saipan",loCode:"MPSPN",abcAlias:null,abcCode:"MP0009",abcLoCode:"MPSPN",city:"Port_Moresby",cntLoCode:"MP",continent:"PACIFIC",country:"Northern Mariana Islands (the)",lat:15.28999996185303,lng:145.7050018310547,status:1,timezone:{RawOffset:10,TimezoneId:"Pacific/Port_Moresby",DisplayName:"(UTC+10:00) Guam, Port Moresby",UtcCurrentOffset:10},zoneId:"0r3n0b5e"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T01:19:42.671Z",remark:null}]}},emits:["portDetail"],setup(){return{Theme:ie.useTheme()}},data(){return{source:"follow-port-source",layer:"follow-port-layer",showInfo:!1,port:{},marker:void 0}},computed:{computeLat(){return function(o){return M.LngLatHelper.lat2pretty(o,4).pretty}},computeLng(){return function(o){return M.LngLatHelper.lng2pretty(o,4).pretty}}},watch:{show:{handler(){var o,t,a;this.show?(this.handleRender(),(o=this.map)==null||o.on("click",[this.layer],this.handleClick),(t=this.map)==null||t.on("mousemove",[this.layer],this.handleHover),(a=this.map)==null||a.on("mouseleave",[this.layer],this.handleLeave)):this.handleClear()},immediate:!0},followList:{handler(){var o,t,a;this.followList?(this.handleClear(),this.handleRender(),(o=this.map)==null||o.on("click",[this.layer],this.handleClick),(t=this.map)==null||t.on("mousemove",[this.layer],this.handleHover),(a=this.map)==null||a.on("mouseleave",[this.layer],this.handleLeave)):this.handleClear()}}},methods:{handleRender(){var t,a;const o={features:[],type:"FeatureCollection"};(t=this.followList)==null||t.forEach(r=>{var i;if((i=r.port)!=null&&i.id){const l=r.port,n={type:"Feature",properties:l,geometry:{type:"Point",coordinates:[l.lng,l.lat]}};o.features.push(n)}}),this.map.getSource(this.source)?(a=this.map)==null||a.getSource(this.source).setData(o):(this.map.addSource(this.source,{type:"geojson",data:o}),this.map.addLayer({id:this.layer,type:"symbol",source:this.source,filter:["all",["==","$type","Point"],["!=","disabled",!0]],layout:{"symbol-placement":"point","icon-size":1,"icon-image":"port","icon-offset":[0,-15],"text-anchor":"bottom","text-field":"{name}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[0,1.6]},paint:{"text-color":this.Theme.current.value.colors["on-surface"],"text-halo-width":1}},this.beforeLayer))},handleClear(){var o,t,a;this.showInfo=!1,this.map.getLayer(this.layer)&&this.map.removeLayer(this.layer),this.map.getSource(this.source)&&this.map.removeSource(this.source),(o=this.map)==null||o.on("click",[this.layer],this.handleClick),(t=this.map)==null||t.on("mousemove",[this.layer],this.handleHover),(a=this.map)==null||a.on("mouseleave",[this.layer],this.handleLeave)},handleClick(o){const t=o.features[0];if(t.properties.id){const a=t.properties;a.lng=t.geometry.coordinates[0],a.lat=t.geometry.coordinates[1],a.forecastModel=this.forecastModel,this.$emit("portDetail",a)}},handleHover(o){this.map.getCanvas().style.cursor="pointer";const t=o.features[0];if(t.properties.id){this.showInfo=!0,this.port=t.properties;const r=document.getElementById("idmFollowPortInfo");this.marker?this.marker.setLngLat([o.lngLat.lng,o.lngLat.lat]):this.marker=new me.Marker(r).setLngLat([o.lngLat.lng,o.lngLat.lat]).setOffset([0,-70]).addTo(this.map)}},handleLeave(){this.showInfo=!1,this.map.getCanvas().style.cursor="grab"}}},gr={class:"port-box d-flex flex-column justify-center align-start ga-1"},ur={class:"d-flex justify-start align-center text-label"},fr={class:"d-flex justify-start align-center text-label"};function yr(o,t,a,r,i,l){const n=e.resolveComponent("v-card-text"),s=e.resolveComponent("v-card");return e.withDirectives((e.openBlock(),e.createBlock(s,{id:"idmFollowPortInfo",ref:"idmFollowPortInfo"},{default:e.withCtx(()=>[e.createVNode(n,{class:"text-body-1 pr-8"},{default:e.withCtx(()=>[e.createElementVNode("div",gr,[t[1]||(t[1]=e.createElementVNode("div",null,"port",-1)),e.createElementVNode("div",ur,[e.createElementVNode("span",null,e.toDisplayString(i.port.name??"-"),1)]),e.createElementVNode("div",fr,[t[0]||(t[0]=e.createElementVNode("label",{class:"pr-1"},"LoCode : ",-1)),e.createElementVNode("span",null,e.toDisplayString(i.port.loCode??"-"),1)])])]),_:1})]),_:1},512)),[[e.vShow,i.showInfo]])}const br=B(pr,[["render",yr],["__scopeId","data-v-de5a1fa3"]]),wr={name:"IdmFollowPosition",props:{map:{type:Object},beforeLayer:{type:String},forecastModel:{type:String},show:{type:Boolean},followList:{type:Array,default:()=>[{id:"cm8ntkge601bn23o84p2e4pkf",platId:"gd0mt1d",coordinate:null,vessel:{id:"cm4s8gvu700kp0mqtdfkebp0s",name:"HG BREMEN",imo:9955002,mmsi:636023376,callSign:"5LNK4",ais:{cog:253.2,eta:"2025-09-29T06:00:00Z",hdg:251,imo:"9955002",lat:-26.914428,lng:42.621778,rot:-4,sog:14,utc:"2025-09-15T02:16:17Z",eta1:"2025-09-29T06:00:00Z",mmsi:636023376,factor:{eta:"2025-09-15T02:16:17Z",etd:"2025-09-15T02:16:17Z",lat:-26.914428,lng:42.621778,meteo:{sst:23.299999,url:"https://osshz.idmwx.com/asset/weather/01n.svg",utc:"2025-09-15T02:00:00Z",code:0,name:"Clear",temp:22.65,wave:{wd:{scale:"Moderate",degree:92,height:1.36,period:8,bearing:272,direction:"E",peakPeriod:null},sig:{scale:"Moderate",degree:207,height:2.42,period:16.450001,bearing:27,direction:"SSW"},swell:{scale:"Moderate",degree:211,height:1.62,period:14.2,bearing:31,direction:"SSW",peakPeriod:null}},wind:{kts:13.834078,gusts:16.328255,scale:4,speed:13.834078,degree:109.708076,bearing:289.708076,direction:"ESE"},gusts:{kts:16.328255},height:.22,precip:{sum:0,sum3Hours:0,sum6Hours:0,probability:null},source:"gfs_seamless",current:{kts:2.192751,speed:2.192751,degree:257.19574,bearing:257.19574,direction:"WSW"},visibility:13.0346},speed:15.77,cFactor:2.18,wxFactor:-.41},method:"position",status:0,vendor:"myVessel",deleted:!1,draught:12.3,labelCn:"在航(主机推动)",labelEn:"Underway Using Engine",syncTime:"2025-09-15T02:30:32Z",destination:"ABIDJAN",meteoVendor:"GFS",positionTime:1757902577}},port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-03-25T01:30:54.079Z",remark:null,voyage:{id:"cmcyl9fkz01bj0nnxd9gzc62e",number:"20250711016",status:"Underway",loadCondition:"Laden",companyId:"cltzog33o000nxglt3afwd7b3",vesselId:"cm4s8gvu700kp0mqtdfkebp0s"}},{id:"cm8ntkh1x03qj0nnt6tal6c1u",platId:"gd0mt1d",coordinate:null,vessel:{id:"clyfa7be905to3wqk7xhdg1gp",name:"APRIL",imo:9384916,mmsi:352003739,callSign:"3E5840",ais:{cog:323,eta:"2025-09-22T14:00:00Z",hdg:324,imo:"9384916",lat:11.68535,lng:74.573017,rot:0,sog:10.6,utc:"2025-09-15T02:05:10Z",eta1:"2025-09-22T14:00:00Z",mmsi:352003739,factor:{eta:"2025-09-15T02:05:10Z",etd:"2025-09-15T02:05:10Z",lat:11.68535,lng:74.573017,meteo:{sst:27.950001,url:"https://osshz.idmwx.com/asset/weather/09d.svg",utc:"2025-09-15T02:00:00Z",code:80,name:"Light Showers",temp:26.9,wave:{wd:{scale:"Smooth",degree:305,height:.24,period:2.35,bearing:125,direction:"NW",peakPeriod:null},sig:{scale:"Moderate",degree:232,height:1.26,period:9.65,bearing:52,direction:"SW"},swell:{scale:"Slight",degree:272,height:.88,period:6.45,bearing:92,direction:"W",peakPeriod:null}},wind:{kts:9.052954,gusts:12.829344,scale:3,speed:9.052954,degree:284.931458,bearing:104.93145800000002,direction:"WNW"},gusts:{kts:12.829344},height:.59,precip:{sum:.2,sum3Hours:.2,sum6Hours:.2,probability:25},source:"best_match",current:{kts:.307348,speed:.307348,degree:161.564941,bearing:161.564941,direction:"SSE"},visibility:6.5119},speed:10.08,cFactor:-.29,wxFactor:-.23},method:"position",status:0,vendor:"myVessel",deleted:!1,draught:10.9,labelCn:"在航(主机推动)",labelEn:"Underway Using Engine",syncTime:"2025-09-15T02:13:47Z",destination:"BH AHD",positionTime:1757901910}},port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-03-25T01:30:54.935Z",remark:null},{id:"cm8y716xs02rm0mo1e8lt3tfw",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyi0x601wcwzpi8xx3xlo5",name:"Shanghai",loCode:"CNSHA",abcAlias:null,abcCode:"CN0116",abcLoCode:"CNSHA",city:"Shanghai",cntLoCode:"CN",continent:"ASIA",country:"China",lat:31.25833320617676,lng:121.5433349609375,status:1,timezone:{RawOffset:8,TimezoneId:"Asia/Shanghai",DisplayName:"(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi",UtcCurrentOffset:8},zoneId:"zk3c0bcq"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-04-01T07:45:31.745Z",remark:""},{id:"cmag92m9s00vl0nmc7ksveh0v",platId:"gd0mt1d",coordinate:{lat:34.15792410669758,lng:127.81907847477157},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-05-09T03:42:11.009Z",remark:""},{id:"cmag93pmq00wd0nmc1qgp9qsa",platId:"gd0mt1d",coordinate:{lat:-37.63432796286481,lng:52.32165422235994},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-05-09T03:43:02.019Z",remark:""},{id:"cmd2jse3e0dvb0nnx21ga822x",platId:"gd0mt1d",coordinate:{lat:10,lng:-14},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-07-14T03:32:30.171Z",remark:""},{id:"cmd2jx5ym0e840mpj80n60187",platId:"gd0mt1d",coordinate:{lat:10,lng:-16},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-07-14T03:36:12.911Z",remark:""},{id:"cmfdgil9a01i10lqacxdz27pc",platId:"gd0mt1d",coordinate:{lat:-1.3101652000000001,lng:55.488281},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-10T04:05:46.656Z",remark:null},{id:"cmfdlcx6r01y60lqab6q885ev",platId:"gd0mt1d",coordinate:{lat:.99837475,lng:-104.59375},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-10T06:21:20.262Z",remark:null},{id:"cmfdo9ksp06gl0msh8kanel7s",platId:"gd0mt1d",coordinate:null,vessel:{id:"clcbmc4m3000h6ngq461sabxx",name:"ZHONG DA 88",imo:9957191,mmsi:413294670,callSign:"BOSV9",ais:{cog:160.7,hdg:158,imo:"9957191",lat:22.11045,lng:113.44941,rot:0,sog:10,utc:"2024-03-27T14:00:07Z",mmsi:413294670,method:"position",status:0,vendor:"myship",draught:4.1,syncTime:"2024-03-27T14:00:18Z",positionTime:1711548007}},port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-10T07:42:43.082Z",remark:null},{id:"cmfermo1i02y70mqydv673mgu",platId:"gd0mt1d",coordinate:null,vessel:{id:"clcbmc4ag000c6ngq7p1n1nhv",name:"EKMEN STAR",imo:9218193,mmsi:314525e3,callSign:"8PAX6",ais:{cog:82,eta:"2025-09-22T05:00:00Z",hdg:84,imo:"9218193",lat:36.0301,lng:-4.723353,rot:0,sog:11.9,utc:"2025-09-14T11:28:29Z",eta1:"2025-09-22T05:00:00Z",mmsi:314525e3,factor:{eta:"2025-09-14T11:28:29Z",etd:"2025-09-14T11:28:29Z",lat:36.0301,lng:-4.723353,meteo:{sst:22.15,url:"https://osshz.idmwx.com/asset/weather/01d.svg",utc:"2025-09-14T11:00:00Z",code:0,name:"Sunny",temp:22.65,wave:{wd:{scale:"Smooth",degree:286,height:.28,period:2.35,bearing:106,direction:"WNW",peakPeriod:1},sig:{scale:"Slight",degree:286,height:.58,period:3.85,bearing:106,direction:"WNW"},swell:{scale:"Smooth",degree:285,height:.36,period:3.5,bearing:105,direction:"WNW",peakPeriod:5.2}},wind:{kts:4.587627,gusts:7.77536,scale:2,speed:4.587627,degree:306.38446,bearing:126.38446,direction:"NW"},gusts:{kts:7.77536},height:-.39,precip:{sum:0,sum3Hours:0,sum6Hours:0,probability:0},source:"best_match",current:{kts:.307348,speed:.307348,degree:71.564941,bearing:71.564941,direction:"ENE"},visibility:23.4341},speed:12.13,cFactor:.3,wxFactor:-.07},method:"position",status:0,vendor:"myVessel",deleted:!1,draught:7.4,labelCn:"在航(主机推动)",labelEn:"Underway Using Engine",syncTime:"2025-09-14T11:30:04Z",destination:"ILHFA",positionTime:1757849309}},port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-11T02:04:38.839Z",remark:null},{id:"cmfgjlseq0a080lqk0wd1c0ez",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyg0e80018wzpivgy9ronc",name:"Akrotiri",loCode:"CYAKT",abcAlias:null,abcCode:"CY0001",abcLoCode:"CYAKT",city:"Bucharest",cntLoCode:"CY",continent:"EUROPE",country:"Cyprus",lat:34.57192611694336,lng:33.03478240966797,status:1,timezone:{RawOffset:2,TimezoneId:"Europe/Bucharest",DisplayName:"(UTC+02:00) Athens, Bucharest",UtcCurrentOffset:3},zoneId:"0a3i0buw"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-12T07:55:33.268Z",remark:null},{id:"cmfkf050h09i20mpbbtp20lxv",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhygf8600gewzpii4d8p5ao",name:"Dandong",loCode:"CNDDG",abcAlias:["Dadong"],abcCode:"CN0028",abcLoCode:"CNDDG",city:"Pyongyang",cntLoCode:"CN",continent:"ASIA",country:"China",lat:39.81999969482422,lng:124.1575012207031,status:1,timezone:{RawOffset:9,TimezoneId:"Asia/Pyongyang",DisplayName:"(UTC+09:00) Pyongyang",UtcCurrentOffset:9},zoneId:"zk3c0bcq"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T00:57:49.411Z",remark:null},{id:"cmfkf2lif09ts0lqn1nfmd4ev",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhygu5h00vkwzpi429ib4tx",name:"Kakinada",loCode:"INKAK",abcAlias:null,abcCode:"IN0057",abcLoCode:"INKAK",city:"Kolkata",cntLoCode:"IN",continent:"ASIA",country:"India",lat:16.97333335876465,lng:82.28500366210938,status:1,timezone:{RawOffset:5.5,TimezoneId:"Asia/Kolkata",DisplayName:"(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi",UtcCurrentOffset:5.5},zoneId:"zy3f0b05"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T00:59:44.104Z",remark:null},{id:"cmfkf40mg08qo0mmlbzsic9ou",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyhdn9019qwzpi6dzvqfci",name:"Mormugao",loCode:"INMRM",abcAlias:null,abcCode:"IN0090",abcLoCode:"INMRM",city:"Kolkata",cntLoCode:"IN",continent:"ASIA",country:"India",lat:15.41249942779541,lng:73.80166625976562,status:1,timezone:{RawOffset:5.5,TimezoneId:"Asia/Kolkata",DisplayName:"(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi",UtcCurrentOffset:5.5},zoneId:"zy3f0b05"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T01:00:50.345Z",remark:null},{id:"cmfkf905108xf0mml26eb6uke",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyj9w802z2wzpih82qku6a",name:"Diego Garcia",loCode:"IODGA",abcAlias:null,abcCode:"IO0002",abcLoCode:"IODGA",city:"Almaty",cntLoCode:"IO",continent:"ASIA",country:"British Indian Ocean Territory (the)",lat:-7.288332939147949,lng:72.3949966430664,status:1,timezone:{RawOffset:6,TimezoneId:"Asia/Almaty",DisplayName:"(UTC+06:00) Astana",UtcCurrentOffset:6},zoneId:"zy3f0b05"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T01:04:42.998Z",remark:null},{id:"cmfkffoen0a500mpb83ks9naq",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyhp6u01kiwzpi7pkd9ibw",name:"Port Louis",loCode:"MUPLU",abcAlias:null,abcCode:"MU0004",abcLoCode:"MUPLU",city:"Mauritius",cntLoCode:"MU",continent:"INDIAN",country:"Mauritius",lat:-20.15397071838379,lng:57.4934196472168,status:1,timezone:{RawOffset:4,TimezoneId:"Indian/Mauritius",DisplayName:"(UTC+04:00) Port Louis",UtcCurrentOffset:4},zoneId:"zy3f0b05"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T01:09:54.385Z",remark:null},{id:"cmfkfsabx09lx0mmldli44j5v",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyhwtq01ruwzpicgc3otck",name:"Saipan",loCode:"MPSPN",abcAlias:null,abcCode:"MP0009",abcLoCode:"MPSPN",city:"Port_Moresby",cntLoCode:"MP",continent:"PACIFIC",country:"Northern Mariana Islands (the)",lat:15.28999996185303,lng:145.7050018310547,status:1,timezone:{RawOffset:10,TimezoneId:"Pacific/Port_Moresby",DisplayName:"(UTC+10:00) Guam, Port Moresby",UtcCurrentOffset:10},zoneId:"0r3n0b5e"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T01:19:42.671Z",remark:null}]},realTime:{type:String}},emits:["portDetail"],setup(){return{Theme:ie.useTheme()}},data(){return{source:"follow-coordinate-source",layer:"follow-coordinate-layer",coordinate:{}}},computed:{computeLat(){return function(o){return M.LngLatHelper.lat2pretty(o,4).pretty}},computeLng(){return function(o){return M.LngLatHelper.lng2pretty(o,4).pretty}}},watch:{show:{handler(){var o,t,a;this.show?(this.handleRender(),(o=this.map)==null||o.on("click",[this.layer],this.handleClick),(t=this.map)==null||t.on("mousemove",[this.layer],this.handleHover),(a=this.map)==null||a.on("mouseleave",[this.layer],this.handleLeave)):this.handleClear()},immediate:!0},followList:{handler(){var o,t,a;this.followList?(this.handleClear(),this.handleRender(),(o=this.map)==null||o.on("click",[this.layer],this.handleClick),(t=this.map)==null||t.on("mousemove",[this.layer],this.handleHover),(a=this.map)==null||a.on("mouseleave",[this.layer],this.handleLeave)):this.handleClear()}}},methods:{handleRender(){var t,a;const o={features:[],type:"FeatureCollection"};(t=this.followList)==null||t.forEach(r=>{if(r.coordinate){const i=r.coordinate,l={type:"Feature",properties:i,geometry:{type:"Point",coordinates:[i.lng,i.lat]}};o.features.push(l)}}),this.map.getSource(this.source)?(a=this.map)==null||a.getSource(this.source).setData(o):(this.map.addSource(this.source,{type:"geojson",data:o}),this.map.addLayer({id:this.layer,type:"symbol",source:this.source,filter:["all",["==","$type","Point"],["!=","disabled",!0]],layout:{"symbol-placement":"point","icon-size":1,"icon-image":"location","icon-offset":[0,-15]},paint:{"text-color":this.Theme.current.value.colors["on-surface"],"text-halo-width":1}},this.beforeLayer))},handleClear(){var o,t,a;this.map.getLayer(this.layer)&&this.map.removeLayer(this.layer),this.map.getSource(this.source)&&this.map.removeSource(this.source),(o=this.map)==null||o.on("click",[this.layer],this.handleClick),(t=this.map)==null||t.on("mousemove",[this.layer],this.handleHover),(a=this.map)==null||a.on("mouseleave",[this.layer],this.handleLeave)},handleClick(o){var a,r,i,l,n,s,c,p,h;const t=o.features[0];if(t.properties){const d=t.properties,g=L(),b=(a=L(this.realTime))==null?void 0:a.diff(g,"d",!0),f={lat:d.lat,lng:d.lng,datetime:this.realTime,forecastModel:this.forecastModel};b>=0?(n=(l=(i=(r=this.$parent)==null?void 0:r.$parent)==null?void 0:i.$refs)==null?void 0:l.idmSpot)==null||n.fetchMeteoData(f):(h=(p=(c=(s=this.$parent)==null?void 0:s.$parent)==null?void 0:c.$refs)==null?void 0:p.idmSpot)==null||h.fetchHistoryData(f)}},handleHover(){this.map.getCanvas().style.cursor="pointer"},handleLeave(){this.map.getCanvas().style.cursor="grab"}}};function xr(o,t,a,r,i,l){return null}const kr=B(wr,[["render",xr]]),Zs="",_r={name:"IdmOtherLayerr",components:{IdmWarZone:Oa,IdmGmdssArea:Ha,IdmEcaZone:Ga,IdmAlertZone:Xa,IdmPort:ti,IdmLoadLine:ii,IdmTimezone:ni,IdmVRA:mi,IdmSpecialArea:pi,IdmTerminator:fi,IdmWorld12nm:wi,IdmWorldMarine:_i,IdmChinaRoute:Li,IdmTideStations:nr,IdmIceAreas:mr,IdmLatLng:Wt,IdmFollowPort:br,IdmFollowPosition:kr},props:{map:{type:Object},theme:{type:String},token:{type:String},isLogin:{type:Boolean,default:!1},defaultMeteoToken:{type:String},gateway:{type:String},assistGateway:{type:Array,default:[]},top:{type:Number,default:60},menuToggle:{type:Object,default:{}},ts:{type:String},forecastModel:{type:String},realTime:{type:String}},emits:["map","other","menuToggle","mapFeather","theme","followLayerList","otherCheckList"],data(){return{right:10,toggle:!1,mapFeather:localStorage.getItem("mapFeathersCacheGL4")||"light",tagLayers:[...Me.LayerHelper.OTHER_LAYERS.filter(o=>o.enabled)],layerWeight:0,otherLayers:{},activeOtherLayers:[],cache:{v:"0.0.2",versionKey:"otherLayerCacheVersionGL4",checkListKey:"otherChecklistCacheGL4",followListKey:"otherFollowListCacheGL4",mapFeatherKey:"mapFeathersCacheGL4"},mapFeathers:[{name:"Light Map",value:"light",locale:"lightMap"},{name:"Dark Map",value:"dark",locale:"darkMap"},{name:"Satelite Map",value:"satellite",locale:"satelliteMap"},{name:"Nautical Map",value:"nautical",locale:"nauticalMap"}],checkList:[]}},computed:{computeLayerClass(){return function(o,t){let a="layer flex-between";return t.some(r=>r.key===o.key)&&(a=a+" active"),a}}},watch:{isLogin:{handler(){this.isLogin&&this.fetchOtherLayers()},immediate:!0},"menuToggle.v":{handler(){this.toggle=this.menuToggle.otherLayers,this.$nextTick(()=>{var o;this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10})},immediate:!0},theme:{handler(){this.theme==="light"?this.mapFeather=["light","nautical"].includes(this.mapFeather)?this.mapFeather:"light":this.mapFeather=["dark","satellite"].includes(this.mapFeather)?this.mapFeather:"dark"},immediate:!0},mapFeather:{handler(){localStorage.setItem(this.cache.mapFeatherKey,this.mapFeather),this.$emit("mapFeather",this.mapFeather),this.$emit("theme",["light","nautical"].includes(this.mapFeather)?"light":"dark")},immediate:!0},checkList:{handler(o,t){localStorage.setItem(this.cache.checkListKey,JSON.stringify(this.checkList)),this.activeOtherLayers=this.tagLayers.filter(l=>this.checkList.includes(l.key))||[];const a=o==null?void 0:o.filter(l=>!(t!=null&&t.includes(l))),r=t==null?void 0:t.filter(l=>!(o!=null&&o.includes(l))),i=o==null?void 0:o.filter(l=>t==null?void 0:t.includes(l));if((r==null?void 0:r.length)>0&&r.forEach(l=>{this.otherLayers[l]=void 0,delete this.otherLayers[l]}),(a==null?void 0:a.length)>0){const l=this.tagLayers.filter(n=>this.checkList.includes(n.key)&&!i.includes(n.key))||[];this.handleLayersChange(l)}this.$emit("otherCheckList",this.checkList)}}},async mounted(){this.fetchCache()},methods:{fetchCache(){const o=localStorage.getItem(this.cache.versionKey);this.cache.v!==o&&(localStorage.removeItem(this.cache.checkListKey),localStorage.removeItem(this.cache.followListKey),localStorage.removeItem(this.cache.mapFeatherKey),localStorage.setItem(this.cache.versionKey,this.cache.v));let t=localStorage.getItem(this.cache.checkListKey);this.checkList=JSON.parse(t||'["eca-zones"]'),localStorage.setItem(this.cache.checkListKey,JSON.stringify(this.checkList)),t=localStorage.getItem(this.cache.mapFeatherKey);const a=t||"light";this.$emit("mapFeather",a),localStorage.setItem(this.cache.mapFeatherKey,a)},handleMenuToggle(){this.$emit("menuToggle","otherLayers")},handleToggleMapFeather(o){this.$emit("map",void 0),this.mapFeather=o.value},async fetchOtherLayers(o={all:!1,dayNight:!1}){var a,r,i,l;let t=this.layerWeight;if(t){if(o.all){const n=this.assistGateway[Math.round(Math.random()*(this.assistGateway.length-1))],s=await K.get(`${n}/api/arc/other/layers/links?l=${t}&t=${this.realTime}`,{headers:{Authorization:this.token||this.defaultMeteoToken}});if(((a=s==null?void 0:s.data)==null?void 0:a.code)===0){const c=(r=s==null?void 0:s.data)==null?void 0:r.data,p=[];for(const d in c)p.push(K.get(c[d],{headers:{Authorization:this.token||this.defaultMeteoToken,key:d}}));(await Promise.all(p)).map(d=>{var f,v,u;const g=((f=d==null?void 0:d.data)==null?void 0:f.data)||(d==null?void 0:d.data),b=(u=(v=d==null?void 0:d.config)==null?void 0:v.headers)==null?void 0:u.key;this.otherLayers[b]=g})}}else if(o.dayNight&&t&1024){const n=this.assistGateway[Math.round(Math.random()*(this.assistGateway.length-1))],s=await K.get(`${n}/api/arc/other/layers/links?l=1024&t=${this.realTime}`,{headers:{Authorization:this.token||this.defaultMeteoToken}});if(((i=s==null?void 0:s.data)==null?void 0:i.code)===0){const c=(l=s==null?void 0:s.data)==null?void 0:l.data,p=[];for(const d in c)p.push(K.get(c[d],{headers:{Authorization:this.token||this.defaultMeteoToken,key:d}}));(await Promise.all(p)).map(d=>{var f,v,u;const g=((f=d==null?void 0:d.data)==null?void 0:f.data)||(d==null?void 0:d.data),b=(u=(v=d==null?void 0:d.config)==null?void 0:v.headers)==null?void 0:u.key;this.otherLayers[b]=g})}}}},handleLayersChange(o){const t=o==null?void 0:o.reduce((a,r)=>a+(r==null?void 0:r.weight),0);this.layerWeight=t,this.fetchOtherLayers({all:!0})}}},vr={class:"idm-gl4-other-layer"},zr={class:"header-box d-flex justify-space-between align-center px-4"},Lr={class:"text-h5 font-weight-medium"},Cr={class:"list-box scroll pl-4 pr-2 overflow-y-auto"},Pr={class:"layers-body mt-4 d-flex justify-start align-center flex-wrap"},Sr=["onClick"],Tr={key:0,src:"https://osshz.idmwx.com/asset/dark-map.png",class:"border rounded-sm"},Nr={key:1,src:"https://osshz.idmwx.com/asset/nautical-map.png",class:"border rounded-sm"},Mr={key:2,src:"https://osshz.idmwx.com/asset/satellite-map.png",class:"border rounded-sm"},Ir={key:3,src:"https://osshz.idmwx.com/asset/light-map.png",class:"border rounded-sm"},Er={class:"text-body-2 text-center pt-1"};function Dr(o,t,a,r,i,l){var H,J,re,le,ee,F,Y,ne,te;const n=e.resolveComponent("VBtn"),s=e.resolveComponent("VTooltip"),c=e.resolveComponent("VCardTitle"),p=e.resolveComponent("VCardItem"),h=e.resolveComponent("VCheckbox"),d=e.resolveComponent("VCardText"),g=e.resolveComponent("VCard"),b=e.resolveComponent("IdmLatLng"),f=e.resolveComponent("IdmTerminator"),v=e.resolveComponent("IdmTimezone"),u=e.resolveComponent("IdmPort"),C=e.resolveComponent("IdmAlertZone"),z=e.resolveComponent("IdmTideStations"),k=e.resolveComponent("IdmEcaZone"),w=e.resolveComponent("IdmWarZone"),x=e.resolveComponent("IdmGmdssArea"),_=e.resolveComponent("IdmLoadLine"),y=e.resolveComponent("IdmWorldMarine"),P=e.resolveComponent("IdmVRA"),R=e.resolveComponent("IdmSpecialArea"),O=e.resolveComponent("IdmWorld12nm"),j=e.resolveComponent("IdmChinaRoute"),V=e.resolveComponent("IdmIceAreas"),Z=e.resolveComponent("IdmFollowPort"),q=e.resolveComponent("IdmFollowPosition");return e.openBlock(),e.createElementBlock("div",vr,[e.createElementVNode("div",{class:"menu-bar-box transition px-1 rounded",style:e.normalizeStyle({top:a.top+10+"px",right:i.right+"px"})},[e.createVNode(s,{text:o.$t("layer.mapLayers"),location:"left"},{activator:e.withCtx(({props:I})=>[e.createVNode(n,e.mergeProps(I,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:e.withCtx(()=>t[5]||(t[5]=[e.createElementVNode("i",{class:"iconfont icon-Layer text-h4"},null,-1)])),_:2,__:[5]},1040,["class","onClick"])]),_:1},8,["text"])],4),e.createElementVNode("div",{class:e.normalizeClass(["available-layers transition",i.toggle?"right-bar":""]),style:e.normalizeStyle({top:a.top+"px",right:i.toggle?"0px":"-280px"})},[e.createElementVNode("div",zr,[e.createElementVNode("div",Lr,e.toDisplayString(o.$t("layer.layers")),1),e.createVNode(n,{icon:"",density:"compact",variant:"plain",class:"mr-n2",onClick:l.handleMenuToggle},{default:e.withCtx(()=>t[6]||(t[6]=[e.createElementVNode("i",{class:"iconfont icon-close opacity-70 text-h4"},null,-1)])),_:1,__:[6]},8,["onClick"])]),e.createElementVNode("div",Cr,[e.createVNode(g,{class:"menu-card mx-auto mb-3",elevation:"0"},{default:e.withCtx(()=>[e.createVNode(p,{class:"border-b-thin"},{default:e.withCtx(()=>[e.createVNode(c,{class:"text-subtitle-1 font-weight-medium",style:{"font-size":"16px !important"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("layer.mapFeathers")),1)]),_:1})]),_:1}),e.createVNode(d,{class:"pb-2"},{default:e.withCtx(()=>[e.createElementVNode("div",Pr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.mapFeathers,I=>(e.openBlock(),e.createElementBlock("div",{key:I.value,class:"mb-2 feather-item",onClick:oe=>l.handleToggleMapFeather(I)},[e.createElementVNode("div",{class:e.normalizeClass([i.mapFeather===I.value?"active":"","img-box"])},[I.value==="dark"?(e.openBlock(),e.createElementBlock("img",Tr)):I.value==="nautical"?(e.openBlock(),e.createElementBlock("img",Nr)):I.value==="satellite"?(e.openBlock(),e.createElementBlock("img",Mr)):(e.openBlock(),e.createElementBlock("img",Ir))],2),e.createElementVNode("div",Er,e.toDisplayString(o.$t(`layer.${I.locale}`)),1)],8,Sr))),128))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.tagLayers.filter(I=>["graticule","day-night","time-zones"].includes(I.key)),I=>(e.openBlock(),e.createBlock(h,{key:I.key,modelValue:i.checkList,"onUpdate:modelValue":t[0]||(t[0]=oe=>i.checkList=oe),value:I.key,label:o.$t(`layer.${I.locale}`),color:"primary",density:"compact",style:{height:"36px"},class:"flex-1-0-100 text-body-2","hide-details":""},null,8,["modelValue","value","label"]))),128))]),_:1})]),_:1}),e.createVNode(g,{class:"menu-card mx-auto mb-3",elevation:"0"},{default:e.withCtx(()=>[e.createVNode(p,{class:"border-b-thin"},{default:e.withCtx(()=>[e.createVNode(c,{class:"text-subtitle-1 font-weight-medium",style:{"font-size":"16px !important"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("layer.pointsOfInteresting")),1)]),_:1})]),_:1}),e.createVNode(d,{class:"py-2"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.tagLayers.filter(I=>["ports","alert-zones","tidal-stations"].includes(I.key)),I=>(e.openBlock(),e.createBlock(h,{key:I.key,modelValue:i.checkList,"onUpdate:modelValue":t[1]||(t[1]=oe=>i.checkList=oe),value:I.key,label:o.$t(`layer.${I.locale}`),color:"primary",density:"compact",style:{height:"36px"},class:"flex-1-0-100 text-body-2","hide-details":""},null,8,["modelValue","value","label"]))),128))]),_:1})]),_:1}),e.createVNode(g,{class:"menu-card mx-auto mb-3",elevation:"0"},{default:e.withCtx(()=>[e.createVNode(p,{class:"border-b-thin"},{default:e.withCtx(()=>[e.createVNode(c,{class:"text-subtitle-1 font-weight-medium",style:{"font-size":"16px !important"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("layer.otherLayers")),1)]),_:1})]),_:1}),e.createVNode(d,{class:"py-2"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.tagLayers.filter(I=>!["graticule","day-night","time-zones","ports","alert-zones","tidal-stations"].includes(I.key)),I=>(e.openBlock(),e.createBlock(h,{key:I.key,modelValue:i.checkList,"onUpdate:modelValue":t[2]||(t[2]=oe=>i.checkList=oe),value:I.key,label:o.$t(`layer.${I.locale}`),color:"primary",density:"compact",style:{height:"36px"},class:"flex-1-0-100 text-body-2","hide-details":""},null,8,["modelValue","value","label"]))),128))]),_:1})]),_:1}),e.createVNode(g,{class:"menu-card mx-auto mb-3",elevation:"0"},{default:e.withCtx(()=>[e.createVNode(p,{class:"border-b-thin"},{default:e.withCtx(()=>[e.createVNode(c,{class:"text-subtitle-1 font-weight-medium",style:{"font-size":"16px !important"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("layer.myFollows")),1)]),_:1})]),_:1}),e.createVNode(d,{class:"py-2"},{default:e.withCtx(()=>[e.createVNode(h,{modelValue:i.checkList,"onUpdate:modelValue":t[3]||(t[3]=I=>i.checkList=I),value:"follow-ports",label:o.$t("layer.ports"),color:"primary",density:"compact",style:{height:"36px"},class:"flex-1-0-100 text-body-2","hide-details":""},null,8,["modelValue","label"]),e.createVNode(h,{modelValue:i.checkList,"onUpdate:modelValue":t[4]||(t[4]=I=>i.checkList=I),value:"follow-positions",label:o.$t("layer.locations"),color:"primary",density:"compact",style:{height:"36px"},class:"flex-1-0-100 text-body-2","hide-details":""},null,8,["modelValue","label"])]),_:1})]),_:1})])],6),a.map?(e.openBlock(),e.createBlock(b,e.mergeProps({key:0,map:a.map,"menu-toggle":a.menuToggle,show:i.checkList.includes("graticule")},o.$attrs),null,16,["map","menu-toggle","show"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(f,e.mergeProps({key:1,map:a.map,area:(H=i.otherLayers)==null?void 0:H["day-night"]},o.$attrs),null,16,["map","area"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(v,e.mergeProps({key:2,map:a.map,zone:(J=i.otherLayers)==null?void 0:J["time-zones"]},o.$attrs),null,16,["map","zone"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(u,e.mergeProps({key:3,map:a.map,ports:(re=i.otherLayers)==null?void 0:re.ports,"forecast-model":a.forecastModel},o.$attrs,{"before-layer":"empty-layer-3"}),null,16,["map","ports","forecast-model"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(C,e.mergeProps({key:4,map:a.map,zone:(le=i.otherLayers)==null?void 0:le["alert-zones"]},o.$attrs,{"before-layer":"empty-layer-3",theme:a.theme}),null,16,["map","zone","theme"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(z,e.mergeProps({key:5,ref:"idmIideStation",map:a.map,gateway:a.gateway,token:a.token,show:i.checkList.includes("tidal-stations"),theme:a.theme,realTime:a.realTime,forecastModel:a.forecastModel},o.$attrs),null,16,["map","gateway","token","show","theme","realTime","forecastModel"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(k,e.mergeProps({key:6,map:a.map,zone:(ee=i.otherLayers)==null?void 0:ee["eca-zones"]},o.$attrs),null,16,["map","zone"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(w,e.mergeProps({key:7,map:a.map,zone:(F=i.otherLayers)==null?void 0:F["war-zones"]},o.$attrs),null,16,["map","zone"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(x,e.mergeProps({key:8,map:a.map,area:(Y=i.otherLayers)==null?void 0:Y["gmdss-areas"]},o.$attrs),null,16,["map","area"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(_,e.mergeProps({key:9,map:a.map,show:i.checkList.includes("load-lines")},o.$attrs),null,16,["map","show"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(y,e.mergeProps({key:10,map:a.map,token:a.token,show:i.checkList.includes("worldMarine")},o.$attrs),null,16,["map","token","show"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(P,e.mergeProps({key:11,map:a.map,area:(ne=i.otherLayers)==null?void 0:ne["voluntary-reporting-area"]},o.$attrs),null,16,["map","area"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(R,e.mergeProps({key:12,map:a.map,area:(te=i.otherLayers)==null?void 0:te["special-area"]},o.$attrs),null,16,["map","area"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(O,e.mergeProps({key:13,map:a.map,token:a.token,show:i.checkList.includes("world12nm")},o.$attrs),null,16,["map","token","show"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(j,e.mergeProps({key:14,map:a.map,token:a.token,show:i.checkList.includes("chinaRoute")},o.$attrs),null,16,["map","token","show"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(V,e.mergeProps({key:15,map:a.map,show:i.checkList.includes("ice-areas")},o.$attrs),null,16,["map","show"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(Z,e.mergeProps({key:16,map:a.map,show:i.checkList.includes("follow-ports"),"forecast-model":a.forecastModel},o.$attrs,{"before-layer":"empty-layer-3"}),null,16,["map","show","forecast-model"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(q,e.mergeProps({key:17,map:a.map,show:i.checkList.includes("follow-positions"),"forecast-model":a.forecastModel,realTime:a.realTime},o.$attrs),null,16,["map","show","forecast-model","realTime"])):e.createCommentVNode("",!0)])}const Ar=B(_r,[["render",Dr]]);class Ft{constructor(t){$(this,"map");$(this,"mercator");$(this,"rampColorLayer");$(this,"rampColorSource");$(this,"particleLayer");$(this,"particleSource");$(this,"rampColorCanvas");$(this,"particleCanvas");$(this,"ratio");this.map=t,this.mercator=new Aa,this.rampColorLayer="ramp-color-layer",this.rampColorSource="ramp-color-source",this.particleLayer="particle-layer",this.particleSource="particle-source",this.rampColorCanvas=document.createElement("canvas"),this.particleCanvas=document.createElement("canvas"),this.ratio=window.devicePixelRatio}convertNLng(t,a=0){return t>180?this.convertNLng(t-360,a+1):t<-180?this.convertNLng(t+360,a+1):[t,a]}getBoundLngLat(){var a;const t=(a=this.map)==null?void 0:a.getBounds();return t?[[t._sw.lng,t._ne.lat],[t._ne.lng,t._ne.lat],[t._ne.lng,t._sw.lat],[t._sw.lng,t._sw.lat]]:[]}getBoundPixel(){var f,v;const t=(f=this.map)==null?void 0:f.getBounds();if(!t)return[];const a=((v=this.map)==null?void 0:v.getZoom())+1,r=[t._ne.lng,t._ne.lat],i=[t._sw.lng,t._sw.lat],[l,n]=this.convertNLng(r[0]),[s,c]=this.convertNLng(i[0]),[p,h]=this.mercator.px([l,r[1]],a),[d,g]=this.mercator.px([s,i[1]],a),b=Math.round(this.mercator.size*Math.pow(2,a)*(n+c));return[d,g,p+b,h]}getBoundRange(){const t=this.map.getZoom()+1,a=this.mercator.size*Math.pow(2,t),r=this.getBoundPixel();return[r[0]/a,r[2]/a,r[3]/a,r[1]/a]}getWorldCopy(t,a){const r=2**a,[i,l,n,s]=t.map(h=>~~(h/(r*256))),c=[];for(let h=s;h<=l;h++)for(let d=i;d<=n;d++)c.push([d,h]);return c.map(h=>{const d=2**a*256;return[h[0]*d,h[1]*d,d]})}resize(){let t=this.map.getSource(this.rampColorSource);t.setCoordinates(this.getBoundLngLat()),t=this.map.getSource(this.particleSource),t.setCoordinates(this.getBoundLngLat()),this.rampColorCanvas.width=this.map._canvas.clientWidth,this.rampColorCanvas.height=this.map._canvas.clientHeight,this.particleCanvas.width=this.map._canvas.clientWidth,this.particleCanvas.height=this.map._canvas.clientHeight}toggle(t){var i;const a=(i=this.map)==null?void 0:i.getLayoutProperty(this.rampColorLayer,"visibility"),r=t?"visible":"none";a!==r&&this.map.setLayoutProperty(this.rampColorLayer,"visibility",r)}toggleParticle(t){var i;const a=(i=this.map)==null?void 0:i.getLayoutProperty(this.particleLayer,"visibility"),r=t?"visible":"none";a!==r&&this.map.setLayoutProperty(this.particleLayer,"visibility",r)}}class be{createShader(t,a,r){const i=t.createShader(a);if(i&&(t.shaderSource(i,r),t.compileShader(i),!t.getShaderParameter(i,t.COMPILE_STATUS)))throw new Error(t.getShaderInfoLog(i)||"error happened while create shader...");return i}createTexture(t,a,r,i,l,n,s){const c=t.createTexture();return t.bindTexture(t.TEXTURE_2D,c),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,a),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,i),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,i),l instanceof Uint8Array?t.texImage2D(t.TEXTURE_2D,0,t.RGBA,n,s,0,t.RGBA,t.UNSIGNED_BYTE,l):t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,l),t.bindTexture(t.TEXTURE_2D,null),c}createDataBuffer(t,a,r){if(t){const i=t.createBuffer();return a==="array"?(t.bindBuffer(t.ARRAY_BUFFER,i),r&&t.bufferData(t.ARRAY_BUFFER,r,t.STATIC_DRAW)):a==="element"&&(t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,i),r&&t.bufferData(t.ELEMENT_ARRAY_BUFFER,r,t.STATIC_DRAW)),i}return null}createProgram(t,a,r){const i=t.createProgram(),l=this.createShader(t,t.VERTEX_SHADER,a),n=this.createShader(t,t.FRAGMENT_SHADER,r);if(i&&l&&n&&(t.attachShader(i,l),t.attachShader(i,n),t.linkProgram(i),!t.getProgramParameter(i,t.LINK_STATUS)))throw new Error(t.getProgramInfoLog(i)||"error happened while creating ramp color program");return i}createProgramWrapper(t,a,r){const i=this.createProgram(t,a,r);if(i){const l={program:i},n=t.getProgramParameter(i,t.ACTIVE_ATTRIBUTES);for(let c=0;c<n;c++){const p=t.getActiveAttrib(i,c);l[p.name]=t.getAttribLocation(i,p.name)}const s=t.getProgramParameter(i,t.ACTIVE_UNIFORMS);for(let c=0;c<s;c++){const p=t.getActiveUniform(i,c);l[p.name]=t.getUniformLocation(i,p.name)}return l}}setup(t,a,r=!1,i,l){const n=document.createElement("canvas");n.width=256,n.height=1;const s=n.getContext("2d");if(s&&t){const c=s==null?void 0:s.createLinearGradient(0,0,256,0);return a.forEach(([p,h])=>{c.addColorStop(p,h)}),s.fillStyle=c,s.fillRect(0,0,256,1),{canvas:n,texture:this.createTexture(t,t.LINEAR,t.LINEAR,t.CLAMP_TO_EDGE,r?new Uint8Array(s.getImageData(0,0,256,1).data):n,i,l)}}}setupParticle(t,a=1e3){const r=Math.ceil(Math.sqrt(a)),i=r*r,l=new Uint8Array(i*4);for(let h=0;h<l.length;h++)l[h]=Math.floor(Math.random()*256);const n=this.createTexture(t,t.NEAREST,t.NEAREST,t.CLAMP_TO_EDGE,l,r,r),s=this.createTexture(t,t.NEAREST,t.NEAREST,t.CLAMP_TO_EDGE,l,r,r),c=new Float32Array(i);for(let h=0;h<i;h++)c[h]=h;const p=this.createDataBuffer(t,"array",c);return{resolution:r,total:i,texture0:n,texture1:s,indexBuffer:p}}bind(t,a,r){const i=this.createProgram(t,a,r);if(i){const l=this.createDataBuffer(t,"array",void 0),n=t.getAttribLocation(i,"a_position");t.enableVertexAttribArray(n),t.vertexAttribPointer(n,2,t.FLOAT,!1,0,0);const s=new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1]);this.createDataBuffer(t,"array",s);const c=t.getAttribLocation(i,"a_texCoord");return t.enableVertexAttribArray(c),t.vertexAttribPointer(c,2,t.FLOAT,!1,0,0),{program:i,aPositionBuffer:l}}return{}}bindParticle(t,a,r,i,l,n){const s=this.createProgramWrapper(t,a,r),c=this.createProgramWrapper(t,i,l),p=this.createProgramWrapper(t,i,n),h=this.createDataBuffer(t,"array",new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1])),d=t.createFramebuffer();return{particle:s,screen:c,update:p,quadBuffer:h,frameBuffer:d}}draw(t,a,r,i,l,n,s){var c,p;if(a&&r){t.resize(),a==null||a.viewport(0,0,(c=a==null?void 0:a.canvas)==null?void 0:c.width,(p=a==null?void 0:a.canvas)==null?void 0:p.height),a.clearColor(0,0,0,0),a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT);try{a.useProgram(r);const h={resolution:a.getUniformLocation(r,"u_resolution"),image:a.getUniformLocation(r,"u_image"),color:a.getUniformLocation(r,"u_color"),scale:a.getUniformLocation(r,"u_scale"),uvRange:a.getUniformLocation(r,"u_range_u_v"),sRange:a.getUniformLocation(r,"u_range_s")};h.resolution&&a.uniform2f(h.resolution,a.canvas.width*t.ratio,a.canvas.height*t.ratio),a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,i),h.image&&a.uniform1i(h.image,0),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,l),h.color&&a.uniform1i(h.color,1),s!=null&&s.uvRange&&(s!=null&&s.sRange)&&(h.uvRange&&a.uniform2f(h.uvRange,s.uvRange[0],s.uvRange[1]),h.sRange&&a.uniform2f(h.sRange,s.sRange[0],s.sRange[1])),h.scale&&a.uniform1f(h.scale,(s==null?void 0:s.scale)||1);const d=t.getBoundPixel(),g=t.map.getZoom()+1,b=t.getWorldCopy(d,g);for(const f of b){const v=(f[0]-d[0])*t.ratio,u=(f[1]-d[3])*t.ratio,C=f[2]*t.ratio,[z,k,w,x]=[v,C+v,u,C+u],_=new Float32Array([z,w,k,w,z,x,z,x,k,w,k,x]);a.bindBuffer(a.ARRAY_BUFFER,n),a.bufferData(a.ARRAY_BUFFER,_,a.STATIC_DRAW),a.drawArrays(a.TRIANGLES,0,6)}}catch(h){console.log(`render failed...${h}`)}}}drawParticle(t,a,r,i,l){var n,s;a&&(a==null||a.viewport(0,0,(n=a==null?void 0:a.canvas)==null?void 0:n.width,(s=a==null?void 0:a.canvas)==null?void 0:s.height),a.disable(a.DEPTH_TEST),a.disable(a.STENCIL_TEST),a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,r),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,i.texture0),this.renderScreen(t,a,i,l),this.updateParticles(t,a,i,l))}renderScreen(t,a,r,i){a.bindFramebuffer(a.FRAMEBUFFER,r.frameBuffer),a.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,a.TEXTURE_2D,r.screenTexture,0),a.viewport(0,0,a.canvas.width,a.canvas.height),this.renderScreenTexture(a,r.backgroundTexture,r.screen,r.quadBuffer,.95),this.renderParticles(t,a,r,i),a.bindFramebuffer(a.FRAMEBUFFER,null),this.renderScreenTexture(a,r.screenTexture,r.screen,r.quadBuffer,1);const l=r.backgroundTexture;r.backgroundTexture=r.screenTexture,r.screenTexture=l}renderScreenTexture(t,a,r,i,l){t&&(t.useProgram(r.program),t.bindBuffer(t.ARRAY_BUFFER,i),t.enableVertexAttribArray(r.a_pos),t.vertexAttribPointer(r.a_pos,2,t.FLOAT,!1,0,0),t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,a),t.uniform1i(r.u_screen,2),t.uniform1f(r.u_opacity,l),t.drawArrays(t.TRIANGLES,0,6))}renderParticles(t,a,r,i){if(a){a.useProgram(r.particle.program),a.bindBuffer(a.ARRAY_BUFFER,r.indexBuffer),a.enableVertexAttribArray(r.particle.a_index),a.vertexAttribPointer(r.particle.a_index,1,a.FLOAT,!1,0,0),a.activeTexture(a.TEXTURE2),a.bindTexture(a.TEXTURE_2D,r.color.texture),a.uniform1i(r.particle.u_factor,0),a.uniform1i(r.particle.u_particles,1),a.uniform1i(r.particle.u_color_ramp,2),a.uniform1f(r.particle.u_particles_resolution,r.resolution*t.ratio),a.uniform1f(r.particle.u_point,t.ratio);const l=t.getBoundRange();a.uniform4f(r.particle.u_viewport,l[0],l[1],l[2],l[3]),a.uniform2f(r.particle.u_factor_min,i.uvRange[0],i.uvRange[0]),a.uniform2f(r.particle.u_factor_max,i.uvRange[1],i.uvRange[1]),a.drawArrays(a.POINTS,0,r.total)}}updateParticles(t,a,r,i){var n,s;if(a){a.bindFramebuffer(a.FRAMEBUFFER,r.frameBuffer),a.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,a.TEXTURE_2D,r.texture1,0),a.viewport(0,0,r.resolution,r.resolution),a.useProgram(r.update.program),a.bindBuffer(a.ARRAY_BUFFER,r.quadBuffer),a.enableVertexAttribArray(r.update.a_pos),a.vertexAttribPointer(r.update.a_pos,2,a.FLOAT,!1,0,0),a.uniform1i(r.update.u_factor,0),a.uniform1i(r.update.u_particles,1);const c=t.getBoundRange();a.uniform4f(r.update.u_viewport,c[0],c[1],c[2],c[3]),a.uniform1f(r.update.u_rand_seed,Math.random()),a.uniform2f(r.update.u_factor_res,(n=r==null?void 0:r.image)==null?void 0:n.width,(s=r==null?void 0:r.image)==null?void 0:s.height),a.uniform2f(r.update.u_factor_min,i.uvRange[0],i.uvRange[0]),a.uniform2f(r.update.u_factor_max,i.uvRange[1],i.uvRange[1]),a.uniform1f(r.update.u_speed_factor,i.speedFactor*t.ratio),a.uniform1f(r.update.u_drop_rate,i.dropRate),a.uniform1f(r.update.u_drop_rate_bump,i.dropRateBump),a.drawArrays(a.TRIANGLES,0,6)}const l=r.texture0;r.texture0=r.texture1,r.texture1=l}resize(t,a){t.resize();const r=new Uint8Array(a.canvas.width*a.canvas.height*4).fill(0,0,a.canvas.width*a.canvas.height*4),i=this.createTexture(a,a.NEAREST,a.NEAREST,a.CLAMP_TO_EDGE,r,a.canvas.width,a.canvas.height),l=this.createTexture(a,a.NEAREST,a.NEAREST,a.CLAMP_TO_EDGE,r,a.canvas.width,a.canvas.height);return{screenTexture:i,backgroundTexture:l}}async loadImg(t){return new Promise(a=>{const r=new Blob([t],{type:t.type}),i=URL.createObjectURL(r),l=new Image;l.crossOrigin="anonymous",l.src=i,l.onload=()=>a(l)})}}class Q{}$(Q,"vertexSchema",`
|
|
5
|
+
</div>`)}),r}},legend:{show:!0,right:20,top:0,itemWidth:30,data:["Height"],selected:{Speed:!0,Draught:!1},textStyle:{color:this.Theme.current.value.colors["on-surface"]}},grid:{top:30,left:30,right:20,bottom:30,containLabel:!1},xAxis:[{type:"category",data:this.xDate,boundaryGap:!0,axisTick:{alignWithLabel:!0},axisLabel:{interval:"auto",margin:15,textStyle:{fontSize:11}}}],yAxis:[{name:"(m)",show:!0,nameLocation:"end",position:"left",nameGap:15,splitNumber:5,splitLine:{show:!0,lineStyle:{color:this.Theme.current.value.colors["on-surface-variant"]}},alignTicks:!0,axisLine:{show:!0}}],series:[{name:"Height",type:"line",showSymbol:!0,yAxisIndex:0,lineStyle:{color:this.Theme.current.value.colors["map-perple"]},itemStyle:{color:this.Theme.current.value.colors["map-perple"]},data:this.echartData.height}]};o==null||o.setOption(t)},handleCloseDetail(){this.showDetail=!1}}},Pi={class:"station-box d-flex flex-column justify-center align-start ga-1"},Si={class:"d-flex justify-start align-center"},Ti={class:"text-label"},Ni={class:"d-flex justify-space-between align-center"},Mi={class:"d-flex justify-start text-h5 my-2"},Ii={class:"d-flex justify-start align-center text-body-1 text-label ga-3"},Ei={class:"w-100 flex-1-1-0 px-5 pt-0 pb-0 overflow-y-auto scroll d-flex flex-column justify-start align-center"},Di={class:"summary-box w-100"},Ai={class:"d-flex justify-space-between align-center py-2"},Bi={class:"d-flex justify-center align-center text-h6 ga-2"},Ri={class:"multi-color-icon","aria-hidden":"true"},Vi=["xlink:href"],Oi={class:"gray-card rounded d-flex flex-column ga-4 pa-4"},ji={class:"w-100 d-flex justify-start align-center"},Fi={class:"w-30 text-label font-weight-400"},Hi={class:"flex-1-1-0"},Wi={class:"w-100 d-flex justify-start align-center"},Ui={class:"w-30 text-label font-weight-400"},Gi={class:"flex-1-1-0"},Zi={class:"w-100 d-flex justify-start align-center"},qi={class:"w-30 text-label font-weight-400"},Yi={class:"flex-1-1-0"},Xi={class:"table-box w-100 mt-2 mb-4 flex-1-1-0 d-flex flex-column justify-start align-center"},Ki={class:"w-100 d-flex justify-space-between align-center py-2"},Qi={class:"d-flex justify-center align-center text-h6 ga-2"},Ji={class:"multi-color-icon","aria-hidden":"true"},$i=["xlink:href"],er={class:"w-100 gray-card rounded pa-4 flex-1-1-0 d-flex flex-column justify-center align-center"},tr={class:"w-100 flex-1-1-0 py-4",ref:"tideEchart"},or={"fixed-header":"",density:"compact",class:"w-100 tide-table bg-none"},ar={class:"px-1 text-left text-label font-weight-400",width:"120"},ir={class:"px-1 text-left text-label font-weight-400",width:"120"},rr={class:"px-1 text-left text-label font-weight-400",width:"120"};function lr(o,t,a,r,i,l){const n=e.resolveComponent("v-card-text"),s=e.resolveComponent("v-card"),c=e.resolveComponent("VBtn"),p=e.resolveComponent("v-card-title"),h=e.resolveComponent("v-divider"),d=e.resolveComponent("VBtnToggle");return e.openBlock(),e.createElementBlock("div",null,[e.withDirectives(e.createVNode(s,{id:"idmTidalInfo"},{default:e.withCtx(()=>[e.createVNode(n,{class:"pr-8 text-body-1"},{default:e.withCtx(()=>{var g,b;return[e.createElementVNode("div",Pi,[t[2]||(t[2]=e.createElementVNode("div",{class:"d-flex justify-start align-center"},"Tide Station ",-1)),e.createElementVNode("div",Si,[e.createElementVNode("label",Ti,e.toDisplayString((g=i.hoverStation)==null?void 0:g.name)+" , "+e.toDisplayString(((b=i.hoverStation)==null?void 0:b.Country)||"-"),1)])])]}),_:1})]),_:1},512),[[e.vShow,i.showInfo]]),i.showDetail?(e.openBlock(),e.createBlock(s,{key:0,class:"tide-detail-container d-flex flex-column justify-start align-center"},{default:e.withCtx(()=>{var g,b,f,v;return[e.createVNode(p,{class:"w-100"},{default:e.withCtx(()=>{var u,C;return[e.createElementVNode("div",Ni,[e.createElementVNode("div",Mi,[e.createElementVNode("div",null,e.toDisplayString((u=i.station)==null?void 0:u.name),1)]),e.createVNode(c,{icon:"",density:"compact",variant:"plain",class:"mr-n2",onClick:t[0]||(t[0]=z=>i.showDetail=!1)},{default:e.withCtx(()=>t[3]||(t[3]=[e.createElementVNode("i",{class:"iconfont icon-close opacity-70 text-h4"},null,-1)])),_:1,__:[3]})]),e.createElementVNode("div",Ii,[t[5]||(t[5]=e.createElementVNode("div",null,"tide station",-1)),e.createElementVNode("div",null,[t[4]||(t[4]=e.createElementVNode("label",null,"UN/LOCODE: ",-1)),e.createElementVNode("span",null,e.toDisplayString((C=i.station)==null?void 0:C.Code),1)])])]}),_:1}),e.createVNode(h,{class:"w-100"}),e.createElementVNode("div",Ei,[e.createElementVNode("div",Di,[e.createElementVNode("div",Ai,[e.createElementVNode("div",Bi,[(e.openBlock(),e.createElementBlock("svg",Ri,[e.createElementVNode("use",{"xlink:href":`#icon-title-${a.theme}`},null,8,Vi)])),t[6]||(t[6]=e.createElementVNode("div",null,"Summary",-1))]),t[7]||(t[7]=e.createElementVNode("div",{class:"text-body-2 text-success ga-2"},null,-1))]),e.createElementVNode("div",Oi,[e.createElementVNode("div",ji,[e.createElementVNode("div",Fi,e.toDisplayString(o.$t("tide.region")),1),e.createElementVNode("div",Hi,e.toDisplayString(((g=i.station)==null?void 0:g.Country)??((b=i.station)==null?void 0:b.city)??"-"),1)]),e.createElementVNode("div",Wi,[e.createElementVNode("div",Ui,e.toDisplayString(o.$t("tide.position")),1),e.createElementVNode("div",Gi,e.toDisplayString(l.computeLng((f=i.station)==null?void 0:f.lng)??"-")+" , "+e.toDisplayString(l.computeLat((v=i.station)==null?void 0:v.lat)??"-"),1)]),e.createElementVNode("div",Zi,[e.createElementVNode("div",qi,e.toDisplayString(o.$t("time.localTime")),1),e.createElementVNode("div",Yi,e.toDisplayString(l.computeLocalTime(a.realTime,i.station)??"-"),1)])])]),e.createElementVNode("div",Xi,[e.createElementVNode("div",Ki,[e.createElementVNode("div",Qi,[(e.openBlock(),e.createElementBlock("svg",Ji,[e.createElementVNode("use",{"xlink:href":`#icon-title-${a.theme}`},null,8,$i)])),t[8]||(t[8]=e.createElementVNode("div",null,"Tide Times",-1))]),t[9]||(t[9]=e.createElementVNode("div",{class:"text-body-2 text-success ga-2"},null,-1))]),e.createElementVNode("div",er,[e.createVNode(d,{modelValue:i.currentIndex,"onUpdate:modelValue":t[1]||(t[1]=u=>i.currentIndex=u),class:"w-100 gray-card rounded d-flex justify-space-around align-center ga-0 px-1 mb-4",density:"compact",group:"",height:"26","min-height":"26",rounded:"1"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.dateList,u=>(e.openBlock(),e.createBlock(c,{class:"text-none text-body-1 rounded bg-none flex-1-1-0",density:"compact",color:"primary",height:"26",value:u.index},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.label),1)]),_:2},1032,["value"]))),256))]),_:1},8,["modelValue"]),e.createElementVNode("div",tr,null,512),e.createElementVNode("table",or,[e.createElementVNode("tbody",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",ar,e.toDisplayString(o.$t("tide.tide"))+" ( m )",1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.tideTableData,(u,C)=>{var z;return e.openBlock(),e.createElementBlock("td",{key:u.type+"-"+C,class:"px-1 text-center"},e.toDisplayString(o.$t(`tide.${(z=u==null?void 0:u.type)==null?void 0:z.toLowerCase()}`)),1)}),128))]),e.createElementVNode("tr",null,[e.createElementVNode("th",ir,e.toDisplayString(o.$t("tide.datum")),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.tideTableData,(u,C)=>(e.openBlock(),e.createElementBlock("td",{key:u.date+"-"+C,class:"px-1 text-center"},e.toDisplayString(l.computeHourLT(u==null?void 0:u.date,i.station))+" LT",1))),128))]),e.createElementVNode("tr",null,[e.createElementVNode("th",rr,e.toDisplayString(o.$t("tide.chartDatum")),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.tideTableData,(u,C)=>(e.openBlock(),e.createElementBlock("td",{key:u.height+"-"+C,class:"px-1 text-center"},e.toDisplayString((u==null?void 0:u.height)??"-")+" m",1))),128))])])])])])])]}),_:1})):e.createCommentVNode("",!0)])}const nr=B(Ci,[["render",lr],["__scopeId","data-v-5b47ddcf"]]),sr={name:"IdmIceAreas",props:{map:{type:Object},show:{type:Boolean}},data(){return{lineLayer:"ice-area-line",fillLayer:"ice-area-fill"}},watch:{show:{handler(){this.show?this.handleRender():this.handleClear()},immediate:!0}},methods:{handleRender(){var o,t;this.map?((o=this.map)!=null&&o.getLayer(this.lineLayer)&&this.map.setLayoutProperty(this.lineLayer,"visibility","visible"),(t=this.map)!=null&&t.getLayer(this.fillLayer)&&this.map.setLayoutProperty(this.fillLayer,"visibility","visible")):setTimeout(()=>{this.handleRender()},500)},handleClear(){var o,t;(o=this.map)!=null&&o.getLayer(this.lineLayer)&&this.map.setLayoutProperty(this.lineLayer,"visibility","none"),(t=this.map)!=null&&t.getLayer(this.fillLayer)&&this.map.setLayoutProperty(this.fillLayer,"visibility","none")}}};function cr(o,t,a,r,i,l){return null}const mr=B(sr,[["render",cr]]),Us="",dr={name:"IdmLatLng",props:{map:{type:Object},show:{type:Boolean},mapFeather:{type:String},beforeLayer:{type:String},menuToggle:{type:Object}},data(){return{lngLat:{e:{lng:0,lat:0},lng:0,lat:0,str:""},source:"idm-lat-lng-source",layer:"idm-lat-lng-layer",labelLayer:"idm-lat-lng-label-layer",right:10}},computed:{lineColor(){return["satellite","dark"].includes(this.mapFeather)?"rgba(255, 255, 255, 0.3)":"rgba(0, 0, 0, 0.3)"}},watch:{show:{handler(){this.handleBind()},immediate:!0},map:{handler(){var o;this.map&&((o=this.map)==null||o.on("mousemove",this.handleMouseMove))},immediate:!0},"menuToggle.v":{handler(){var o;this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10},immediate:!0},"lngLat.e":{handler(o){this.lngLat.lng=M.LngLatHelper.lng2pretty(o==null?void 0:o.lng,2).pretty,this.lngLat.lat=M.LngLatHelper.lat2pretty(o==null?void 0:o.lat,2).pretty,this.lngLat.str=`[${o==null?void 0:o.lng.toFixed(4)}, ${o==null?void 0:o.lat.toFixed(4)}]`},immediate:!0}},methods:{handleBind(){var o,t;this.show?((o=this.map)==null||o.on("zoomend",this.handleZoomEnd),this.handleRender()):(this.handleClear(),(t=this.map)==null||t.off("zoomend",this.handleZoomEnd))},handleMouseMove(o){this.lngLat.e=o.lngLat},handleComputeLatLngs(){var r;const o=(r=this.map)==null?void 0:r.getZoom();let t=30;o>4?t=10:o>3&&(t=15);const a=[];for(let i=-60;i<90;i+=t)a.push({type:"Feature",geometry:{type:"LineString",coordinates:[[-180,i],[180,i]]}});for(let i=-180;i<180;i+=t)a.push({type:"Feature",geometry:{type:"LineString",coordinates:[[i,-90],[i,90]]}});for(let i=180;i>-180;i-=t)for(let l=-60;l<90;l+=t)a.push({type:"Feature",geometry:{type:"Point",coordinates:[i,l]},properties:{val:`${l>0?l+" N":l===0?l:l*-1+" S"}, ${i>0?i+" E":i*-1+" W"}`}});return a},handleZoomEnd(){var t;const o=this.handleComputeLatLngs();(t=this.map)==null||t.getSource(this.source).setData(N.featureCollection(o))},handleRender(){if(this.handleClear(),this.map){const o=this.handleComputeLatLngs();this.map.addSource(this.source,{type:"geojson",data:{type:"FeatureCollection",features:o}}),this.map.addLayer({id:this.layer,type:"line",source:this.source,filter:["==","$type","LineString"],layout:{"line-join":"round","line-cap":"round"},paint:{"line-color":this.lineColor,"line-width":1}},this.beforeLayer),this.map.addLayer({id:this.labelLayer,type:"symbol",source:this.source,filter:["==","$type","Point"],layout:{"symbol-placement":"point","text-field":"{val}","text-rotation-alignment":"viewport","text-offset":[0,1],"text-size":10,"text-allow-overlap":!0},paint:{"text-opacity":.8,"text-color":this.lineColor}},this.beforeLayer)}},handleClear(){var o,t,a,r,i,l;(o=this.map)!=null&&o.getLayer(this.layer)&&((t=this.map)==null||t.removeLayer(this.layer)),(a=this.map)!=null&&a.getLayer(this.labelLayer)&&((r=this.map)==null||r.removeLayer(this.labelLayer)),(i=this.map)!=null&&i.getSource(this.source)&&((l=this.map)==null||l.removeSource(this.source))}}};function hr(o,t,a,r,i,l){var n,s,c;return e.openBlock(),e.createElementBlock("div",{class:"idm-lat-lng-tip-gl4 pa-2 text-caption text-right rounded",style:e.normalizeStyle({right:i.right+"px"})},[e.createElementVNode("div",null,e.toDisplayString((n=i.lngLat)==null?void 0:n.lat),1),e.createElementVNode("div",null,e.toDisplayString((s=i.lngLat)==null?void 0:s.lng),1),e.createElementVNode("div",null,e.toDisplayString((c=i.lngLat)==null?void 0:c.str),1)],4)}const Wt=B(dr,[["render",hr]]),Gs="",pr={name:"IdmFollowPort",props:{map:{type:Object},beforeLayer:{type:String},forecastModel:{type:String},show:{type:Boolean},followList:{type:Array,default:()=>[{id:"cm8ntkge601bn23o84p2e4pkf",platId:"gd0mt1d",coordinate:null,vessel:{id:"cm4s8gvu700kp0mqtdfkebp0s",name:"HG BREMEN",imo:9955002,mmsi:636023376,callSign:"5LNK4",ais:{cog:253.2,eta:"2025-09-29T06:00:00Z",hdg:251,imo:"9955002",lat:-26.914428,lng:42.621778,rot:-4,sog:14,utc:"2025-09-15T02:16:17Z",eta1:"2025-09-29T06:00:00Z",mmsi:636023376,factor:{eta:"2025-09-15T02:16:17Z",etd:"2025-09-15T02:16:17Z",lat:-26.914428,lng:42.621778,meteo:{sst:23.299999,url:"https://osshz.idmwx.com/asset/weather/01n.svg",utc:"2025-09-15T02:00:00Z",code:0,name:"Clear",temp:22.65,wave:{wd:{scale:"Moderate",degree:92,height:1.36,period:8,bearing:272,direction:"E",peakPeriod:null},sig:{scale:"Moderate",degree:207,height:2.42,period:16.450001,bearing:27,direction:"SSW"},swell:{scale:"Moderate",degree:211,height:1.62,period:14.2,bearing:31,direction:"SSW",peakPeriod:null}},wind:{kts:13.834078,gusts:16.328255,scale:4,speed:13.834078,degree:109.708076,bearing:289.708076,direction:"ESE"},gusts:{kts:16.328255},height:.22,precip:{sum:0,sum3Hours:0,sum6Hours:0,probability:null},source:"gfs_seamless",current:{kts:2.192751,speed:2.192751,degree:257.19574,bearing:257.19574,direction:"WSW"},visibility:13.0346},speed:15.77,cFactor:2.18,wxFactor:-.41},method:"position",status:0,vendor:"myVessel",deleted:!1,draught:12.3,labelCn:"在航(主机推动)",labelEn:"Underway Using Engine",syncTime:"2025-09-15T02:30:32Z",destination:"ABIDJAN",meteoVendor:"GFS",positionTime:1757902577}},port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-03-25T01:30:54.079Z",remark:null,voyage:{id:"cmcyl9fkz01bj0nnxd9gzc62e",number:"20250711016",status:"Underway",loadCondition:"Laden",companyId:"cltzog33o000nxglt3afwd7b3",vesselId:"cm4s8gvu700kp0mqtdfkebp0s"}},{id:"cm8ntkh1x03qj0nnt6tal6c1u",platId:"gd0mt1d",coordinate:null,vessel:{id:"clyfa7be905to3wqk7xhdg1gp",name:"APRIL",imo:9384916,mmsi:352003739,callSign:"3E5840",ais:{cog:323,eta:"2025-09-22T14:00:00Z",hdg:324,imo:"9384916",lat:11.68535,lng:74.573017,rot:0,sog:10.6,utc:"2025-09-15T02:05:10Z",eta1:"2025-09-22T14:00:00Z",mmsi:352003739,factor:{eta:"2025-09-15T02:05:10Z",etd:"2025-09-15T02:05:10Z",lat:11.68535,lng:74.573017,meteo:{sst:27.950001,url:"https://osshz.idmwx.com/asset/weather/09d.svg",utc:"2025-09-15T02:00:00Z",code:80,name:"Light Showers",temp:26.9,wave:{wd:{scale:"Smooth",degree:305,height:.24,period:2.35,bearing:125,direction:"NW",peakPeriod:null},sig:{scale:"Moderate",degree:232,height:1.26,period:9.65,bearing:52,direction:"SW"},swell:{scale:"Slight",degree:272,height:.88,period:6.45,bearing:92,direction:"W",peakPeriod:null}},wind:{kts:9.052954,gusts:12.829344,scale:3,speed:9.052954,degree:284.931458,bearing:104.93145800000002,direction:"WNW"},gusts:{kts:12.829344},height:.59,precip:{sum:.2,sum3Hours:.2,sum6Hours:.2,probability:25},source:"best_match",current:{kts:.307348,speed:.307348,degree:161.564941,bearing:161.564941,direction:"SSE"},visibility:6.5119},speed:10.08,cFactor:-.29,wxFactor:-.23},method:"position",status:0,vendor:"myVessel",deleted:!1,draught:10.9,labelCn:"在航(主机推动)",labelEn:"Underway Using Engine",syncTime:"2025-09-15T02:13:47Z",destination:"BH AHD",positionTime:1757901910}},port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-03-25T01:30:54.935Z",remark:null},{id:"cm8y716xs02rm0mo1e8lt3tfw",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyi0x601wcwzpi8xx3xlo5",name:"Shanghai",loCode:"CNSHA",abcAlias:null,abcCode:"CN0116",abcLoCode:"CNSHA",city:"Shanghai",cntLoCode:"CN",continent:"ASIA",country:"China",lat:31.25833320617676,lng:121.5433349609375,status:1,timezone:{RawOffset:8,TimezoneId:"Asia/Shanghai",DisplayName:"(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi",UtcCurrentOffset:8},zoneId:"zk3c0bcq"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-04-01T07:45:31.745Z",remark:""},{id:"cmag92m9s00vl0nmc7ksveh0v",platId:"gd0mt1d",coordinate:{lat:34.15792410669758,lng:127.81907847477157},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-05-09T03:42:11.009Z",remark:""},{id:"cmag93pmq00wd0nmc1qgp9qsa",platId:"gd0mt1d",coordinate:{lat:-37.63432796286481,lng:52.32165422235994},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-05-09T03:43:02.019Z",remark:""},{id:"cmd2jse3e0dvb0nnx21ga822x",platId:"gd0mt1d",coordinate:{lat:10,lng:-14},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-07-14T03:32:30.171Z",remark:""},{id:"cmd2jx5ym0e840mpj80n60187",platId:"gd0mt1d",coordinate:{lat:10,lng:-16},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-07-14T03:36:12.911Z",remark:""},{id:"cmfdgil9a01i10lqacxdz27pc",platId:"gd0mt1d",coordinate:{lat:-1.3101652000000001,lng:55.488281},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-10T04:05:46.656Z",remark:null},{id:"cmfdlcx6r01y60lqab6q885ev",platId:"gd0mt1d",coordinate:{lat:.99837475,lng:-104.59375},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-10T06:21:20.262Z",remark:null},{id:"cmfdo9ksp06gl0msh8kanel7s",platId:"gd0mt1d",coordinate:null,vessel:{id:"clcbmc4m3000h6ngq461sabxx",name:"ZHONG DA 88",imo:9957191,mmsi:413294670,callSign:"BOSV9",ais:{cog:160.7,hdg:158,imo:"9957191",lat:22.11045,lng:113.44941,rot:0,sog:10,utc:"2024-03-27T14:00:07Z",mmsi:413294670,method:"position",status:0,vendor:"myship",draught:4.1,syncTime:"2024-03-27T14:00:18Z",positionTime:1711548007}},port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-10T07:42:43.082Z",remark:null},{id:"cmfermo1i02y70mqydv673mgu",platId:"gd0mt1d",coordinate:null,vessel:{id:"clcbmc4ag000c6ngq7p1n1nhv",name:"EKMEN STAR",imo:9218193,mmsi:314525e3,callSign:"8PAX6",ais:{cog:82,eta:"2025-09-22T05:00:00Z",hdg:84,imo:"9218193",lat:36.0301,lng:-4.723353,rot:0,sog:11.9,utc:"2025-09-14T11:28:29Z",eta1:"2025-09-22T05:00:00Z",mmsi:314525e3,factor:{eta:"2025-09-14T11:28:29Z",etd:"2025-09-14T11:28:29Z",lat:36.0301,lng:-4.723353,meteo:{sst:22.15,url:"https://osshz.idmwx.com/asset/weather/01d.svg",utc:"2025-09-14T11:00:00Z",code:0,name:"Sunny",temp:22.65,wave:{wd:{scale:"Smooth",degree:286,height:.28,period:2.35,bearing:106,direction:"WNW",peakPeriod:1},sig:{scale:"Slight",degree:286,height:.58,period:3.85,bearing:106,direction:"WNW"},swell:{scale:"Smooth",degree:285,height:.36,period:3.5,bearing:105,direction:"WNW",peakPeriod:5.2}},wind:{kts:4.587627,gusts:7.77536,scale:2,speed:4.587627,degree:306.38446,bearing:126.38446,direction:"NW"},gusts:{kts:7.77536},height:-.39,precip:{sum:0,sum3Hours:0,sum6Hours:0,probability:0},source:"best_match",current:{kts:.307348,speed:.307348,degree:71.564941,bearing:71.564941,direction:"ENE"},visibility:23.4341},speed:12.13,cFactor:.3,wxFactor:-.07},method:"position",status:0,vendor:"myVessel",deleted:!1,draught:7.4,labelCn:"在航(主机推动)",labelEn:"Underway Using Engine",syncTime:"2025-09-14T11:30:04Z",destination:"ILHFA",positionTime:1757849309}},port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-11T02:04:38.839Z",remark:null},{id:"cmfgjlseq0a080lqk0wd1c0ez",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyg0e80018wzpivgy9ronc",name:"Akrotiri",loCode:"CYAKT",abcAlias:null,abcCode:"CY0001",abcLoCode:"CYAKT",city:"Bucharest",cntLoCode:"CY",continent:"EUROPE",country:"Cyprus",lat:34.57192611694336,lng:33.03478240966797,status:1,timezone:{RawOffset:2,TimezoneId:"Europe/Bucharest",DisplayName:"(UTC+02:00) Athens, Bucharest",UtcCurrentOffset:3},zoneId:"0a3i0buw"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-12T07:55:33.268Z",remark:null},{id:"cmfkf050h09i20mpbbtp20lxv",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhygf8600gewzpii4d8p5ao",name:"Dandong",loCode:"CNDDG",abcAlias:["Dadong"],abcCode:"CN0028",abcLoCode:"CNDDG",city:"Pyongyang",cntLoCode:"CN",continent:"ASIA",country:"China",lat:39.81999969482422,lng:124.1575012207031,status:1,timezone:{RawOffset:9,TimezoneId:"Asia/Pyongyang",DisplayName:"(UTC+09:00) Pyongyang",UtcCurrentOffset:9},zoneId:"zk3c0bcq"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T00:57:49.411Z",remark:null},{id:"cmfkf2lif09ts0lqn1nfmd4ev",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhygu5h00vkwzpi429ib4tx",name:"Kakinada",loCode:"INKAK",abcAlias:null,abcCode:"IN0057",abcLoCode:"INKAK",city:"Kolkata",cntLoCode:"IN",continent:"ASIA",country:"India",lat:16.97333335876465,lng:82.28500366210938,status:1,timezone:{RawOffset:5.5,TimezoneId:"Asia/Kolkata",DisplayName:"(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi",UtcCurrentOffset:5.5},zoneId:"zy3f0b05"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T00:59:44.104Z",remark:null},{id:"cmfkf40mg08qo0mmlbzsic9ou",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyhdn9019qwzpi6dzvqfci",name:"Mormugao",loCode:"INMRM",abcAlias:null,abcCode:"IN0090",abcLoCode:"INMRM",city:"Kolkata",cntLoCode:"IN",continent:"ASIA",country:"India",lat:15.41249942779541,lng:73.80166625976562,status:1,timezone:{RawOffset:5.5,TimezoneId:"Asia/Kolkata",DisplayName:"(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi",UtcCurrentOffset:5.5},zoneId:"zy3f0b05"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T01:00:50.345Z",remark:null},{id:"cmfkf905108xf0mml26eb6uke",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyj9w802z2wzpih82qku6a",name:"Diego Garcia",loCode:"IODGA",abcAlias:null,abcCode:"IO0002",abcLoCode:"IODGA",city:"Almaty",cntLoCode:"IO",continent:"ASIA",country:"British Indian Ocean Territory (the)",lat:-7.288332939147949,lng:72.3949966430664,status:1,timezone:{RawOffset:6,TimezoneId:"Asia/Almaty",DisplayName:"(UTC+06:00) Astana",UtcCurrentOffset:6},zoneId:"zy3f0b05"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T01:04:42.998Z",remark:null},{id:"cmfkffoen0a500mpb83ks9naq",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyhp6u01kiwzpi7pkd9ibw",name:"Port Louis",loCode:"MUPLU",abcAlias:null,abcCode:"MU0004",abcLoCode:"MUPLU",city:"Mauritius",cntLoCode:"MU",continent:"INDIAN",country:"Mauritius",lat:-20.15397071838379,lng:57.4934196472168,status:1,timezone:{RawOffset:4,TimezoneId:"Indian/Mauritius",DisplayName:"(UTC+04:00) Port Louis",UtcCurrentOffset:4},zoneId:"zy3f0b05"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T01:09:54.385Z",remark:null},{id:"cmfkfsabx09lx0mmldli44j5v",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyhwtq01ruwzpicgc3otck",name:"Saipan",loCode:"MPSPN",abcAlias:null,abcCode:"MP0009",abcLoCode:"MPSPN",city:"Port_Moresby",cntLoCode:"MP",continent:"PACIFIC",country:"Northern Mariana Islands (the)",lat:15.28999996185303,lng:145.7050018310547,status:1,timezone:{RawOffset:10,TimezoneId:"Pacific/Port_Moresby",DisplayName:"(UTC+10:00) Guam, Port Moresby",UtcCurrentOffset:10},zoneId:"0r3n0b5e"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T01:19:42.671Z",remark:null}]}},emits:["portDetail"],setup(){return{Theme:ie.useTheme()}},data(){return{source:"follow-port-source",layer:"follow-port-layer",showInfo:!1,port:{},marker:void 0}},computed:{computeLat(){return function(o){return M.LngLatHelper.lat2pretty(o,4).pretty}},computeLng(){return function(o){return M.LngLatHelper.lng2pretty(o,4).pretty}}},watch:{show:{handler(){var o,t,a;this.show?(this.handleRender(),(o=this.map)==null||o.on("click",[this.layer],this.handleClick),(t=this.map)==null||t.on("mousemove",[this.layer],this.handleHover),(a=this.map)==null||a.on("mouseleave",[this.layer],this.handleLeave)):this.handleClear()},immediate:!0},followList:{handler(){var o,t,a;this.followList?(this.handleClear(),this.handleRender(),(o=this.map)==null||o.on("click",[this.layer],this.handleClick),(t=this.map)==null||t.on("mousemove",[this.layer],this.handleHover),(a=this.map)==null||a.on("mouseleave",[this.layer],this.handleLeave)):this.handleClear()}}},methods:{handleRender(){var t,a;const o={features:[],type:"FeatureCollection"};(t=this.followList)==null||t.forEach(r=>{var i;if((i=r.port)!=null&&i.id){const l=r.port,n={type:"Feature",properties:l,geometry:{type:"Point",coordinates:[l.lng,l.lat]}};o.features.push(n)}}),this.map.getSource(this.source)?(a=this.map)==null||a.getSource(this.source).setData(o):(this.map.addSource(this.source,{type:"geojson",data:o}),this.map.addLayer({id:this.layer,type:"symbol",source:this.source,filter:["all",["==","$type","Point"],["!=","disabled",!0]],layout:{"symbol-placement":"point","icon-size":1,"icon-image":"port","icon-offset":[0,-15],"text-anchor":"bottom","text-field":"{name}","text-rotation-alignment":"viewport","text-size":10,"text-offset":[0,1.6]},paint:{"text-color":this.Theme.current.value.colors["on-surface"],"text-halo-width":1}},this.beforeLayer))},handleClear(){var o,t,a;this.showInfo=!1,this.map.getLayer(this.layer)&&this.map.removeLayer(this.layer),this.map.getSource(this.source)&&this.map.removeSource(this.source),(o=this.map)==null||o.on("click",[this.layer],this.handleClick),(t=this.map)==null||t.on("mousemove",[this.layer],this.handleHover),(a=this.map)==null||a.on("mouseleave",[this.layer],this.handleLeave)},handleClick(o){const t=o.features[0];if(t.properties.id){const a=t.properties;a.lng=t.geometry.coordinates[0],a.lat=t.geometry.coordinates[1],a.forecastModel=this.forecastModel,this.$emit("portDetail",a)}},handleHover(o){this.map.getCanvas().style.cursor="pointer";const t=o.features[0];if(t.properties.id){this.showInfo=!0,this.port=t.properties;const r=document.getElementById("idmFollowPortInfo");this.marker?this.marker.setLngLat([o.lngLat.lng,o.lngLat.lat]):this.marker=new me.Marker(r).setLngLat([o.lngLat.lng,o.lngLat.lat]).setOffset([0,-70]).addTo(this.map)}},handleLeave(){this.showInfo=!1,this.map.getCanvas().style.cursor="grab"}}},gr={class:"port-box d-flex flex-column justify-center align-start ga-1"},ur={class:"d-flex justify-start align-center text-label"},fr={class:"d-flex justify-start align-center text-label"};function yr(o,t,a,r,i,l){const n=e.resolveComponent("v-card-text"),s=e.resolveComponent("v-card");return e.withDirectives((e.openBlock(),e.createBlock(s,{id:"idmFollowPortInfo",ref:"idmFollowPortInfo"},{default:e.withCtx(()=>[e.createVNode(n,{class:"text-body-1 pr-8"},{default:e.withCtx(()=>[e.createElementVNode("div",gr,[t[1]||(t[1]=e.createElementVNode("div",null,"port",-1)),e.createElementVNode("div",ur,[e.createElementVNode("span",null,e.toDisplayString(i.port.name??"-"),1)]),e.createElementVNode("div",fr,[t[0]||(t[0]=e.createElementVNode("label",{class:"pr-1"},"LoCode : ",-1)),e.createElementVNode("span",null,e.toDisplayString(i.port.loCode??"-"),1)])])]),_:1})]),_:1},512)),[[e.vShow,i.showInfo]])}const br=B(pr,[["render",yr],["__scopeId","data-v-de5a1fa3"]]),wr={name:"IdmFollowPosition",props:{map:{type:Object},beforeLayer:{type:String},forecastModel:{type:String},show:{type:Boolean},followList:{type:Array,default:()=>[{id:"cm8ntkge601bn23o84p2e4pkf",platId:"gd0mt1d",coordinate:null,vessel:{id:"cm4s8gvu700kp0mqtdfkebp0s",name:"HG BREMEN",imo:9955002,mmsi:636023376,callSign:"5LNK4",ais:{cog:253.2,eta:"2025-09-29T06:00:00Z",hdg:251,imo:"9955002",lat:-26.914428,lng:42.621778,rot:-4,sog:14,utc:"2025-09-15T02:16:17Z",eta1:"2025-09-29T06:00:00Z",mmsi:636023376,factor:{eta:"2025-09-15T02:16:17Z",etd:"2025-09-15T02:16:17Z",lat:-26.914428,lng:42.621778,meteo:{sst:23.299999,url:"https://osshz.idmwx.com/asset/weather/01n.svg",utc:"2025-09-15T02:00:00Z",code:0,name:"Clear",temp:22.65,wave:{wd:{scale:"Moderate",degree:92,height:1.36,period:8,bearing:272,direction:"E",peakPeriod:null},sig:{scale:"Moderate",degree:207,height:2.42,period:16.450001,bearing:27,direction:"SSW"},swell:{scale:"Moderate",degree:211,height:1.62,period:14.2,bearing:31,direction:"SSW",peakPeriod:null}},wind:{kts:13.834078,gusts:16.328255,scale:4,speed:13.834078,degree:109.708076,bearing:289.708076,direction:"ESE"},gusts:{kts:16.328255},height:.22,precip:{sum:0,sum3Hours:0,sum6Hours:0,probability:null},source:"gfs_seamless",current:{kts:2.192751,speed:2.192751,degree:257.19574,bearing:257.19574,direction:"WSW"},visibility:13.0346},speed:15.77,cFactor:2.18,wxFactor:-.41},method:"position",status:0,vendor:"myVessel",deleted:!1,draught:12.3,labelCn:"在航(主机推动)",labelEn:"Underway Using Engine",syncTime:"2025-09-15T02:30:32Z",destination:"ABIDJAN",meteoVendor:"GFS",positionTime:1757902577}},port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-03-25T01:30:54.079Z",remark:null,voyage:{id:"cmcyl9fkz01bj0nnxd9gzc62e",number:"20250711016",status:"Underway",loadCondition:"Laden",companyId:"cltzog33o000nxglt3afwd7b3",vesselId:"cm4s8gvu700kp0mqtdfkebp0s"}},{id:"cm8ntkh1x03qj0nnt6tal6c1u",platId:"gd0mt1d",coordinate:null,vessel:{id:"clyfa7be905to3wqk7xhdg1gp",name:"APRIL",imo:9384916,mmsi:352003739,callSign:"3E5840",ais:{cog:323,eta:"2025-09-22T14:00:00Z",hdg:324,imo:"9384916",lat:11.68535,lng:74.573017,rot:0,sog:10.6,utc:"2025-09-15T02:05:10Z",eta1:"2025-09-22T14:00:00Z",mmsi:352003739,factor:{eta:"2025-09-15T02:05:10Z",etd:"2025-09-15T02:05:10Z",lat:11.68535,lng:74.573017,meteo:{sst:27.950001,url:"https://osshz.idmwx.com/asset/weather/09d.svg",utc:"2025-09-15T02:00:00Z",code:80,name:"Light Showers",temp:26.9,wave:{wd:{scale:"Smooth",degree:305,height:.24,period:2.35,bearing:125,direction:"NW",peakPeriod:null},sig:{scale:"Moderate",degree:232,height:1.26,period:9.65,bearing:52,direction:"SW"},swell:{scale:"Slight",degree:272,height:.88,period:6.45,bearing:92,direction:"W",peakPeriod:null}},wind:{kts:9.052954,gusts:12.829344,scale:3,speed:9.052954,degree:284.931458,bearing:104.93145800000002,direction:"WNW"},gusts:{kts:12.829344},height:.59,precip:{sum:.2,sum3Hours:.2,sum6Hours:.2,probability:25},source:"best_match",current:{kts:.307348,speed:.307348,degree:161.564941,bearing:161.564941,direction:"SSE"},visibility:6.5119},speed:10.08,cFactor:-.29,wxFactor:-.23},method:"position",status:0,vendor:"myVessel",deleted:!1,draught:10.9,labelCn:"在航(主机推动)",labelEn:"Underway Using Engine",syncTime:"2025-09-15T02:13:47Z",destination:"BH AHD",positionTime:1757901910}},port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-03-25T01:30:54.935Z",remark:null},{id:"cm8y716xs02rm0mo1e8lt3tfw",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyi0x601wcwzpi8xx3xlo5",name:"Shanghai",loCode:"CNSHA",abcAlias:null,abcCode:"CN0116",abcLoCode:"CNSHA",city:"Shanghai",cntLoCode:"CN",continent:"ASIA",country:"China",lat:31.25833320617676,lng:121.5433349609375,status:1,timezone:{RawOffset:8,TimezoneId:"Asia/Shanghai",DisplayName:"(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi",UtcCurrentOffset:8},zoneId:"zk3c0bcq"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-04-01T07:45:31.745Z",remark:""},{id:"cmag92m9s00vl0nmc7ksveh0v",platId:"gd0mt1d",coordinate:{lat:34.15792410669758,lng:127.81907847477157},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-05-09T03:42:11.009Z",remark:""},{id:"cmag93pmq00wd0nmc1qgp9qsa",platId:"gd0mt1d",coordinate:{lat:-37.63432796286481,lng:52.32165422235994},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-05-09T03:43:02.019Z",remark:""},{id:"cmd2jse3e0dvb0nnx21ga822x",platId:"gd0mt1d",coordinate:{lat:10,lng:-14},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-07-14T03:32:30.171Z",remark:""},{id:"cmd2jx5ym0e840mpj80n60187",platId:"gd0mt1d",coordinate:{lat:10,lng:-16},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-07-14T03:36:12.911Z",remark:""},{id:"cmfdgil9a01i10lqacxdz27pc",platId:"gd0mt1d",coordinate:{lat:-1.3101652000000001,lng:55.488281},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-10T04:05:46.656Z",remark:null},{id:"cmfdlcx6r01y60lqab6q885ev",platId:"gd0mt1d",coordinate:{lat:.99837475,lng:-104.59375},vessel:null,port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-10T06:21:20.262Z",remark:null},{id:"cmfdo9ksp06gl0msh8kanel7s",platId:"gd0mt1d",coordinate:null,vessel:{id:"clcbmc4m3000h6ngq461sabxx",name:"ZHONG DA 88",imo:9957191,mmsi:413294670,callSign:"BOSV9",ais:{cog:160.7,hdg:158,imo:"9957191",lat:22.11045,lng:113.44941,rot:0,sog:10,utc:"2024-03-27T14:00:07Z",mmsi:413294670,method:"position",status:0,vendor:"myship",draught:4.1,syncTime:"2024-03-27T14:00:18Z",positionTime:1711548007}},port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-10T07:42:43.082Z",remark:null},{id:"cmfermo1i02y70mqydv673mgu",platId:"gd0mt1d",coordinate:null,vessel:{id:"clcbmc4ag000c6ngq7p1n1nhv",name:"EKMEN STAR",imo:9218193,mmsi:314525e3,callSign:"8PAX6",ais:{cog:82,eta:"2025-09-22T05:00:00Z",hdg:84,imo:"9218193",lat:36.0301,lng:-4.723353,rot:0,sog:11.9,utc:"2025-09-14T11:28:29Z",eta1:"2025-09-22T05:00:00Z",mmsi:314525e3,factor:{eta:"2025-09-14T11:28:29Z",etd:"2025-09-14T11:28:29Z",lat:36.0301,lng:-4.723353,meteo:{sst:22.15,url:"https://osshz.idmwx.com/asset/weather/01d.svg",utc:"2025-09-14T11:00:00Z",code:0,name:"Sunny",temp:22.65,wave:{wd:{scale:"Smooth",degree:286,height:.28,period:2.35,bearing:106,direction:"WNW",peakPeriod:1},sig:{scale:"Slight",degree:286,height:.58,period:3.85,bearing:106,direction:"WNW"},swell:{scale:"Smooth",degree:285,height:.36,period:3.5,bearing:105,direction:"WNW",peakPeriod:5.2}},wind:{kts:4.587627,gusts:7.77536,scale:2,speed:4.587627,degree:306.38446,bearing:126.38446,direction:"NW"},gusts:{kts:7.77536},height:-.39,precip:{sum:0,sum3Hours:0,sum6Hours:0,probability:0},source:"best_match",current:{kts:.307348,speed:.307348,degree:71.564941,bearing:71.564941,direction:"ENE"},visibility:23.4341},speed:12.13,cFactor:.3,wxFactor:-.07},method:"position",status:0,vendor:"myVessel",deleted:!1,draught:7.4,labelCn:"在航(主机推动)",labelEn:"Underway Using Engine",syncTime:"2025-09-14T11:30:04Z",destination:"ILHFA",positionTime:1757849309}},port:null,ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-11T02:04:38.839Z",remark:null},{id:"cmfgjlseq0a080lqk0wd1c0ez",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyg0e80018wzpivgy9ronc",name:"Akrotiri",loCode:"CYAKT",abcAlias:null,abcCode:"CY0001",abcLoCode:"CYAKT",city:"Bucharest",cntLoCode:"CY",continent:"EUROPE",country:"Cyprus",lat:34.57192611694336,lng:33.03478240966797,status:1,timezone:{RawOffset:2,TimezoneId:"Europe/Bucharest",DisplayName:"(UTC+02:00) Athens, Bucharest",UtcCurrentOffset:3},zoneId:"0a3i0buw"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-12T07:55:33.268Z",remark:null},{id:"cmfkf050h09i20mpbbtp20lxv",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhygf8600gewzpii4d8p5ao",name:"Dandong",loCode:"CNDDG",abcAlias:["Dadong"],abcCode:"CN0028",abcLoCode:"CNDDG",city:"Pyongyang",cntLoCode:"CN",continent:"ASIA",country:"China",lat:39.81999969482422,lng:124.1575012207031,status:1,timezone:{RawOffset:9,TimezoneId:"Asia/Pyongyang",DisplayName:"(UTC+09:00) Pyongyang",UtcCurrentOffset:9},zoneId:"zk3c0bcq"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T00:57:49.411Z",remark:null},{id:"cmfkf2lif09ts0lqn1nfmd4ev",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhygu5h00vkwzpi429ib4tx",name:"Kakinada",loCode:"INKAK",abcAlias:null,abcCode:"IN0057",abcLoCode:"INKAK",city:"Kolkata",cntLoCode:"IN",continent:"ASIA",country:"India",lat:16.97333335876465,lng:82.28500366210938,status:1,timezone:{RawOffset:5.5,TimezoneId:"Asia/Kolkata",DisplayName:"(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi",UtcCurrentOffset:5.5},zoneId:"zy3f0b05"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T00:59:44.104Z",remark:null},{id:"cmfkf40mg08qo0mmlbzsic9ou",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyhdn9019qwzpi6dzvqfci",name:"Mormugao",loCode:"INMRM",abcAlias:null,abcCode:"IN0090",abcLoCode:"INMRM",city:"Kolkata",cntLoCode:"IN",continent:"ASIA",country:"India",lat:15.41249942779541,lng:73.80166625976562,status:1,timezone:{RawOffset:5.5,TimezoneId:"Asia/Kolkata",DisplayName:"(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi",UtcCurrentOffset:5.5},zoneId:"zy3f0b05"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T01:00:50.345Z",remark:null},{id:"cmfkf905108xf0mml26eb6uke",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyj9w802z2wzpih82qku6a",name:"Diego Garcia",loCode:"IODGA",abcAlias:null,abcCode:"IO0002",abcLoCode:"IODGA",city:"Almaty",cntLoCode:"IO",continent:"ASIA",country:"British Indian Ocean Territory (the)",lat:-7.288332939147949,lng:72.3949966430664,status:1,timezone:{RawOffset:6,TimezoneId:"Asia/Almaty",DisplayName:"(UTC+06:00) Astana",UtcCurrentOffset:6},zoneId:"zy3f0b05"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T01:04:42.998Z",remark:null},{id:"cmfkffoen0a500mpb83ks9naq",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyhp6u01kiwzpi7pkd9ibw",name:"Port Louis",loCode:"MUPLU",abcAlias:null,abcCode:"MU0004",abcLoCode:"MUPLU",city:"Mauritius",cntLoCode:"MU",continent:"INDIAN",country:"Mauritius",lat:-20.15397071838379,lng:57.4934196472168,status:1,timezone:{RawOffset:4,TimezoneId:"Indian/Mauritius",DisplayName:"(UTC+04:00) Port Louis",UtcCurrentOffset:4},zoneId:"zy3f0b05"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T01:09:54.385Z",remark:null},{id:"cmfkfsabx09lx0mmldli44j5v",platId:"gd0mt1d",coordinate:null,vessel:null,port:{id:"clbhyhwtq01ruwzpicgc3otck",name:"Saipan",loCode:"MPSPN",abcAlias:null,abcCode:"MP0009",abcLoCode:"MPSPN",city:"Port_Moresby",cntLoCode:"MP",continent:"PACIFIC",country:"Northern Mariana Islands (the)",lat:15.28999996185303,lng:145.7050018310547,status:1,timezone:{RawOffset:10,TimezoneId:"Pacific/Port_Moresby",DisplayName:"(UTC+10:00) Guam, Port Moresby",UtcCurrentOffset:10},zoneId:"0r3n0b5e"},ownerId:"cm0vw720z004wayoc8awvaug6",owner:{id:"cm0vw720z004wayoc8awvaug6",email:"monica@ormwx.com"},createdAt:"2025-09-15T01:19:42.671Z",remark:null}]},realTime:{type:String}},emits:["portDetail"],setup(){return{Theme:ie.useTheme()}},data(){return{source:"follow-coordinate-source",layer:"follow-coordinate-layer",coordinate:{}}},computed:{computeLat(){return function(o){return M.LngLatHelper.lat2pretty(o,4).pretty}},computeLng(){return function(o){return M.LngLatHelper.lng2pretty(o,4).pretty}}},watch:{show:{handler(){var o,t,a;this.show?(this.handleRender(),(o=this.map)==null||o.on("click",[this.layer],this.handleClick),(t=this.map)==null||t.on("mousemove",[this.layer],this.handleHover),(a=this.map)==null||a.on("mouseleave",[this.layer],this.handleLeave)):this.handleClear()},immediate:!0},followList:{handler(){var o,t,a;this.followList?(this.handleClear(),this.handleRender(),(o=this.map)==null||o.on("click",[this.layer],this.handleClick),(t=this.map)==null||t.on("mousemove",[this.layer],this.handleHover),(a=this.map)==null||a.on("mouseleave",[this.layer],this.handleLeave)):this.handleClear()}}},methods:{handleRender(){var t,a;const o={features:[],type:"FeatureCollection"};(t=this.followList)==null||t.forEach(r=>{if(r.coordinate){const i=r.coordinate,l={type:"Feature",properties:i,geometry:{type:"Point",coordinates:[i.lng,i.lat]}};o.features.push(l)}}),this.map.getSource(this.source)?(a=this.map)==null||a.getSource(this.source).setData(o):(this.map.addSource(this.source,{type:"geojson",data:o}),this.map.addLayer({id:this.layer,type:"symbol",source:this.source,filter:["all",["==","$type","Point"],["!=","disabled",!0]],layout:{"symbol-placement":"point","icon-size":1,"icon-image":"location","icon-offset":[0,-15]},paint:{"text-color":this.Theme.current.value.colors["on-surface"],"text-halo-width":1}},this.beforeLayer))},handleClear(){var o,t,a;this.map.getLayer(this.layer)&&this.map.removeLayer(this.layer),this.map.getSource(this.source)&&this.map.removeSource(this.source),(o=this.map)==null||o.on("click",[this.layer],this.handleClick),(t=this.map)==null||t.on("mousemove",[this.layer],this.handleHover),(a=this.map)==null||a.on("mouseleave",[this.layer],this.handleLeave)},handleClick(o){var a,r,i,l,n,s,c,p,h;const t=o.features[0];if(t.properties){const d=t.properties,g=L(),b=(a=L(this.realTime))==null?void 0:a.diff(g,"d",!0),f={lat:d.lat,lng:d.lng,datetime:this.realTime,forecastModel:this.forecastModel};b>=0?(n=(l=(i=(r=this.$parent)==null?void 0:r.$parent)==null?void 0:i.$refs)==null?void 0:l.idmSpot)==null||n.fetchMeteoData(f):(h=(p=(c=(s=this.$parent)==null?void 0:s.$parent)==null?void 0:c.$refs)==null?void 0:p.idmSpot)==null||h.fetchHistoryData(f)}},handleHover(){this.map.getCanvas().style.cursor="pointer"},handleLeave(){this.map.getCanvas().style.cursor="grab"}}};function xr(o,t,a,r,i,l){return null}const kr=B(wr,[["render",xr]]),Zs="",_r={name:"IdmOtherLayerr",components:{IdmWarZone:Oa,IdmGmdssArea:Ha,IdmEcaZone:Ga,IdmAlertZone:Xa,IdmPort:ti,IdmLoadLine:ii,IdmTimezone:ni,IdmVRA:mi,IdmSpecialArea:pi,IdmTerminator:fi,IdmWorld12nm:wi,IdmWorldMarine:_i,IdmChinaRoute:Li,IdmTideStations:nr,IdmIceAreas:mr,IdmLatLng:Wt,IdmFollowPort:br,IdmFollowPosition:kr},props:{map:{type:Object},theme:{type:String},token:{type:String},isLogin:{type:Boolean,default:!1},defaultMeteoToken:{type:String},gateway:{type:String},assistGateway:{type:Array,default:[]},top:{type:Number,default:60},menuToggle:{type:Object,default:{}},ts:{type:String},forecastModel:{type:String},realTime:{type:String}},emits:["map","other","menuToggle","mapFeather","theme","followLayerList","otherCheckList"],data(){return{right:10,toggle:!1,mapFeather:localStorage.getItem("mapFeathersCacheGL4")||"light",tagLayers:[...Me.LayerHelper.OTHER_LAYERS.filter(o=>o.enabled)],layerWeight:0,otherLayers:{},activeOtherLayers:[],cache:{v:"0.0.2",versionKey:"otherLayerCacheVersionGL4",checkListKey:"otherChecklistCacheGL4",followListKey:"otherFollowListCacheGL4",mapFeatherKey:"mapFeathersCacheGL4"},mapFeathers:[{name:"Light Map",value:"light",locale:"lightMap"},{name:"Dark Map",value:"dark",locale:"darkMap"},{name:"Satelite Map",value:"satellite",locale:"satelliteMap"},{name:"Nautical Map",value:"nautical",locale:"nauticalMap"}],checkList:[]}},computed:{computeLayerClass(){return function(o,t){let a="layer flex-between";return t.some(r=>r.key===o.key)&&(a=a+" active"),a}}},watch:{isLogin:{handler(){this.isLogin&&this.fetchOtherLayers()},immediate:!0},"menuToggle.v":{handler(){this.toggle=this.menuToggle.otherLayers,this.$nextTick(()=>{var o;this.right=(((o=document.getElementsByClassName("right-bar")[0])==null?void 0:o.clientWidth)||0)+10})},immediate:!0},theme:{handler(){this.theme==="light"?this.mapFeather=["light","nautical"].includes(this.mapFeather)?this.mapFeather:"light":this.mapFeather=["dark","satellite"].includes(this.mapFeather)?this.mapFeather:"dark"},immediate:!0},mapFeather:{handler(){localStorage.setItem(this.cache.mapFeatherKey,this.mapFeather),this.$emit("mapFeather",this.mapFeather),this.$emit("theme",["light","nautical"].includes(this.mapFeather)?"light":"dark")},immediate:!0},checkList:{handler(o,t){localStorage.setItem(this.cache.checkListKey,JSON.stringify(this.checkList)),this.activeOtherLayers=this.tagLayers.filter(l=>this.checkList.includes(l.key))||[];const a=o==null?void 0:o.filter(l=>!(t!=null&&t.includes(l))),r=t==null?void 0:t.filter(l=>!(o!=null&&o.includes(l))),i=o==null?void 0:o.filter(l=>t==null?void 0:t.includes(l));if((r==null?void 0:r.length)>0&&r.forEach(l=>{this.otherLayers[l]=void 0,delete this.otherLayers[l]}),(a==null?void 0:a.length)>0){const l=this.tagLayers.filter(n=>this.checkList.includes(n.key)&&!i.includes(n.key))||[];this.handleLayersChange(l)}this.$emit("otherCheckList",this.checkList)}}},async mounted(){this.fetchCache()},methods:{fetchCache(){const o=localStorage.getItem(this.cache.versionKey);this.cache.v!==o&&(localStorage.removeItem(this.cache.checkListKey),localStorage.removeItem(this.cache.followListKey),localStorage.removeItem(this.cache.mapFeatherKey),localStorage.setItem(this.cache.versionKey,this.cache.v));let t=localStorage.getItem(this.cache.checkListKey);this.checkList=JSON.parse(t||'["eca-zones"]'),localStorage.setItem(this.cache.checkListKey,JSON.stringify(this.checkList)),t=localStorage.getItem(this.cache.mapFeatherKey);const a=t||"light";this.$emit("mapFeather",a),localStorage.setItem(this.cache.mapFeatherKey,a)},handleMenuToggle(){this.$emit("menuToggle","otherLayers")},handleToggleMapFeather(o){this.$emit("map",void 0),this.mapFeather=o.value},async fetchOtherLayers(o={all:!1,dayNight:!1}){var a,r,i,l;let t=this.layerWeight;if(t){if(o.all){const n=this.assistGateway[Math.round(Math.random()*(this.assistGateway.length-1))],s=await K.get(`${n}/api/arc/other/layers/links?l=${t}&t=${this.realTime}`,{headers:{Authorization:this.token||this.defaultMeteoToken}});if(((a=s==null?void 0:s.data)==null?void 0:a.code)===0){const c=(r=s==null?void 0:s.data)==null?void 0:r.data,p=[];for(const d in c)p.push(K.get(c[d],{headers:{Authorization:this.token||this.defaultMeteoToken,key:d}}));(await Promise.all(p)).map(d=>{var f,v,u;const g=((f=d==null?void 0:d.data)==null?void 0:f.data)||(d==null?void 0:d.data),b=(u=(v=d==null?void 0:d.config)==null?void 0:v.headers)==null?void 0:u.key;this.otherLayers[b]=g})}}else if(o.dayNight&&t&1024){const n=this.assistGateway[Math.round(Math.random()*(this.assistGateway.length-1))],s=await K.get(`${n}/api/arc/other/layers/links?l=1024&t=${this.realTime}`,{headers:{Authorization:this.token||this.defaultMeteoToken}});if(((i=s==null?void 0:s.data)==null?void 0:i.code)===0){const c=(l=s==null?void 0:s.data)==null?void 0:l.data,p=[];for(const d in c)p.push(K.get(c[d],{headers:{Authorization:this.token||this.defaultMeteoToken,key:d}}));(await Promise.all(p)).map(d=>{var f,v,u;const g=((f=d==null?void 0:d.data)==null?void 0:f.data)||(d==null?void 0:d.data),b=(u=(v=d==null?void 0:d.config)==null?void 0:v.headers)==null?void 0:u.key;this.otherLayers[b]=g})}}}},handleLayersChange(o){const t=o==null?void 0:o.reduce((a,r)=>a+(r==null?void 0:r.weight),0);this.layerWeight=t,this.fetchOtherLayers({all:!0})}}},vr={class:"idm-gl4-other-layer"},zr={class:"header-box d-flex justify-space-between align-center px-4"},Lr={class:"text-h5 font-weight-medium"},Cr={class:"list-box scroll pl-4 pr-2 overflow-y-auto"},Pr={class:"layers-body mt-4 d-flex justify-start align-center flex-wrap"},Sr=["onClick"],Tr={key:0,src:"https://osshz.idmwx.com/asset/dark-map.png",class:"border rounded-sm"},Nr={key:1,src:"https://osshz.idmwx.com/asset/nautical-map.png",class:"border rounded-sm"},Mr={key:2,src:"https://osshz.idmwx.com/asset/satellite-map.png",class:"border rounded-sm"},Ir={key:3,src:"https://osshz.idmwx.com/asset/light-map.png",class:"border rounded-sm"},Er={class:"text-body-2 text-center pt-1"};function Dr(o,t,a,r,i,l){var H,J,re,le,ee,F,Y,ne,te;const n=e.resolveComponent("VBtn"),s=e.resolveComponent("VTooltip"),c=e.resolveComponent("VCardTitle"),p=e.resolveComponent("VCardItem"),h=e.resolveComponent("VCheckbox"),d=e.resolveComponent("VCardText"),g=e.resolveComponent("VCard"),b=e.resolveComponent("IdmLatLng"),f=e.resolveComponent("IdmTerminator"),v=e.resolveComponent("IdmTimezone"),u=e.resolveComponent("IdmPort"),C=e.resolveComponent("IdmAlertZone"),z=e.resolveComponent("IdmTideStations"),k=e.resolveComponent("IdmEcaZone"),w=e.resolveComponent("IdmWarZone"),x=e.resolveComponent("IdmGmdssArea"),_=e.resolveComponent("IdmLoadLine"),y=e.resolveComponent("IdmWorldMarine"),P=e.resolveComponent("IdmVRA"),R=e.resolveComponent("IdmSpecialArea"),O=e.resolveComponent("IdmWorld12nm"),j=e.resolveComponent("IdmChinaRoute"),V=e.resolveComponent("IdmIceAreas"),Z=e.resolveComponent("IdmFollowPort"),q=e.resolveComponent("IdmFollowPosition");return e.openBlock(),e.createElementBlock("div",vr,[e.createElementVNode("div",{class:"menu-bar-box transition px-1 rounded",style:e.normalizeStyle({top:a.top+10+"px",right:i.right+"px"})},[e.createVNode(s,{text:o.$t("layer.mapLayers"),location:"left"},{activator:e.withCtx(({props:I})=>[e.createVNode(n,e.mergeProps(I,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:e.withCtx(()=>t[5]||(t[5]=[e.createElementVNode("i",{class:"iconfont icon-Layer text-h4"},null,-1)])),_:2,__:[5]},1040,["class","onClick"])]),_:1},8,["text"])],4),e.createElementVNode("div",{class:e.normalizeClass(["available-layers transition",i.toggle?"right-bar":""]),style:e.normalizeStyle({top:a.top+"px",right:i.toggle?"0px":"-280px"})},[e.createElementVNode("div",zr,[e.createElementVNode("div",Lr,e.toDisplayString(o.$t("layer.layers")),1),e.createVNode(n,{icon:"",density:"compact",variant:"plain",class:"mr-n2",onClick:l.handleMenuToggle},{default:e.withCtx(()=>t[6]||(t[6]=[e.createElementVNode("i",{class:"iconfont icon-close opacity-70 text-h4"},null,-1)])),_:1,__:[6]},8,["onClick"])]),e.createElementVNode("div",Cr,[e.createVNode(g,{class:"menu-card mx-auto mb-3",elevation:"0"},{default:e.withCtx(()=>[e.createVNode(p,{class:"border-b-thin"},{default:e.withCtx(()=>[e.createVNode(c,{class:"text-subtitle-1 font-weight-medium",style:{"font-size":"16px !important"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("layer.mapFeathers")),1)]),_:1})]),_:1}),e.createVNode(d,{class:"pb-2"},{default:e.withCtx(()=>[e.createElementVNode("div",Pr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.mapFeathers,I=>(e.openBlock(),e.createElementBlock("div",{key:I.value,class:"mb-2 feather-item",onClick:oe=>l.handleToggleMapFeather(I)},[e.createElementVNode("div",{class:e.normalizeClass([i.mapFeather===I.value?"active":"","img-box"])},[I.value==="dark"?(e.openBlock(),e.createElementBlock("img",Tr)):I.value==="nautical"?(e.openBlock(),e.createElementBlock("img",Nr)):I.value==="satellite"?(e.openBlock(),e.createElementBlock("img",Mr)):(e.openBlock(),e.createElementBlock("img",Ir))],2),e.createElementVNode("div",Er,e.toDisplayString(o.$t(`layer.${I.locale}`)),1)],8,Sr))),128))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.tagLayers.filter(I=>["graticule","day-night","time-zones"].includes(I.key)),I=>(e.openBlock(),e.createBlock(h,{key:I.key,modelValue:i.checkList,"onUpdate:modelValue":t[0]||(t[0]=oe=>i.checkList=oe),value:I.key,label:o.$t(`layer.${I.locale}`),color:"primary",density:"compact",style:{height:"36px"},class:"flex-1-0-100 text-body-2","hide-details":""},null,8,["modelValue","value","label"]))),128))]),_:1})]),_:1}),e.createVNode(g,{class:"menu-card mx-auto mb-3",elevation:"0"},{default:e.withCtx(()=>[e.createVNode(p,{class:"border-b-thin"},{default:e.withCtx(()=>[e.createVNode(c,{class:"text-subtitle-1 font-weight-medium",style:{"font-size":"16px !important"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("layer.pointsOfInteresting")),1)]),_:1})]),_:1}),e.createVNode(d,{class:"py-2"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.tagLayers.filter(I=>["ports","alert-zones","tidal-stations"].includes(I.key)),I=>(e.openBlock(),e.createBlock(h,{key:I.key,modelValue:i.checkList,"onUpdate:modelValue":t[1]||(t[1]=oe=>i.checkList=oe),value:I.key,label:o.$t(`layer.${I.locale}`),color:"primary",density:"compact",style:{height:"36px"},class:"flex-1-0-100 text-body-2","hide-details":""},null,8,["modelValue","value","label"]))),128))]),_:1})]),_:1}),e.createVNode(g,{class:"menu-card mx-auto mb-3",elevation:"0"},{default:e.withCtx(()=>[e.createVNode(p,{class:"border-b-thin"},{default:e.withCtx(()=>[e.createVNode(c,{class:"text-subtitle-1 font-weight-medium",style:{"font-size":"16px !important"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("layer.otherLayers")),1)]),_:1})]),_:1}),e.createVNode(d,{class:"py-2"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.tagLayers.filter(I=>!["graticule","day-night","time-zones","ports","alert-zones","tidal-stations"].includes(I.key)),I=>(e.openBlock(),e.createBlock(h,{key:I.key,modelValue:i.checkList,"onUpdate:modelValue":t[2]||(t[2]=oe=>i.checkList=oe),value:I.key,label:o.$t(`layer.${I.locale}`),color:"primary",density:"compact",style:{height:"36px"},class:"flex-1-0-100 text-body-2","hide-details":""},null,8,["modelValue","value","label"]))),128))]),_:1})]),_:1}),e.createVNode(g,{class:"menu-card mx-auto mb-3",elevation:"0"},{default:e.withCtx(()=>[e.createVNode(p,{class:"border-b-thin"},{default:e.withCtx(()=>[e.createVNode(c,{class:"text-subtitle-1 font-weight-medium",style:{"font-size":"16px !important"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("layer.myFollows")),1)]),_:1})]),_:1}),e.createVNode(d,{class:"py-2"},{default:e.withCtx(()=>[e.createVNode(h,{modelValue:i.checkList,"onUpdate:modelValue":t[3]||(t[3]=I=>i.checkList=I),value:"follow-ports",label:o.$t("layer.ports"),color:"primary",density:"compact",style:{height:"36px"},class:"flex-1-0-100 text-body-2","hide-details":""},null,8,["modelValue","label"]),e.createVNode(h,{modelValue:i.checkList,"onUpdate:modelValue":t[4]||(t[4]=I=>i.checkList=I),value:"follow-positions",label:o.$t("layer.locations"),color:"primary",density:"compact",style:{height:"36px"},class:"flex-1-0-100 text-body-2","hide-details":""},null,8,["modelValue","label"])]),_:1})]),_:1})])],6),a.map?(e.openBlock(),e.createBlock(b,e.mergeProps({key:0,map:a.map,"menu-toggle":a.menuToggle,show:i.checkList.includes("graticule")},o.$attrs),null,16,["map","menu-toggle","show"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(f,e.mergeProps({key:1,map:a.map,area:(H=i.otherLayers)==null?void 0:H["day-night"]},o.$attrs),null,16,["map","area"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(v,e.mergeProps({key:2,map:a.map,zone:(J=i.otherLayers)==null?void 0:J["time-zones"]},o.$attrs),null,16,["map","zone"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(u,e.mergeProps({key:3,map:a.map,ports:(re=i.otherLayers)==null?void 0:re.ports,"forecast-model":a.forecastModel},o.$attrs,{"before-layer":"empty-layer-3"}),null,16,["map","ports","forecast-model"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(C,e.mergeProps({key:4,map:a.map,zone:(le=i.otherLayers)==null?void 0:le["alert-zones"]},o.$attrs,{"before-layer":"empty-layer-3",theme:a.theme}),null,16,["map","zone","theme"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(z,e.mergeProps({key:5,ref:"idmIideStation",map:a.map,gateway:a.gateway,token:a.token,show:i.checkList.includes("tidal-stations"),theme:a.theme,realTime:a.realTime,forecastModel:a.forecastModel},o.$attrs),null,16,["map","gateway","token","show","theme","realTime","forecastModel"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(k,e.mergeProps({key:6,map:a.map,zone:(ee=i.otherLayers)==null?void 0:ee["eca-zones"]},o.$attrs),null,16,["map","zone"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(w,e.mergeProps({key:7,map:a.map,zone:(F=i.otherLayers)==null?void 0:F["war-zones"]},o.$attrs),null,16,["map","zone"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(x,e.mergeProps({key:8,map:a.map,area:(Y=i.otherLayers)==null?void 0:Y["gmdss-areas"]},o.$attrs),null,16,["map","area"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(_,e.mergeProps({key:9,map:a.map,show:i.checkList.includes("load-lines")},o.$attrs),null,16,["map","show"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(y,e.mergeProps({key:10,map:a.map,token:a.token,show:i.checkList.includes("worldMarine")},o.$attrs),null,16,["map","token","show"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(P,e.mergeProps({key:11,map:a.map,area:(ne=i.otherLayers)==null?void 0:ne["voluntary-reporting-area"]},o.$attrs),null,16,["map","area"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(R,e.mergeProps({key:12,map:a.map,area:(te=i.otherLayers)==null?void 0:te["special-area"]},o.$attrs),null,16,["map","area"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(O,e.mergeProps({key:13,map:a.map,token:a.token,show:i.checkList.includes("world12nm")},o.$attrs),null,16,["map","token","show"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(j,e.mergeProps({key:14,map:a.map,token:a.token,show:i.checkList.includes("chinaRoute")},o.$attrs),null,16,["map","token","show"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(V,e.mergeProps({key:15,map:a.map,show:i.checkList.includes("ice-areas")},o.$attrs),null,16,["map","show"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(Z,e.mergeProps({key:16,map:a.map,show:i.checkList.includes("follow-ports"),"forecast-model":a.forecastModel},o.$attrs,{"before-layer":"empty-layer-3"}),null,16,["map","show","forecast-model"])):e.createCommentVNode("",!0),a.map?(e.openBlock(),e.createBlock(q,e.mergeProps({key:17,map:a.map,show:i.checkList.includes("follow-positions"),"forecast-model":a.forecastModel,realTime:a.realTime},o.$attrs),null,16,["map","show","forecast-model","realTime"])):e.createCommentVNode("",!0)])}const Ar=B(_r,[["render",Dr]]);class Ft{constructor(t){$(this,"map");$(this,"mercator");$(this,"rampColorLayer");$(this,"rampColorSource");$(this,"particleLayer");$(this,"particleSource");$(this,"rampColorCanvas");$(this,"particleCanvas");$(this,"ratio");this.map=t,this.mercator=new Aa,this.rampColorLayer="ramp-color-layer",this.rampColorSource="ramp-color-source",this.particleLayer="particle-layer",this.particleSource="particle-source",this.rampColorCanvas=document.createElement("canvas"),this.particleCanvas=document.createElement("canvas"),this.ratio=window.devicePixelRatio}convertNLng(t,a=0){return t>180?this.convertNLng(t-360,a+1):t<-180?this.convertNLng(t+360,a+1):[t,a]}getBoundLngLat(){var a;const t=(a=this.map)==null?void 0:a.getBounds();return t?[[t._sw.lng,t._ne.lat],[t._ne.lng,t._ne.lat],[t._ne.lng,t._sw.lat],[t._sw.lng,t._sw.lat]]:[]}getBoundPixel(){var f,v;const t=(f=this.map)==null?void 0:f.getBounds();if(!t)return[];const a=((v=this.map)==null?void 0:v.getZoom())+1,r=[t._ne.lng,t._ne.lat],i=[t._sw.lng,t._sw.lat],[l,n]=this.convertNLng(r[0]),[s,c]=this.convertNLng(i[0]),[p,h]=this.mercator.px([l,r[1]],a),[d,g]=this.mercator.px([s,i[1]],a),b=Math.round(this.mercator.size*Math.pow(2,a)*(n+c));return[d,g,p+b,h]}getBoundRange(){const t=this.map.getZoom()+1,a=this.mercator.size*Math.pow(2,t),r=this.getBoundPixel();return[r[0]/a,r[2]/a,r[3]/a,r[1]/a]}getWorldCopy(t,a){const r=2**a,[i,l,n,s]=t.map(h=>~~(h/(r*256))),c=[];for(let h=s;h<=l;h++)for(let d=i;d<=n;d++)c.push([d,h]);return c.map(h=>{const d=2**a*256;return[h[0]*d,h[1]*d,d]})}resize(){let t=this.map.getSource(this.rampColorSource);t.setCoordinates(this.getBoundLngLat()),t=this.map.getSource(this.particleSource),t.setCoordinates(this.getBoundLngLat()),this.rampColorCanvas.width=this.map._canvas.clientWidth,this.rampColorCanvas.height=this.map._canvas.clientHeight,this.particleCanvas.width=this.map._canvas.clientWidth,this.particleCanvas.height=this.map._canvas.clientHeight}toggle(t){var i;const a=(i=this.map)==null?void 0:i.getLayoutProperty(this.rampColorLayer,"visibility"),r=t?"visible":"none";a!==r&&this.map.setLayoutProperty(this.rampColorLayer,"visibility",r)}toggleParticle(t){var i;const a=(i=this.map)==null?void 0:i.getLayoutProperty(this.particleLayer,"visibility"),r=t?"visible":"none";a!==r&&this.map.setLayoutProperty(this.particleLayer,"visibility",r)}}class be{createShader(t,a,r){const i=t.createShader(a);if(i&&(t.shaderSource(i,r),t.compileShader(i),!t.getShaderParameter(i,t.COMPILE_STATUS)))throw new Error(t.getShaderInfoLog(i)||"error happened while create shader...");return i}createTexture(t,a,r,i,l,n,s){const c=t.createTexture();return t.bindTexture(t.TEXTURE_2D,c),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,a),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,i),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,i),l instanceof Uint8Array?t.texImage2D(t.TEXTURE_2D,0,t.RGBA,n,s,0,t.RGBA,t.UNSIGNED_BYTE,l):t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,l),t.bindTexture(t.TEXTURE_2D,null),c}createDataBuffer(t,a,r){if(t){const i=t.createBuffer();return a==="array"?(t.bindBuffer(t.ARRAY_BUFFER,i),r&&t.bufferData(t.ARRAY_BUFFER,r,t.STATIC_DRAW)):a==="element"&&(t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,i),r&&t.bufferData(t.ELEMENT_ARRAY_BUFFER,r,t.STATIC_DRAW)),i}return null}createProgram(t,a,r){const i=t.createProgram(),l=this.createShader(t,t.VERTEX_SHADER,a),n=this.createShader(t,t.FRAGMENT_SHADER,r);if(i&&l&&n&&(t.attachShader(i,l),t.attachShader(i,n),t.linkProgram(i),!t.getProgramParameter(i,t.LINK_STATUS)))throw new Error(t.getProgramInfoLog(i)||"error happened while creating ramp color program");return i}createProgramWrapper(t,a,r){const i=this.createProgram(t,a,r);if(i){const l={program:i},n=t.getProgramParameter(i,t.ACTIVE_ATTRIBUTES);for(let c=0;c<n;c++){const p=t.getActiveAttrib(i,c);l[p.name]=t.getAttribLocation(i,p.name)}const s=t.getProgramParameter(i,t.ACTIVE_UNIFORMS);for(let c=0;c<s;c++){const p=t.getActiveUniform(i,c);l[p.name]=t.getUniformLocation(i,p.name)}return l}}setup(t,a,r=!1,i,l){const n=document.createElement("canvas");n.width=256,n.height=1;const s=n.getContext("2d");if(s&&t){const c=s==null?void 0:s.createLinearGradient(0,0,256,0);return a.forEach(([p,h])=>{c.addColorStop(p,h)}),s.fillStyle=c,s.fillRect(0,0,256,1),{canvas:n,texture:this.createTexture(t,t.LINEAR,t.LINEAR,t.CLAMP_TO_EDGE,r?new Uint8Array(s.getImageData(0,0,256,1).data):n,i,l)}}}setupParticle(t,a=1e3){const r=Math.ceil(Math.sqrt(a)),i=r*r,l=new Uint8Array(i*4);for(let h=0;h<l.length;h++)l[h]=Math.floor(Math.random()*256);const n=this.createTexture(t,t.NEAREST,t.NEAREST,t.CLAMP_TO_EDGE,l,r,r),s=this.createTexture(t,t.NEAREST,t.NEAREST,t.CLAMP_TO_EDGE,l,r,r),c=new Float32Array(i);for(let h=0;h<i;h++)c[h]=h;const p=this.createDataBuffer(t,"array",c);return{resolution:r,total:i,texture0:n,texture1:s,indexBuffer:p}}bind(t,a,r){const i=this.createProgram(t,a,r);if(i){const l=this.createDataBuffer(t,"array",void 0),n=t.getAttribLocation(i,"a_position");t.enableVertexAttribArray(n),t.vertexAttribPointer(n,2,t.FLOAT,!1,0,0);const s=new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1]);this.createDataBuffer(t,"array",s);const c=t.getAttribLocation(i,"a_texCoord");return t.enableVertexAttribArray(c),t.vertexAttribPointer(c,2,t.FLOAT,!1,0,0),{program:i,aPositionBuffer:l}}return{}}bindParticle(t,a,r,i,l,n){const s=this.createProgramWrapper(t,a,r),c=this.createProgramWrapper(t,i,l),p=this.createProgramWrapper(t,i,n),h=this.createDataBuffer(t,"array",new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1])),d=t.createFramebuffer();return{particle:s,screen:c,update:p,quadBuffer:h,frameBuffer:d}}draw(t,a,r,i,l,n,s){var c,p;if(a&&r){t.resize(),a==null||a.viewport(0,0,(c=a==null?void 0:a.canvas)==null?void 0:c.width,(p=a==null?void 0:a.canvas)==null?void 0:p.height),a.clearColor(0,0,0,0),a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT);try{a.useProgram(r);const h={resolution:a.getUniformLocation(r,"u_resolution"),image:a.getUniformLocation(r,"u_image"),color:a.getUniformLocation(r,"u_color"),scale:a.getUniformLocation(r,"u_scale"),uvRange:a.getUniformLocation(r,"u_range_u_v"),sRange:a.getUniformLocation(r,"u_range_s")};h.resolution&&a.uniform2f(h.resolution,a.canvas.width*t.ratio,a.canvas.height*t.ratio),a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,i),h.image&&a.uniform1i(h.image,0),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,l),h.color&&a.uniform1i(h.color,1),s!=null&&s.uvRange&&(s!=null&&s.sRange)&&(h.uvRange&&a.uniform2f(h.uvRange,s.uvRange[0],s.uvRange[1]),h.sRange&&a.uniform2f(h.sRange,s.sRange[0],s.sRange[1])),h.scale&&a.uniform1f(h.scale,(s==null?void 0:s.scale)||1);const d=t.getBoundPixel(),g=t.map.getZoom()+1,b=t.getWorldCopy(d,g);for(const f of b){const v=(f[0]-d[0])*t.ratio,u=(f[1]-d[3])*t.ratio,C=f[2]*t.ratio,[z,k,w,x]=[v,C+v,u,C+u],_=new Float32Array([z,w,k,w,z,x,z,x,k,w,k,x]);a.bindBuffer(a.ARRAY_BUFFER,n),a.bufferData(a.ARRAY_BUFFER,_,a.STATIC_DRAW),a.drawArrays(a.TRIANGLES,0,6)}}catch(h){console.log(`render failed...${h}`)}}}drawParticle(t,a,r,i,l){var n,s;a&&(a==null||a.viewport(0,0,(n=a==null?void 0:a.canvas)==null?void 0:n.width,(s=a==null?void 0:a.canvas)==null?void 0:s.height),a.disable(a.DEPTH_TEST),a.disable(a.STENCIL_TEST),a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,r),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,i.texture0),this.renderScreen(t,a,i,l),this.updateParticles(t,a,i,l))}renderScreen(t,a,r,i){a.bindFramebuffer(a.FRAMEBUFFER,r.frameBuffer),a.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,a.TEXTURE_2D,r.screenTexture,0),a.viewport(0,0,a.canvas.width,a.canvas.height),this.renderScreenTexture(a,r.backgroundTexture,r.screen,r.quadBuffer,.95),this.renderParticles(t,a,r,i),a.bindFramebuffer(a.FRAMEBUFFER,null),this.renderScreenTexture(a,r.screenTexture,r.screen,r.quadBuffer,1);const l=r.backgroundTexture;r.backgroundTexture=r.screenTexture,r.screenTexture=l}renderScreenTexture(t,a,r,i,l){t&&(t.useProgram(r.program),t.bindBuffer(t.ARRAY_BUFFER,i),t.enableVertexAttribArray(r.a_pos),t.vertexAttribPointer(r.a_pos,2,t.FLOAT,!1,0,0),t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,a),t.uniform1i(r.u_screen,2),t.uniform1f(r.u_opacity,l),t.drawArrays(t.TRIANGLES,0,6))}renderParticles(t,a,r,i){if(a){a.useProgram(r.particle.program),a.bindBuffer(a.ARRAY_BUFFER,r.indexBuffer),a.enableVertexAttribArray(r.particle.a_index),a.vertexAttribPointer(r.particle.a_index,1,a.FLOAT,!1,0,0),a.activeTexture(a.TEXTURE2),a.bindTexture(a.TEXTURE_2D,r.color.texture),a.uniform1i(r.particle.u_factor,0),a.uniform1i(r.particle.u_particles,1),a.uniform1i(r.particle.u_color_ramp,2),a.uniform1f(r.particle.u_particles_resolution,r.resolution*t.ratio),a.uniform1f(r.particle.u_point,t.ratio);const l=t.getBoundRange();a.uniform4f(r.particle.u_viewport,l[0],l[1],l[2],l[3]),a.uniform2f(r.particle.u_factor_min,i.uvRange[0],i.uvRange[0]),a.uniform2f(r.particle.u_factor_max,i.uvRange[1],i.uvRange[1]),a.drawArrays(a.POINTS,0,r.total)}}updateParticles(t,a,r,i){var n,s;if(a){a.bindFramebuffer(a.FRAMEBUFFER,r.frameBuffer),a.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,a.TEXTURE_2D,r.texture1,0),a.viewport(0,0,r.resolution,r.resolution),a.useProgram(r.update.program),a.bindBuffer(a.ARRAY_BUFFER,r.quadBuffer),a.enableVertexAttribArray(r.update.a_pos),a.vertexAttribPointer(r.update.a_pos,2,a.FLOAT,!1,0,0),a.uniform1i(r.update.u_factor,0),a.uniform1i(r.update.u_particles,1);const c=t.getBoundRange();a.uniform4f(r.update.u_viewport,c[0],c[1],c[2],c[3]),a.uniform1f(r.update.u_rand_seed,Math.random()),a.uniform2f(r.update.u_factor_res,(n=r==null?void 0:r.image)==null?void 0:n.width,(s=r==null?void 0:r.image)==null?void 0:s.height),a.uniform2f(r.update.u_factor_min,i.uvRange[0],i.uvRange[0]),a.uniform2f(r.update.u_factor_max,i.uvRange[1],i.uvRange[1]),a.uniform1f(r.update.u_speed_factor,i.speedFactor*t.ratio),a.uniform1f(r.update.u_drop_rate,i.dropRate),a.uniform1f(r.update.u_drop_rate_bump,i.dropRateBump),a.drawArrays(a.TRIANGLES,0,6)}const l=r.texture0;r.texture0=r.texture1,r.texture1=l}resize(t,a){t.resize();const r=new Uint8Array(a.canvas.width*a.canvas.height*4).fill(0,0,a.canvas.width*a.canvas.height*4),i=this.createTexture(a,a.NEAREST,a.NEAREST,a.CLAMP_TO_EDGE,r,a.canvas.width,a.canvas.height),l=this.createTexture(a,a.NEAREST,a.NEAREST,a.CLAMP_TO_EDGE,r,a.canvas.width,a.canvas.height);return{screenTexture:i,backgroundTexture:l}}async loadImg(t){return new Promise(a=>{const r=new Blob([t],{type:t.type}),i=URL.createObjectURL(r),l=new Image;l.crossOrigin="anonymous",l.src=i,l.onload=()=>a(l)})}}class Q{}$(Q,"vertexSchema",`
|
|
6
6
|
//canvas 坐标系上的坐标 (x, y)
|
|
7
7
|
attribute vec2 a_position; //像素坐标
|
|
8
8
|
attribute vec2 a_texCoord; //纹理坐标
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";#idm-gl4-zone-info{position:absolute;height:fit-content;max-height:900px;overflow-y:auto;font-size:13px}#idm-gl4-zone-info .rich-context{width:500px}#idm-gl4-zone-info .rich-context span{color:rgba(var(--v-theme-on-surface),.8)!important}#idm-gl4-zone-info .rich-context hr{border:none;border-top:1px solid rgba(var(--v-theme-on-surface),.2)!important;margin:5px 0}#idm-gl4-zone-info .close{position:absolute;top:4px;right:10px;color:rgba(var(--v-theme-on-surface),1)!important}#idmPortInfo[data-v-61def159]{position:absolute;height:fit-content;z-index:9}#idmPortInfo .port-box[data-v-61def159]{width:max-content}.idm-gl2-enc-legend-bars-gl4-gl4{margin-bottom:150px;border-radius:5px;background:var(--idm-background-linear-gradient-top)}.idm-gl2-enc-legend-bars-gl4-gl4 div{padding:4px 8px;cursor:pointer;color:rgba(var(--v-theme-white),.9)}.idm-gl2-enc-legend-bars-gl4-gl4 div.active{color:var(--idm-success-color)}.tide-detail-container[data-v-8a385a7e]{height:calc(100% - 100px);max-height:700px;width:480px;position:absolute;left:10px;top:80px;transition:all .4s ease-in-out;z-index:8}#idmTidalInfo[data-v-8a385a7e]{position:absolute;height:fit-content}#idmTidalInfo .station-box[data-v-8a385a7e]{width:max-content}.tide-table{border:thin solid rgba(var(--v-border-color),var(--v-border-opacity));border-collapse:collapse}.tide-table th,.tide-table td{height:30px;border:thin solid rgba(var(--v-border-color),var(--v-border-opacity));border-collapse:collapse;text-overflow:ellipsis}.idm-lat-lng-tip-gl4{position:absolute;bottom:10px;min-width:134px;height:68px;background:rgba(var(--v-theme-background),var(--v-background-opacity));-webkit-backdrop-filter:var(--v-backdrop-filter);backdrop-filter:var(--v-backdrop-filter);box-shadow:var(--v-box-shadow-light);transition:all .4s ease-in-out;z-index:2}#idmFollowPortInfo[data-v-de5a1fa3]{position:absolute;height:fit-content;z-index:9}#idmFollowPortInfo .port-box[data-v-de5a1fa3]{width:max-content}.idm-gl4-other-layer .menu-bar-box{position:absolute;overflow-y:hidden;box-sizing:border-box;height:248px;padding-top:48px;background:rgba(var(--v-theme-menu-bg),.6);-webkit-backdrop-filter:var(--v-backdrop-filter);backdrop-filter:var(--v-backdrop-filter);box-shadow:var(--v-box-shadow-light);z-index:2}.idm-gl4-other-layer .available-layers{position:absolute;top:60px;width:280px;height:calc(100vh - 60px);box-sizing:border-box;background:rgba(var(--v-theme-drawer-bg),var(--v-background-opacity));-webkit-backdrop-filter:var(--v-backdrop-filter);backdrop-filter:var(--v-backdrop-filter);box-shadow:var(--v-box-shadow-light);z-index:1}.idm-gl4-other-layer .available-layers .header-box{height:56px}.idm-gl4-other-layer .available-layers .list-box{height:calc(100% - 56px)}.idm-gl4-other-layer .available-layers .list-box .layers-body .feather-item{width:47%;border-radius:4px;box-sizing:border-box;cursor:pointer}.idm-gl4-other-layer .available-layers .list-box .layers-body .feather-item:nth-child(odd){margin-right:6%}.idm-gl4-other-layer .available-layers .list-box .layers-body .feather-item .img-box{width:100%;height:60px;padding:2px;border-radius:4px;border:var(--v-layer-img-border)}.idm-gl4-other-layer .available-layers .list-box .layers-body .feather-item .img-box.active{border:2px solid rgba(var(--v-theme-primary),1)!important}.idm-gl4-other-layer .available-layers .list-box .layers-body .feather-item .img-box img{width:100%;height:100%;border-radius:4dvh}.legend-bars-gl4.wind{background:linear-gradient(to bottom,rgb(98,113,184),rgb(98,113,184),rgb(98,113,184),rgb(98,113,184),rgb(61,110,163),rgb(74,148,170),rgb(74,146,148),rgb(77,142,124),rgb(76,164,76),rgb(103,164,54),rgb(162,135,64),rgb(162,109,92),rgb(141,63,92),rgb(151,75,145),rgb(95,100,160),rgb(91,136,161),rgb(91,136,161))}.legend-bars-gl4.current{background:linear-gradient(to bottom,rgb(84,170,230),rgb(84,170,230),rgb(84,170,230),rgb(84,170,230),rgb(64,127,115),rgb(58,164,58),rgb(191,182,67),rgb(197,154,68),rgb(160,70,94),rgb(138,84,166),rgb(82,113,165),rgb(84,142,152),rgb(150,181,184),rgb(195,194,194),rgb(195,194,194))}.legend-bars-gl4.sig-wave[data-v-79ce70e2]{background:linear-gradient(to bottom,rgb(50,158,186),rgb(50,158,186),rgb(50,158,186),rgb(50,158,186),rgb(48,128,164),rgb(48,99,142),rgb(52,101,166),rgb(56,104,192),rgb(56,82,169),rgb(57,61,143),rgb(134,48,48),rgb(194,77,91),rgb(192,118,105),rgb(192,163,157),rgb(192,163,157))}.legend-bars-gl4.ice-edge{background:linear-gradient(to bottom,rgb(220,243,252),rgb(220,243,252),rgb(86,169,230),rgb(47,226,155),rgb(47,226,155),rgb(47,226,155),rgb(213,253,37),rgb(213,253,37),rgb(213,253,37),rgb(230,176,39),rgb(230,176,39),rgb(230,84,39),rgb(230,84,39))}.legend-bars-gl4.ice-cover[data-v-9696d73b]{background:linear-gradient(to bottom,rgb(255,255,255),rgb(53,125,177),rgb(33,145,140),rgb(45,178,125),rgb(112,207,87),rgb(253,231,37))}.legend-bars-gl4.ice-thickness{background:linear-gradient(to bottom,rgb(4,6,19),rgb(51,50,102),rgb(51,50,102),rgb(63,82,158),rgb(63,82,158),rgb(66,123,183),rgb(66,123,183),rgb(92,161,197),rgb(92,161,197),rgb(134,199,212),rgb(134,199,212),rgb(234,253,253))}.legend-bars-gl4.precip3h{background:linear-gradient(to bottom,rgba(59,126,162,0),rgb(172,210,255),rgb(172,210,255),rgb(3,248,103),rgb(14,201,3),rgb(190,226,2),rgb(248,1,1),rgb(197,5,58),rgb(197,5,58))}.legend-bars-gl4.visibility{background:linear-gradient(to bottom,rgb(189,50,160),rgb(189,50,160),rgb(189,50,160),rgb(189,50,160),rgb(208,56,56),rgb(208,56,56),rgb(190,226,2),rgb(190,226,2),rgb(4,210,64),rgb(4,210,64),rgb(172,210,255),rgb(172,210,255))}.legend-bars-gl4.water-temp{background:linear-gradient(to bottom,rgb(95,143,197),rgb(95,143,197),rgb(95,143,197),rgb(95,143,197),rgb(80,140,62),rgb(121,146,28),rgb(171,161,14),rgb(223,177,6),rgb(243,150,6),rgb(236,95,21),rgb(190,65,18),rgb(138,43,10),rgb(138,43,10))}.legend-bars-gl4.temp{background:linear-gradient(to bottom,rgb(149,137,211),rgb(149,137,211),rgb(149,137,211),rgb(149,137,211),rgb(150,209,216),rgb(129,204,197),rgb(103,180,186),rgb(95,143,197),rgb(80,140,62),rgb(121,146,28),rgb(171,161,14),rgb(223,177,6),rgb(243,150,6),rgb(236,95,21),rgb(190,65,18),rgb(138,43,10),rgb(138,43,10))}.idm-gl4-meteo-layers .menu-bar-box{position:absolute;box-sizing:border-box;z-index:2}.idm-gl4-meteo-layers .available-layers{position:absolute;top:60px;width:280px;height:calc(100vh - 60px);box-sizing:border-box;background:rgba(var(--v-theme-drawer-bg),var(--v-background-opacity));-webkit-backdrop-filter:var(--v-backdrop-filter);backdrop-filter:var(--v-backdrop-filter);box-shadow:var(--v-box-shadow-light);z-index:1}.idm-gl4-meteo-layers .available-layers .header-box{height:56px}.idm-gl4-meteo-layers .available-layers .list-box{height:calc(100% - 56px)}.idm-tropical-gl4 .menu-bar-box{position:absolute;box-sizing:border-box;z-index:2}.idm-tropical-gl4-info .close{position:absolute;font-size:12px;right:10px;top:10px;color:rgba(var(--v-theme-on-surface),.8)!important}.idm-tropical-gl4-info .model-box{background:var(--v-gray-bg);-webkit-backdrop-filter:var(--v-backdrop-filter);backdrop-filter:var(--v-backdrop-filter);box-shadow:var(--v-box-shadow-light)}.idm-tropical-gl4-info .model-box .model{font-size:12px;padding:0 2px}.idm-tropical-gl4-info .legend .icon{height:10px;width:10px;border-radius:50%;border:2px solid rgba(var(--v-theme-on-surface),.1);margin-right:4px}.idm-tropical-gl4-info .legend .icon.td{background-color:var(--v-tropicals-td)}.idm-tropical-gl4-info .legend .icon.ts{background-color:var(--v-tropicals-ts)}.idm-tropical-gl4-info .legend .icon.sts{background-color:var(--v-tropicals-sts)}.idm-tropical-gl4-info .legend .icon.ty{background-color:var(--v-tropicals-ty)}.idm-tropical-gl4-info .legend .icon.sty{background-color:var(--v-tropicals-sty)}.idm-tropical-gl4-info .legend .icon.supper-ty{background-color:var(--v-tropicals-super-ty)}.idm-tropical-gl4-info .legend .icon.r7{height:14px;width:14px;border:2px solid var(--v-tropicals-r7)}.idm-tropical-gl4-info .legend .icon.r10{height:14px;width:14px;border:2px solid var(--v-tropicals-r10)}.idm-tropical-gl4-info .legend .icon.history{border:1px solid rgba(var(--v-theme-on-surface),.7);border-radius:0;width:16px;height:2px}.idm-tropical-gl4-info .legend .icon.forecast{border:1px dashed rgba(var(--v-theme-on-surface),.7);border-radius:0;width:16px;height:2px}.idm-tropical-gl4-info .legend .button{cursor:pointer;padding:0 4px;border-radius:4px;border:1px solid rgba(var(--v-theme-primary));color:rgba(var(--v-theme-primary))}.idm-tropical-gl4-hourly-marker .iconfont{font-size:34px!important;color:rgba(var(--v-theme-error))}.idm-tropical-gl4-hourly-marker svg{height:34px;width:34px}.idm-tropical-gl4-hourly-marker .center{box-sizing:border-box;display:flex;align-items:center;justify-content:center}.idm-tropical-gl4-hourly-marker .center.north{animation:anticlockwise 2s linear infinite}.idm-tropical-gl4-hourly-marker .center.south{animation:clockwise 2s linear infinite}.idm-gl4-timepicker{position:relative}.idm-gl4-timepicker .card-box{position:absolute;bottom:36px;left:-62px;width:350px;height:320px;z-index:10}.v-date-picker .v-picker-title{display:none}.v-date-picker .v-date-picker-controls{padding:0 8px}.v-date-picker .v-date-picker-controls .v-date-picker-controls__month-btn{padding:0 8px;border-radius:4px!important;font-weight:500!important;border:thin solid rgba(var(--v-theme-on-surface),.12);margin-right:8px}.v-date-picker .v-date-picker-controls .v-date-picker-controls__month-btn:hover{background-color:rgba(var(--v-theme-on-background),var(--v-hover-opacity))!important;border-radius:inherit}.v-date-picker .v-date-picker-controls .v-date-picker-controls__mode-btn{width:52px!important;border-radius:4px!important;transform:rotate(0)!important;border:thin solid rgba(var(--v-theme-on-surface),.12)}.v-date-picker .v-date-picker-controls .v-date-picker-controls__mode-btn i{font-size:12px!important;font-style:normal!important}.v-date-picker .v-date-picker-month{padding:0!important}.v-date-picker .v-date-picker-month__day{height:30px!important;width:30px!important}.v-date-picker .v-date-picker-month__day .v-date-picker-month__day-btn{--v-btn-height: 18px !important;border-radius:4px!important}.v-date-picker .v-date-picker-months{height:200px!important}.v-date-picker .v-date-picker-months .v-date-picker-months__content{grid-template-columns:repeat(3,1fr)!important}.v-date-picker .v-date-picker-months .v-date-picker-months__content .v-btn--rounded{border-radius:4px!important}.v-date-picker .v-date-picker-years{height:200px!important;overflow:hidden}.v-date-picker .v-date-picker-years .v-date-picker-years__content{grid-template-columns:repeat(2,1fr)!important}.v-date-picker .v-date-picker-years .v-date-picker-years__content .v-btn--rounded{border-radius:4px!important}.idm-gl4-spot .menu-bar-box{position:absolute;box-sizing:border-box;z-index:2}.idm-gl4-spot .spot-form-card{position:absolute;width:254px;overflow:visible;z-index:3;transition:all .4s ease-in-out}.idm-gl4-spot .spot-form-card .v-field,.idm-gl4-spot .spot-form-card .v-field__field,.idm-gl4-spot .spot-form-card .v-field__input{height:32px!important;min-height:32px!important;line-height:32px!important;padding:0 4px!important;font-size:14px!important}.idm-gl4-spot .spot-form-card .v-input__details{padding:0!important;height:14px!important;min-height:14px!important;line-height:14px!important;font-size:12px!important}.idm-gl4-measure .menu-bar-box{position:absolute;box-sizing:border-box;z-index:2}.idm-gl4-measure-marker{pointer-events:none!important}.idm-gl4-measure-marker .marker-circle{pointer-events:inherit;width:10px;height:10px;border-radius:50%;border:2px solid rgba(var(--v-theme-map-orange));background:#fff}.idm-gl4-measure-marker .marker-circle:hover{cursor:pointer}.idm-gl4-measure-marker.closed{pointer-events:auto!important}.idm-gl4-measure-summary-marker{color:#fff;font-size:12px;background:rgba(var(--v-theme-map-orange));border:2px solid #fff;padding:0 30px 0 5px;border-radius:4px;cursor:pointer}.idm-gl4-measure-summary-marker .marker-close{pointer-events:auto;position:absolute;background:rgba(var(--v-theme-map-orange));border-left:2px solid #fff;display:flex;align-items:center;justify-content:center;width:20px;height:100%;right:0;cursor:pointer;font-size:20px}.idm-gl4-measure-contextmenu-marker{color:#fff;font-size:12px;background:rgba(var(--v-theme-map-orange));border:2px solid #fff;padding:2px 5px;border-radius:5px;cursor:pointer}.idm-gl4-measure-tip-marker{font-size:12px;padding:2px 5px;border-radius:5px;background-color:rgba(var(--v-theme-surface),.7);-webkit-backdrop-filter:var(--v-backdrop-filter);backdrop-filter:var(--v-backdrop-filter);box-shadow:var(--v-box-shadow-light);cursor:pointer}.idm-gl4-measure-tip-marker .marker-label{border-bottom:var(--idm-dashed-border)}.idm-gl4-measure-tip-marker .marker-label:last-child{border-bottom:none}.idm-gl4-measure-tip-marker .marker-label b{font-weight:600;color:rgba(var(--v-theme-map-orange))}.idm-bottom-bar-gl4 .timeline-box{position:absolute;height:40px;box-sizing:border-box;background:rgba(var(--v-theme-background),var(--v-background-opacity));-webkit-backdrop-filter:var(--v-backdrop-filter);backdrop-filter:var(--v-backdrop-filter);box-shadow:var(--v-box-shadow-light);transition:all .4s ease-in-out;z-index:2}.idm-bottom-bar-gl4 .timeline-box i{font-size:20px}.idm-bottom-bar-gl4 .timezone-box{position:absolute;bottom:88px;transition:all .4s ease-in-out}.idm-bottom-bar-gl4 .timezone-box .btn-box{width:134px;background:rgba(var(--v-theme-background),var(--v-background-opacity))}.idm-bottom-bar-gl4 .timezone-box .list{width:288px;height:180px;margin-bottom:10px;box-shadow:var(--v-box-shadow-light);background:rgba(var(--v-theme-background),1);-webkit-backdrop-filter:var(--v-backdrop-filter);backdrop-filter:var(--v-backdrop-filter);z-index:3}.idm-bottom-bar-gl4 .timezone-box .list .item{width:48px;height:24px;line-height:24px;text-align:center;border:1px solid rgba(var(--v-theme-on-surface),.3);cursor:pointer}.mapboxgl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-left,.mapboxgl-ctrl-right,.mapboxgl-ctrl-top,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top{left:50%;top:0;transform:translate(-50%)}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-right{right:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl-bottom{bottom:0;left:50%;transform:translate(-50%)}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-left{left:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.mapboxgl-ctrl-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-bottom .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapboxgl-ctrl-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:initial;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:initial}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:#0000000d}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;box-sizing:initial;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:#0000000d}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:#000000bf;text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid #0000;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:initial;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:#0000000d}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:"";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid #0000;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid #0000;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:#000000b3;color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button{background-color:#fff;border:1px solid #ccc;border-radius:4px;color:#333;cursor:pointer;font-size:12px;height:auto;line-height:1.5;margin:2px;padding:5px 10px;width:auto}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:hover{background-color:#f0f0f0}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected{background-color:#4264fb;border-color:#4264fb;color:#fff}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected:hover{background-color:#3151d9}.mapbox-initial-gl4{box-sizing:border-box;height:100vh;width:100vw;overflow:hidden}.mapbox-initial-gl4 #map{position:absolute;width:100%;height:100%;cursor:pointer}.mapbox-initial-gl4 .menu-bar-box{position:absolute;overflow-y:hidden;box-sizing:border-box;height:112px;padding-top:8px;background:rgba(var(--v-theme-menu-bg),.6);-webkit-backdrop-filter:var(--v-backdrop-filter);backdrop-filter:var(--v-backdrop-filter);box-shadow:var(--v-box-shadow-light);z-index:2}.mapbox-initial-gl4 .menu-bar-box .zoom{width:32px;height:32px;line-height:32px;text-align:center;font-size:14px;font-weight:500;border-top:1px solid rgba(var(--v-border-color),var(--v-border-opacity));border-bottom:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.mapbox-initial-gl4 .mapboxgl-ctrl-top-right,.mapbox-initial-gl4 .mapboxgl-ctrl-bottom-right{display:none}.mapbox-initial-gl4 .mapboxgl-ctrl-bottom-left{bottom:20px}.mapbox-initial-gl4 .mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapbox-initial-gl4 .mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-logo{display:none}.mapbox-initial-gl4 .mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-scale{border:none;box-sizing:border-box;font-size:10px;padding:0 5px;margin-left:10px;white-space:nowrap;text-align:center;color:rgba(var(--v-theme-on-surface),1);background:rgba(var(--v-theme-background),.3);border-bottom:2px solid rgba(var(--v-theme-on-surface),.7);box-shadow:var(--v-box-shadow-light);-webkit-backdrop-filter:var(--v-backdrop-filter);backdrop-filter:var(--v-backdrop-filter)}.mapbox-initial-gl4 .mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-scale:before{content:"";position:absolute;top:60%;left:0;width:2px;height:40%;background:rgba(var(--v-theme-on-surface),.7)}.mapbox-initial-gl4 .mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-scale:after{content:"";position:absolute;top:60%;right:0;width:2px;height:40%;background:rgba(var(--v-theme-on-surface),.7)}
|
|
1
|
+
@charset "UTF-8";#idm-gl4-zone-info{position:absolute;height:fit-content;max-height:900px;overflow-y:auto;font-size:13px}#idm-gl4-zone-info .rich-context{width:500px}#idm-gl4-zone-info .rich-context span{color:rgba(var(--v-theme-on-surface),.8)!important}#idm-gl4-zone-info .rich-context hr{border:none;border-top:1px solid rgba(var(--v-theme-on-surface),.2)!important;margin:5px 0}#idm-gl4-zone-info .close{position:absolute;top:4px;right:10px;color:rgba(var(--v-theme-on-surface),1)!important}#idmPortInfo[data-v-61def159]{position:absolute;height:fit-content;z-index:9}#idmPortInfo .port-box[data-v-61def159]{width:max-content}.idm-gl2-enc-legend-bars-gl4-gl4{margin-bottom:150px;border-radius:5px;background:var(--idm-background-linear-gradient-top)}.idm-gl2-enc-legend-bars-gl4-gl4 div{padding:4px 8px;cursor:pointer;color:rgba(var(--v-theme-white),.9)}.idm-gl2-enc-legend-bars-gl4-gl4 div.active{color:var(--idm-success-color)}.tide-detail-container[data-v-5b47ddcf]{height:calc(100% - 100px);max-height:700px;width:480px;position:absolute;left:10px;top:80px;transition:all .4s ease-in-out;z-index:8}#idmTidalInfo[data-v-5b47ddcf]{position:absolute;height:fit-content}#idmTidalInfo .station-box[data-v-5b47ddcf]{width:max-content}.tide-table{border:thin solid rgba(var(--v-border-color),var(--v-border-opacity));border-collapse:collapse}.tide-table th,.tide-table td{height:30px;border:thin solid rgba(var(--v-border-color),var(--v-border-opacity));border-collapse:collapse;text-overflow:ellipsis}.idm-lat-lng-tip-gl4{position:absolute;bottom:10px;min-width:134px;height:68px;background:rgba(var(--v-theme-background),var(--v-background-opacity));-webkit-backdrop-filter:var(--v-backdrop-filter);backdrop-filter:var(--v-backdrop-filter);box-shadow:var(--v-box-shadow-light);transition:all .4s ease-in-out;z-index:2}#idmFollowPortInfo[data-v-de5a1fa3]{position:absolute;height:fit-content;z-index:9}#idmFollowPortInfo .port-box[data-v-de5a1fa3]{width:max-content}.idm-gl4-other-layer .menu-bar-box{position:absolute;overflow-y:hidden;box-sizing:border-box;height:248px;padding-top:48px;background:rgba(var(--v-theme-menu-bg),.6);-webkit-backdrop-filter:var(--v-backdrop-filter);backdrop-filter:var(--v-backdrop-filter);box-shadow:var(--v-box-shadow-light);z-index:2}.idm-gl4-other-layer .available-layers{position:absolute;top:60px;width:280px;height:calc(100vh - 60px);box-sizing:border-box;background:rgba(var(--v-theme-drawer-bg),var(--v-background-opacity));-webkit-backdrop-filter:var(--v-backdrop-filter);backdrop-filter:var(--v-backdrop-filter);box-shadow:var(--v-box-shadow-light);z-index:1}.idm-gl4-other-layer .available-layers .header-box{height:56px}.idm-gl4-other-layer .available-layers .list-box{height:calc(100% - 56px)}.idm-gl4-other-layer .available-layers .list-box .layers-body .feather-item{width:47%;border-radius:4px;box-sizing:border-box;cursor:pointer}.idm-gl4-other-layer .available-layers .list-box .layers-body .feather-item:nth-child(odd){margin-right:6%}.idm-gl4-other-layer .available-layers .list-box .layers-body .feather-item .img-box{width:100%;height:60px;padding:2px;border-radius:4px;border:var(--v-layer-img-border)}.idm-gl4-other-layer .available-layers .list-box .layers-body .feather-item .img-box.active{border:2px solid rgba(var(--v-theme-primary),1)!important}.idm-gl4-other-layer .available-layers .list-box .layers-body .feather-item .img-box img{width:100%;height:100%;border-radius:4dvh}.legend-bars-gl4.wind{background:linear-gradient(to bottom,rgb(98,113,184),rgb(98,113,184),rgb(98,113,184),rgb(98,113,184),rgb(61,110,163),rgb(74,148,170),rgb(74,146,148),rgb(77,142,124),rgb(76,164,76),rgb(103,164,54),rgb(162,135,64),rgb(162,109,92),rgb(141,63,92),rgb(151,75,145),rgb(95,100,160),rgb(91,136,161),rgb(91,136,161))}.legend-bars-gl4.current{background:linear-gradient(to bottom,rgb(84,170,230),rgb(84,170,230),rgb(84,170,230),rgb(84,170,230),rgb(64,127,115),rgb(58,164,58),rgb(191,182,67),rgb(197,154,68),rgb(160,70,94),rgb(138,84,166),rgb(82,113,165),rgb(84,142,152),rgb(150,181,184),rgb(195,194,194),rgb(195,194,194))}.legend-bars-gl4.sig-wave[data-v-79ce70e2]{background:linear-gradient(to bottom,rgb(50,158,186),rgb(50,158,186),rgb(50,158,186),rgb(50,158,186),rgb(48,128,164),rgb(48,99,142),rgb(52,101,166),rgb(56,104,192),rgb(56,82,169),rgb(57,61,143),rgb(134,48,48),rgb(194,77,91),rgb(192,118,105),rgb(192,163,157),rgb(192,163,157))}.legend-bars-gl4.ice-edge{background:linear-gradient(to bottom,rgb(220,243,252),rgb(220,243,252),rgb(86,169,230),rgb(47,226,155),rgb(47,226,155),rgb(47,226,155),rgb(213,253,37),rgb(213,253,37),rgb(213,253,37),rgb(230,176,39),rgb(230,176,39),rgb(230,84,39),rgb(230,84,39))}.legend-bars-gl4.ice-cover[data-v-9696d73b]{background:linear-gradient(to bottom,rgb(255,255,255),rgb(53,125,177),rgb(33,145,140),rgb(45,178,125),rgb(112,207,87),rgb(253,231,37))}.legend-bars-gl4.ice-thickness{background:linear-gradient(to bottom,rgb(4,6,19),rgb(51,50,102),rgb(51,50,102),rgb(63,82,158),rgb(63,82,158),rgb(66,123,183),rgb(66,123,183),rgb(92,161,197),rgb(92,161,197),rgb(134,199,212),rgb(134,199,212),rgb(234,253,253))}.legend-bars-gl4.precip3h{background:linear-gradient(to bottom,rgba(59,126,162,0),rgb(172,210,255),rgb(172,210,255),rgb(3,248,103),rgb(14,201,3),rgb(190,226,2),rgb(248,1,1),rgb(197,5,58),rgb(197,5,58))}.legend-bars-gl4.visibility{background:linear-gradient(to bottom,rgb(189,50,160),rgb(189,50,160),rgb(189,50,160),rgb(189,50,160),rgb(208,56,56),rgb(208,56,56),rgb(190,226,2),rgb(190,226,2),rgb(4,210,64),rgb(4,210,64),rgb(172,210,255),rgb(172,210,255))}.legend-bars-gl4.water-temp{background:linear-gradient(to bottom,rgb(95,143,197),rgb(95,143,197),rgb(95,143,197),rgb(95,143,197),rgb(80,140,62),rgb(121,146,28),rgb(171,161,14),rgb(223,177,6),rgb(243,150,6),rgb(236,95,21),rgb(190,65,18),rgb(138,43,10),rgb(138,43,10))}.legend-bars-gl4.temp{background:linear-gradient(to bottom,rgb(149,137,211),rgb(149,137,211),rgb(149,137,211),rgb(149,137,211),rgb(150,209,216),rgb(129,204,197),rgb(103,180,186),rgb(95,143,197),rgb(80,140,62),rgb(121,146,28),rgb(171,161,14),rgb(223,177,6),rgb(243,150,6),rgb(236,95,21),rgb(190,65,18),rgb(138,43,10),rgb(138,43,10))}.idm-gl4-meteo-layers .menu-bar-box{position:absolute;box-sizing:border-box;z-index:2}.idm-gl4-meteo-layers .available-layers{position:absolute;top:60px;width:280px;height:calc(100vh - 60px);box-sizing:border-box;background:rgba(var(--v-theme-drawer-bg),var(--v-background-opacity));-webkit-backdrop-filter:var(--v-backdrop-filter);backdrop-filter:var(--v-backdrop-filter);box-shadow:var(--v-box-shadow-light);z-index:1}.idm-gl4-meteo-layers .available-layers .header-box{height:56px}.idm-gl4-meteo-layers .available-layers .list-box{height:calc(100% - 56px)}.idm-tropical-gl4 .menu-bar-box{position:absolute;box-sizing:border-box;z-index:2}.idm-tropical-gl4-info .close{position:absolute;font-size:12px;right:10px;top:10px;color:rgba(var(--v-theme-on-surface),.8)!important}.idm-tropical-gl4-info .model-box{background:var(--v-gray-bg);-webkit-backdrop-filter:var(--v-backdrop-filter);backdrop-filter:var(--v-backdrop-filter);box-shadow:var(--v-box-shadow-light)}.idm-tropical-gl4-info .model-box .model{font-size:12px;padding:0 2px}.idm-tropical-gl4-info .legend .icon{height:10px;width:10px;border-radius:50%;border:2px solid rgba(var(--v-theme-on-surface),.1);margin-right:4px}.idm-tropical-gl4-info .legend .icon.td{background-color:var(--v-tropicals-td)}.idm-tropical-gl4-info .legend .icon.ts{background-color:var(--v-tropicals-ts)}.idm-tropical-gl4-info .legend .icon.sts{background-color:var(--v-tropicals-sts)}.idm-tropical-gl4-info .legend .icon.ty{background-color:var(--v-tropicals-ty)}.idm-tropical-gl4-info .legend .icon.sty{background-color:var(--v-tropicals-sty)}.idm-tropical-gl4-info .legend .icon.supper-ty{background-color:var(--v-tropicals-super-ty)}.idm-tropical-gl4-info .legend .icon.r7{height:14px;width:14px;border:2px solid var(--v-tropicals-r7)}.idm-tropical-gl4-info .legend .icon.r10{height:14px;width:14px;border:2px solid var(--v-tropicals-r10)}.idm-tropical-gl4-info .legend .icon.history{border:1px solid rgba(var(--v-theme-on-surface),.7);border-radius:0;width:16px;height:2px}.idm-tropical-gl4-info .legend .icon.forecast{border:1px dashed rgba(var(--v-theme-on-surface),.7);border-radius:0;width:16px;height:2px}.idm-tropical-gl4-info .legend .button{cursor:pointer;padding:0 4px;border-radius:4px;border:1px solid rgba(var(--v-theme-primary));color:rgba(var(--v-theme-primary))}.idm-tropical-gl4-hourly-marker .iconfont{font-size:34px!important;color:rgba(var(--v-theme-error))}.idm-tropical-gl4-hourly-marker svg{height:34px;width:34px}.idm-tropical-gl4-hourly-marker .center{box-sizing:border-box;display:flex;align-items:center;justify-content:center}.idm-tropical-gl4-hourly-marker .center.north{animation:anticlockwise 2s linear infinite}.idm-tropical-gl4-hourly-marker .center.south{animation:clockwise 2s linear infinite}.idm-gl4-timepicker{position:relative}.idm-gl4-timepicker .card-box{position:absolute;bottom:36px;left:-62px;width:350px;height:320px;z-index:10}.v-date-picker .v-picker-title{display:none}.v-date-picker .v-date-picker-controls{padding:0 8px}.v-date-picker .v-date-picker-controls .v-date-picker-controls__month-btn{padding:0 8px;border-radius:4px!important;font-weight:500!important;border:thin solid rgba(var(--v-theme-on-surface),.12);margin-right:8px}.v-date-picker .v-date-picker-controls .v-date-picker-controls__month-btn:hover{background-color:rgba(var(--v-theme-on-background),var(--v-hover-opacity))!important;border-radius:inherit}.v-date-picker .v-date-picker-controls .v-date-picker-controls__mode-btn{width:52px!important;border-radius:4px!important;transform:rotate(0)!important;border:thin solid rgba(var(--v-theme-on-surface),.12)}.v-date-picker .v-date-picker-controls .v-date-picker-controls__mode-btn i{font-size:12px!important;font-style:normal!important}.v-date-picker .v-date-picker-month{padding:0!important}.v-date-picker .v-date-picker-month__day{height:30px!important;width:30px!important}.v-date-picker .v-date-picker-month__day .v-date-picker-month__day-btn{--v-btn-height: 18px !important;border-radius:4px!important}.v-date-picker .v-date-picker-months{height:200px!important}.v-date-picker .v-date-picker-months .v-date-picker-months__content{grid-template-columns:repeat(3,1fr)!important}.v-date-picker .v-date-picker-months .v-date-picker-months__content .v-btn--rounded{border-radius:4px!important}.v-date-picker .v-date-picker-years{height:200px!important;overflow:hidden}.v-date-picker .v-date-picker-years .v-date-picker-years__content{grid-template-columns:repeat(2,1fr)!important}.v-date-picker .v-date-picker-years .v-date-picker-years__content .v-btn--rounded{border-radius:4px!important}.idm-gl4-spot .menu-bar-box{position:absolute;box-sizing:border-box;z-index:2}.idm-gl4-spot .spot-form-card{position:absolute;width:254px;overflow:visible;z-index:3;transition:all .4s ease-in-out}.idm-gl4-spot .spot-form-card .v-field,.idm-gl4-spot .spot-form-card .v-field__field,.idm-gl4-spot .spot-form-card .v-field__input{height:32px!important;min-height:32px!important;line-height:32px!important;padding:0 4px!important;font-size:14px!important}.idm-gl4-spot .spot-form-card .v-input__details{padding:0!important;height:14px!important;min-height:14px!important;line-height:14px!important;font-size:12px!important}.idm-gl4-measure .menu-bar-box{position:absolute;box-sizing:border-box;z-index:2}.idm-gl4-measure-marker{pointer-events:none!important}.idm-gl4-measure-marker .marker-circle{pointer-events:inherit;width:10px;height:10px;border-radius:50%;border:2px solid rgba(var(--v-theme-map-orange));background:#fff}.idm-gl4-measure-marker .marker-circle:hover{cursor:pointer}.idm-gl4-measure-marker.closed{pointer-events:auto!important}.idm-gl4-measure-summary-marker{color:#fff;font-size:12px;background:rgba(var(--v-theme-map-orange));border:2px solid #fff;padding:0 30px 0 5px;border-radius:4px;cursor:pointer}.idm-gl4-measure-summary-marker .marker-close{pointer-events:auto;position:absolute;background:rgba(var(--v-theme-map-orange));border-left:2px solid #fff;display:flex;align-items:center;justify-content:center;width:20px;height:100%;right:0;cursor:pointer;font-size:20px}.idm-gl4-measure-contextmenu-marker{color:#fff;font-size:12px;background:rgba(var(--v-theme-map-orange));border:2px solid #fff;padding:2px 5px;border-radius:5px;cursor:pointer}.idm-gl4-measure-tip-marker{font-size:12px;padding:2px 5px;border-radius:5px;background-color:rgba(var(--v-theme-surface),.7);-webkit-backdrop-filter:var(--v-backdrop-filter);backdrop-filter:var(--v-backdrop-filter);box-shadow:var(--v-box-shadow-light);cursor:pointer}.idm-gl4-measure-tip-marker .marker-label{border-bottom:var(--idm-dashed-border)}.idm-gl4-measure-tip-marker .marker-label:last-child{border-bottom:none}.idm-gl4-measure-tip-marker .marker-label b{font-weight:600;color:rgba(var(--v-theme-map-orange))}.idm-bottom-bar-gl4 .timeline-box{position:absolute;height:40px;box-sizing:border-box;background:rgba(var(--v-theme-background),var(--v-background-opacity));-webkit-backdrop-filter:var(--v-backdrop-filter);backdrop-filter:var(--v-backdrop-filter);box-shadow:var(--v-box-shadow-light);transition:all .4s ease-in-out;z-index:2}.idm-bottom-bar-gl4 .timeline-box i{font-size:20px}.idm-bottom-bar-gl4 .timezone-box{position:absolute;bottom:88px;transition:all .4s ease-in-out}.idm-bottom-bar-gl4 .timezone-box .btn-box{width:134px;background:rgba(var(--v-theme-background),var(--v-background-opacity))}.idm-bottom-bar-gl4 .timezone-box .list{width:288px;height:180px;margin-bottom:10px;box-shadow:var(--v-box-shadow-light);background:rgba(var(--v-theme-background),1);-webkit-backdrop-filter:var(--v-backdrop-filter);backdrop-filter:var(--v-backdrop-filter);z-index:3}.idm-bottom-bar-gl4 .timezone-box .list .item{width:48px;height:24px;line-height:24px;text-align:center;border:1px solid rgba(var(--v-theme-on-surface),.3);cursor:pointer}.mapboxgl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-left,.mapboxgl-ctrl-right,.mapboxgl-ctrl-top,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top{left:50%;top:0;transform:translate(-50%)}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-right{right:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl-bottom{bottom:0;left:50%;transform:translate(-50%)}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-left{left:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.mapboxgl-ctrl-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-bottom .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapboxgl-ctrl-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:initial;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:initial}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:#0000000d}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;box-sizing:initial;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:#0000000d}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:#000000bf;text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid #0000;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:initial;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:#0000000d}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:"";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid #0000;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid #0000;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:#000000b3;color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button{background-color:#fff;border:1px solid #ccc;border-radius:4px;color:#333;cursor:pointer;font-size:12px;height:auto;line-height:1.5;margin:2px;padding:5px 10px;width:auto}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:hover{background-color:#f0f0f0}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected{background-color:#4264fb;border-color:#4264fb;color:#fff}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected:hover{background-color:#3151d9}.mapbox-initial-gl4{box-sizing:border-box;height:100vh;width:100vw;overflow:hidden}.mapbox-initial-gl4 #map{position:absolute;width:100%;height:100%;cursor:pointer}.mapbox-initial-gl4 .menu-bar-box{position:absolute;overflow-y:hidden;box-sizing:border-box;height:112px;padding-top:8px;background:rgba(var(--v-theme-menu-bg),.6);-webkit-backdrop-filter:var(--v-backdrop-filter);backdrop-filter:var(--v-backdrop-filter);box-shadow:var(--v-box-shadow-light);z-index:2}.mapbox-initial-gl4 .menu-bar-box .zoom{width:32px;height:32px;line-height:32px;text-align:center;font-size:14px;font-weight:500;border-top:1px solid rgba(var(--v-border-color),var(--v-border-opacity));border-bottom:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.mapbox-initial-gl4 .mapboxgl-ctrl-top-right,.mapbox-initial-gl4 .mapboxgl-ctrl-bottom-right{display:none}.mapbox-initial-gl4 .mapboxgl-ctrl-bottom-left{bottom:20px}.mapbox-initial-gl4 .mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapbox-initial-gl4 .mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-logo{display:none}.mapbox-initial-gl4 .mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-scale{border:none;box-sizing:border-box;font-size:10px;padding:0 5px;margin-left:10px;white-space:nowrap;text-align:center;color:rgba(var(--v-theme-on-surface),1);background:rgba(var(--v-theme-background),.3);border-bottom:2px solid rgba(var(--v-theme-on-surface),.7);box-shadow:var(--v-box-shadow-light);-webkit-backdrop-filter:var(--v-backdrop-filter);backdrop-filter:var(--v-backdrop-filter)}.mapbox-initial-gl4 .mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-scale:before{content:"";position:absolute;top:60%;left:0;width:2px;height:40%;background:rgba(var(--v-theme-on-surface),.7)}.mapbox-initial-gl4 .mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-scale:after{content:"";position:absolute;top:60%;right:0;width:2px;height:40%;background:rgba(var(--v-theme-on-surface),.7)}
|