@signalk/freeboard-sk 3.2.0-beta.2 → 3.2.0-beta.3
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/package.json +1 -1
- package/public/assets/features/chart-sources-1.jpg +0 -0
- package/public/assets/features/chart-sources-2.jpg +0 -0
- package/public/assets/features/chart-sources-3.jpg +0 -0
- package/public/assets/features/chart-sources-4.jpg +0 -0
- package/public/assets/features-corpus.json +1 -1
- package/public/assets/help/index.html +14 -62
- package/public/{chunk-QGRCSFIW.js → chunk-4TZSCPY6.js} +1 -1
- package/public/{chunk-FHFMCRY4.js → chunk-7H3TNUZC.js} +78 -80
- package/public/{chunk-2SPW2M6P.js → chunk-ABRMW675.js} +1 -1
- package/public/{chunk-J43UG5Q3.js → chunk-PLO4RGKC.js} +1 -1
- package/public/{chunk-UYQ6T6PQ.js → chunk-Q4PCFBHO.js} +1 -1
- package/public/{chunk-33UDAXN5.js → chunk-RLJNSFJD.js} +1 -1
- package/public/{chunk-WHLON3TU.js → chunk-TYJ363DD.js} +1 -1
- package/public/{chunk-FTLLJC55.js → chunk-W3IQ2KES.js} +1 -1
- package/public/index.html +1 -1
- package/public/main-GUEKBZU3.js +468 -0
- package/public/worker-2DO6V3OI.js +3 -0
- package/public/worker-BFPH3XRP.js +26 -0
- package/public/worker-SUE26ZZI.js +12 -0
- package/public/main-WJS4CMGQ.js +0 -466
- package/public/worker-JRN7I6EJ.js +0 -12
- package/public/worker-U7H5YFPO.js +0 -3
- package/public/worker-WYGJSPFM.js +0 -26
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
var Rn=Object.create;var Wr=Object.defineProperty;var wn=Object.getOwnPropertyDescriptor;var Dn=Object.getOwnPropertyNames;var kn=Object.getPrototypeOf,qn=Object.prototype.hasOwnProperty;var u=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(r){throw t=0,r}};var Tn=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Dn(t))!qn.call(e,n)&&n!==r&&Wr(e,n,{get:()=>t[n],enumerable:!(i=wn(t,n))||i.enumerable});return e};var Br=(e,t,r)=>(r=e!=null?Rn(kn(e)):{},Tn(t||!e||!e.__esModule?Wr(r,"default",{value:e,enumerable:!0}):r,e));var x=u(p=>{"use strict";Object.defineProperty(p,"__esModule",{value:!0});p.timeConversion=p.sexagesimalPattern=p.longitudeKeys=p.latitudeKeys=p.earthRadius=p.distanceConversion=p.areaConversion=p.altitudeKeys=p.RAD_TO_DEG=p.MINLON=p.MINLAT=p.MAXLON=p.MAXLAT=p.DEG_TO_RAD=void 0;var Qu=p.sexagesimalPattern=/^([0-9]{1,3})°\s*([0-9]{1,3}(?:\.(?:[0-9]{1,}))?)['′]\s*(([0-9]{1,3}(\.([0-9]{1,}))?)["″]\s*)?([NEOSW]?)$/,el=p.earthRadius=6378137,tl=p.MINLAT=-90,rl=p.MAXLAT=90,il=p.MINLON=-180,nl=p.MAXLON=180,sl=p.DEG_TO_RAD=Math.PI/180,ol=p.RAD_TO_DEG=180/Math.PI,al=p.longitudeKeys=["lng","lon","longitude",0],ul=p.latitudeKeys=["lat","latitude",1],ll=p.altitudeKeys=["alt","altitude","elevation","elev",2],cl=p.distanceConversion={m:1,km:.001,cm:100,mm:1e3,mi:1/1609.344,sm:1/1852.216,ft:100/30.48,in:100/2.54,yd:1/.9144},fl=p.timeConversion={m:60,h:3600,d:86400},I=p.areaConversion={m2:1,km2:1e-6,ha:1e-4,a:.01,ft2:10.763911,yd2:1.19599,in2:1550.0031};I.sqm=I.m2;I.sqkm=I.km2;I.sqft=I.ft2;I.sqyd=I.yd2;I.sqin=I.in2});var fe=u(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.default=void 0;var Fn=(e,t)=>{if(e==null)throw new Error(`'${e}' is no valid coordinate.`);return t.reduce((r,i)=>Object.prototype.hasOwnProperty.call(e,i)&&i!==void 0&&r===void 0?(r=i,i):r,void 0)},ml=Ne.default=Fn});var de=u(je=>{"use strict";Object.defineProperty(je,"__esModule",{value:!0});je.default=void 0;var Wn=e=>{let t=e.toString().trim();return isNaN(parseFloat(t))?!1:parseFloat(t)===Number(t)},gl=je.default=Wn});var me=u(Ke=>{"use strict";Object.defineProperty(Ke,"__esModule",{value:!0});Ke.default=void 0;var Bn=x(),$n=e=>Bn.sexagesimalPattern.test(e.toString().trim()),bl=Ke.default=$n});var pe=u(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.default=void 0;var Hn=x(),Gn=e=>{let t=new RegExp(Hn.sexagesimalPattern).exec(e.toString().trim());if(t===null)throw new Error("Given value is not in sexagesimal format");let r=Number(t[2])/60||0,i=Number(t[4])/3600||0,n=parseFloat(t[1])+r+i;return["S","W"].includes(t[7])?-n:n},yl=Ue.default=Gn});var Fe=u(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.default=void 0;var tr=x(),rr=zn(fe());function zn(e){return e&&e.__esModule?e:{default:e}}var Xn=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{longitude:tr.longitudeKeys,latitude:tr.latitudeKeys,altitude:tr.altitudeKeys},r=(0,rr.default)(e,t.longitude),i=(0,rr.default)(e,t.latitude),n=(0,rr.default)(e,t.altitude);return{latitude:i,longitude:r,...n?{altitude:n}:{}}},xl=Ve.default=Xn});var nr=u(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.default=void 0;var Zn=ir(de()),Yn=ir(me()),Jn=ir(pe()),ii=x();function ir(e){return e&&e.__esModule?e:{default:e}}var ni=e=>{if((0,Zn.default)(e)){let t=parseFloat(e);return!(t>ii.MAXLAT||t<ii.MINLAT)}return(0,Yn.default)(e)?ni((0,Jn.default)(e)):!1},Ml=We.default=ni});var or=u(Be=>{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});Be.default=void 0;var Qn=sr(de()),es=sr(me()),ts=sr(pe()),si=x();function sr(e){return e&&e.__esModule?e:{default:e}}var oi=e=>{if((0,Qn.default)(e)){let t=parseFloat(e);return!(t>si.MAXLON||t<si.MINLON)}return(0,es.default)(e)?oi((0,ts.default)(e)):!1},Ol=Be.default=oi});var ur=u($e=>{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.default=void 0;var rs=ar(Fe()),ai=ar(nr()),ui=ar(or());function ar(e){return e&&e.__esModule?e:{default:e}}var is=e=>{let{latitude:t,longitude:r}=(0,rs.default)(e);if(Array.isArray(e)&&e.length>=2)return(0,ui.default)(e[0])&&(0,ai.default)(e[1]);if(t===void 0||r===void 0)return!1;let i=e[r],n=e[t];return n===void 0||i===void 0?!1:(0,ai.default)(n)&&(0,ui.default)(i)},Rl=$e.default=is});var Ge=u(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.default=void 0;var ns=he(de()),ss=he(me()),os=he(pe()),li=he(ur()),as=he(Fe());function he(e){return e&&e.__esModule?e:{default:e}}var ge=e=>{if((0,ns.default)(e))return Number(e);if((0,ss.default)(e))return(0,os.default)(e);if((0,li.default)(e)){let t=(0,as.default)(e);return Array.isArray(e)?e.map((r,i)=>[0,1].includes(i)?ge(r):r):{...e,...t.latitude&&{[t.latitude]:ge(e[t.latitude])},...t.longitude&&{[t.longitude]:ge(e[t.longitude])}}}return Array.isArray(e)?e.map(t=>(0,li.default)(t)?ge(t):t):e},Dl=He.default=ge});var D=u(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});ze.default=void 0;var us=x(),ls=ci(fe()),cs=ci(Ge());function ci(e){return e&&e.__esModule?e:{default:e}}var fs=(e,t)=>{let r=(0,ls.default)(e,us.latitudeKeys);if(r==null)return;let i=e[r];return t===!0?i:(0,cs.default)(i)},ql=ze.default=fs});var k=u(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.default=void 0;var ds=x(),ms=fi(fe()),ps=fi(Ge());function fi(e){return e&&e.__esModule?e:{default:e}}var gs=(e,t)=>{let r=(0,ms.default)(e,ds.longitudeKeys);if(r==null)return;let i=e[r];return t===!0?i:(0,ps.default)(i)},Ll=Xe.default=gs});var N=u(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.default=void 0;var hs=x(),bs=e=>e*hs.DEG_TO_RAD,El=Ze.default=bs});var G=u(Ye=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0});Ye.default=void 0;var vs=x(),ys=e=>e*vs.RAD_TO_DEG,Nl=Ye.default=ys});var mi=u(Qe=>{"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});Qe.default=void 0;var _s=Je(D()),xs=Je(k()),lr=Je(N()),cr=Je(G()),di=x();function Je(e){return e&&e.__esModule?e:{default:e}}var Ss=function(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:6371e3,n=(0,_s.default)(e),s=(0,xs.default)(e),o=t/i,a=(0,lr.default)(r),l=(0,lr.default)(n),_=(0,lr.default)(s),g=Math.asin(Math.sin(l)*Math.cos(o)+Math.cos(l)*Math.sin(o)*Math.cos(a)),h=_+Math.atan2(Math.sin(a)*Math.sin(o)*Math.cos(l),Math.cos(o)-Math.sin(l)*Math.sin(g)),m=(0,cr.default)(h);return(m<di.MINLON||m>di.MAXLON)&&(h=(h+3*Math.PI)%(2*Math.PI)-Math.PI,m=(0,cr.default)(h)),{latitude:(0,cr.default)(g),longitude:m}},Kl=Qe.default=Ss});var pi=u(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.default=void 0;var Ms=x(),Ps=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"m",r=Ms.areaConversion[t];if(r)return e*r;throw new Error("Invalid unit used for area conversion.")},Vl=et.default=Ps});var gi=u(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.default=void 0;var Os=x(),As=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"m",r=Os.distanceConversion[t];if(r)return e*r;throw new Error("Invalid unit used for distance conversion.")},Wl=tt.default=As});var hi=u(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});it.default=void 0;var rt=x(),Rs=function(e){switch(arguments.length>1&&arguments[1]!==void 0?arguments[1]:"kmh"){case"kmh":return e*rt.timeConversion.h*rt.distanceConversion.km;case"mph":return e*rt.timeConversion.h*rt.distanceConversion.mi;default:return e}},$l=it.default=Rs});var bi=u(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.default=void 0;var ws=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4,r=Math.pow(10,t);return Math.round(e*r)/r},Ds=e=>{let[t,r]=e.toString().split("."),i=Math.abs(Number(t)),n=+("0."+(r||0))*60,s=n.toString().split("."),o=Math.floor(n),a=ws(+("0."+(s[1]||0))*60).toString(),[l,_="0"]=a.split(".");return i+"\xB0 "+o.toString().padStart(2,"0")+"' "+l.padStart(2,"0")+"."+_.padEnd(1,"0")+'"'},Gl=nt.default=Ds});var fr=u(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.default=void 0;var ks=e=>e>1?1:e<-1?-1:e,Xl=st.default=ks});var W=u(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.default=void 0;var vi=ot(D()),yi=ot(k()),dr=ot(N()),qs=ot(fr()),Ts=x();function ot(e){return e&&e.__esModule?e:{default:e}}var Ls=function(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;r=isNaN(r)?1:r;let i=(0,dr.default)((0,vi.default)(e)),n=(0,dr.default)((0,vi.default)(t)),s=(0,dr.default)((0,yi.default)(e)-(0,yi.default)(t)),o=Math.acos((0,qs.default)(Math.sin(n)*Math.sin(i)+Math.cos(n)*Math.cos(i)*Math.cos(s)))*Ts.earthRadius;return Math.round(o/r)*r},Yl=at.default=Ls});var mr=u(ut=>{"use strict";Object.defineProperty(ut,"__esModule",{value:!0});ut.default=void 0;var _i=Cs(W());function Cs(e){return e&&e.__esModule?e:{default:e}}var Es=function(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:_i.default;return r=typeof r=="function"?r:_i.default,t.slice().sort((i,n)=>r(e,i)-r(e,n))},Ql=ut.default=Es});var xi=u(lt=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.default=void 0;var Is=Ns(mr());function Ns(e){return e&&e.__esModule?e:{default:e}}var js=(e,t)=>(0,Is.default)(e,t)[0],tc=lt.default=js});var Pi=u(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.default=void 0;var pr=gr(N()),Ks=gr(D()),Si=gr(k()),Mi=x();function gr(e){return e&&e.__esModule?e:{default:e}}var Us=e=>{let t=0;if(e.length>2){let r,i,n;for(let s=0;s<e.length;s++){s===e.length-2?(r=e.length-2,i=e.length-1,n=0):s===e.length-1?(r=e.length-1,i=0,n=1):(r=s,i=s+1,n=s+2);let o=(0,Si.default)(e[r]),a=(0,Ks.default)(e[i]),l=(0,Si.default)(e[n]);t+=((0,pr.default)(l)-(0,pr.default)(o))*Math.sin((0,pr.default)(a))}t=t*Mi.earthRadius*Mi.earthRadius/2}return Math.abs(t)},ic=ct.default=Us});var hr=u(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.default=void 0;var Vs=Oi(D()),Fs=Oi(k());function Oi(e){return e&&e.__esModule?e:{default:e}}var Ws=e=>{if(Array.isArray(e)===!1||e.length===0)throw new Error("No points were given.");return e.reduce((t,r)=>{let i=(0,Vs.default)(r),n=(0,Fs.default)(r);return{maxLat:Math.max(i,t.maxLat),minLat:Math.min(i,t.minLat),maxLng:Math.max(n,t.maxLng),minLng:Math.min(n,t.minLng)}},{maxLat:-1/0,minLat:1/0,maxLng:-1/0,minLng:1/0})},sc=ft.default=Ws});var Ai=u(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});pt.default=void 0;var Bs=mt(D()),$s=mt(k()),re=mt(N()),dt=mt(G()),be=x();function mt(e){return e&&e.__esModule?e:{default:e}}var Hs=(e,t)=>{let r=(0,Bs.default)(e),i=(0,$s.default)(e),n=(0,re.default)(r),s=(0,re.default)(i),o=t/be.earthRadius,a=n-o,l=n+o,_=(0,re.default)(be.MAXLAT),g=(0,re.default)(be.MINLAT),h=(0,re.default)(be.MAXLON),m=(0,re.default)(be.MINLON),M,v;if(a>g&&l<_){let R=Math.asin(Math.sin(o)/Math.cos(n));M=s-R,M<m&&(M+=Math.PI*2),v=s+R,v>h&&(v-=Math.PI*2)}else a=Math.max(a,g),l=Math.min(l,_),M=m,v=h;return[{latitude:(0,dt.default)(a),longitude:(0,dt.default)(M)},{latitude:(0,dt.default)(l),longitude:(0,dt.default)(v)}]},ac=pt.default=Hs});var Di=u(ht=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.default=void 0;var Gs=gt(D()),zs=gt(k()),Ri=gt(N()),wi=gt(G());function gt(e){return e&&e.__esModule?e:{default:e}}var Xs=e=>{if(Array.isArray(e)===!1||e.length===0)return!1;let t=e.length,r=e.reduce((o,a)=>{let l=(0,Ri.default)((0,Gs.default)(a)),_=(0,Ri.default)((0,zs.default)(a));return{X:o.X+Math.cos(l)*Math.cos(_),Y:o.Y+Math.cos(l)*Math.sin(_),Z:o.Z+Math.sin(l)}},{X:0,Y:0,Z:0}),i=r.X/t,n=r.Y/t,s=r.Z/t;return{longitude:(0,wi.default)(Math.atan2(n,i)),latitude:(0,wi.default)(Math.atan2(s,Math.sqrt(i*i+n*n)))}},lc=ht.default=Xs});var ki=u(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.default=void 0;var Zs=Ys(hr());function Ys(e){return e&&e.__esModule?e:{default:e}}var Js=e=>{let t=(0,Zs.default)(e),r=t.minLat+(t.maxLat-t.minLat)/2,i=t.minLng+(t.maxLng-t.minLng)/2;return{latitude:parseFloat(r.toFixed(6)),longitude:parseFloat(i.toFixed(6))}},fc=bt.default=Js});var br=u(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.default=void 0;var qi=yt(D()),Ti=yt(k()),vt=yt(N()),Qs=yt(G());function yt(e){return e&&e.__esModule?e:{default:e}}var eo=(e,t)=>{let r=(0,vt.default)((0,Ti.default)(t))-(0,vt.default)((0,Ti.default)(e)),i=Math.log(Math.tan((0,vt.default)((0,qi.default)(t))/2+Math.PI/4)/Math.tan((0,vt.default)((0,qi.default)(e))/2+Math.PI/4));return Math.abs(r)>Math.PI&&(r>0?r=(Math.PI*2-r)*-1:r=Math.PI*2+r),((0,Qs.default)(Math.atan2(r,i))+360)%360},mc=_t.default=eo});var Ci=u(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.default=void 0;var Li=to(br());function to(e){return e&&e.__esModule?e:{default:e}}var ro=function(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Li.default,i=typeof r=="function"?r(e,t):(0,Li.default)(e,t);if(isNaN(i))throw new Error("Could not calculate bearing for given points. Check your bearing function");switch(Math.round(i/22.5)){case 1:return"NNE";case 2:return"NE";case 3:return"ENE";case 4:return"E";case 5:return"ESE";case 6:return"SE";case 7:return"SSE";case 8:return"S";case 9:return"SSW";case 10:return"SW";case 11:return"WSW";case 12:return"W";case 13:return"WNW";case 14:return"NW";case 15:return"NNW";default:return"N"}},gc=xt.default=ro});var yr=u(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.default=void 0;var vr=Ii(W()),Ei=Ii(fr());function Ii(e){return e&&e.__esModule?e:{default:e}}var io=function(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,n=(0,vr.default)(t,e,i),s=(0,vr.default)(e,r,i),o=(0,vr.default)(t,r,i),a=Math.acos((0,Ei.default)((n*n+o*o-s*s)/(2*n*o))),l=Math.acos((0,Ei.default)((s*s+o*o-n*n)/(2*s*o)));return n===0||s===0?0:o===0||a>Math.PI/2?n:l>Math.PI/2?s:Math.sin(a)*n},bc=St.default=io});var Ki=u(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.default=void 0;var Ni=Mt(D()),ji=Mt(k()),K=Mt(N()),no=Mt(G());function Mt(e){return e&&e.__esModule?e:{default:e}}var so=(e,t)=>{let r=(0,Ni.default)(t),i=(0,ji.default)(t),n=(0,Ni.default)(e),s=(0,ji.default)(e);return((0,no.default)(Math.atan2(Math.sin((0,K.default)(i)-(0,K.default)(s))*Math.cos((0,K.default)(r)),Math.cos((0,K.default)(n))*Math.sin((0,K.default)(r))-Math.sin((0,K.default)(n))*Math.cos((0,K.default)(r))*Math.cos((0,K.default)(i)-(0,K.default)(s))))+360)%360},yc=Pt.default=so});var Ui=u(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.default=void 0;var oo=ao(W());function ao(e){return e&&e.__esModule?e:{default:e}}var uo=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:oo.default;return e.reduce((r,i)=>(typeof r=="object"&&r.last!==null&&(r.distance+=t(i,r.last)),r.last=i,r),{last:null,distance:0}).distance},xc=Ot.default=uo});var Bi=u(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.default=void 0;var Vi=xr(D()),Fi=xr(k()),_r=xr(N()),Wi=x();function xr(e){return e&&e.__esModule?e:{default:e}}var lo=function(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;r=isNaN(r)?1:r;let i=(0,Vi.default)(e),n=(0,Fi.default)(e),s=(0,Vi.default)(t),o=(0,Fi.default)(t),a=6356752314245e-6,l=1/298.257223563,_=(0,_r.default)(o-n),g,h,m,M,v,R,Kr=Math.atan((1-l)*Math.tan((0,_r.default)(parseFloat(i)))),Ur=Math.atan((1-l)*Math.tan((0,_r.default)(parseFloat(s)))),Pe=Math.sin(Kr),Oe=Math.cos(Kr),Ae=Math.sin(Ur),Z=Math.cos(Ur),se=_,Vr,Fr=100;do{let Wt=Math.sin(se),Bt=Math.cos(se);if(R=Math.sqrt(Z*Wt*(Z*Wt)+(Oe*Ae-Pe*Z*Bt)*(Oe*Ae-Pe*Z*Bt)),R===0)return 0;g=Pe*Ae+Oe*Z*Bt,h=Math.atan2(R,g),m=Oe*Z*Wt/R,M=1-m*m,v=g-2*Pe*Ae/M,isNaN(v)&&(v=0);let $t=l/16*M*(4+l*(4-3*M));Vr=se,se=_+(1-$t)*l*m*(h+$t*R*(v+$t*g*(-1+2*v*v)))}while(Math.abs(se-Vr)>1e-12&&--Fr>0);if(Fr===0)return NaN;let F=M*(Wi.earthRadius*Wi.earthRadius-a*a)/(a*a),Pn=1+F/16384*(4096+F*(-768+F*(320-175*F))),Ft=F/1024*(256+F*(-128+F*(74-47*F))),On=Ft*R*(v+Ft/4*(g*(-1+2*v*v)-Ft/6*v*(-3+4*R*R)*(-3+4*v*v))),An=a*Pn*(h-On);return Math.round(An/r)*r},Mc=At.default=lo});var $i=u(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.default=void 0;var co=e=>{if(/^(NNE|NE|NNW|N)$/.test(e))return"N";if(/^(ENE|E|ESE|SE)$/.test(e))return"E";if(/^(SSE|S|SSW|SW)$/.test(e))return"S";if(/^(WSW|W|WNW|NW)$/.test(e))return"W"},Oc=Rt.default=co});var Hi=u(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.default=void 0;var fo=mo(W());function mo(e){return e&&e.__esModule?e:{default:e}}var po=function(e,t){let i=(arguments.length>2&&arguments[2]!==void 0?arguments[2]:fo.default)(e,t),n=Number(t.time)-Number(e.time);return i/n*1e3},Rc=wt.default=po});var Gi=u(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.default=void 0;var Sr=go(W());function go(e){return e&&e.__esModule?e:{default:e}}var ho=(e,t,r)=>(0,Sr.default)(t,e)+(0,Sr.default)(e,r)===(0,Sr.default)(t,r),Dc=Dt.default=ho});var Xi=u(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.default=void 0;var kt=zi(D()),q=zi(k());function zi(e){return e&&e.__esModule?e:{default:e}}var bo=(e,t)=>{let r=!1,i=t.length;for(let n=-1,s=i-1;++n<i;s=n)((0,q.default)(t[n])<=(0,q.default)(e)&&(0,q.default)(e)<(0,q.default)(t[s])||(0,q.default)(t[s])<=(0,q.default)(e)&&(0,q.default)(e)<(0,q.default)(t[n]))&&(0,kt.default)(e)<((0,kt.default)(t[s])-(0,kt.default)(t[n]))*((0,q.default)(e)-(0,q.default)(t[n]))/((0,q.default)(t[s])-(0,q.default)(t[n]))+(0,kt.default)(t[n])&&(r=!r);return r},qc=qt.default=bo});var Zi=u(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.default=void 0;var vo=yo(yr());function yo(e){return e&&e.__esModule?e:{default:e}}var _o=(e,t,r,i)=>(0,vo.default)(e,t,r)<i,Lc=Tt.default=_o});var Yi=u(Lt=>{"use strict";Object.defineProperty(Lt,"__esModule",{value:!0});Lt.default=void 0;var xo=So(W());function So(e){return e&&e.__esModule?e:{default:e}}var Mo=(e,t,r)=>(0,xo.default)(e,t,.01)<r,Ec=Lt.default=Mo});var Ji=u(Ct=>{"use strict";Object.defineProperty(Ct,"__esModule",{value:!0});Ct.default=void 0;var Po=e=>{if(!e.startsWith("POLYGON"))throw new Error("Invalid wkt.");return e.slice(e.indexOf("(")+2,e.indexOf(")")).split(", ").map(i=>{let[n,s]=i.split(" ");return{longitude:parseFloat(n),latitude:parseFloat(s)}})},Nc=Ct.default=Po});var Qi=u(c=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var Oo={computeDestinationPoint:!0,convertArea:!0,convertDistance:!0,convertSpeed:!0,decimalToSexagesimal:!0,findNearest:!0,getAreaOfPolygon:!0,getBounds:!0,getBoundsOfDistance:!0,getCenter:!0,getCenterOfBounds:!0,getCompassDirection:!0,getCoordinateKey:!0,getCoordinateKeys:!0,getDistance:!0,getDistanceFromLine:!0,getGreatCircleBearing:!0,getLatitude:!0,getLongitude:!0,getPathLength:!0,getPreciseDistance:!0,getRhumbLineBearing:!0,getRoughCompassDirection:!0,getSpeed:!0,isDecimal:!0,isPointInLine:!0,isPointInPolygon:!0,isPointNearLine:!0,isPointWithinRadius:!0,isSexagesimal:!0,isValidCoordinate:!0,isValidLatitude:!0,isValidLongitude:!0,orderByDistance:!0,sexagesimalToDecimal:!0,toDecimal:!0,toRad:!0,toDeg:!0,wktToPolygon:!0};Object.defineProperty(c,"computeDestinationPoint",{enumerable:!0,get:function(){return Ao.default}});Object.defineProperty(c,"convertArea",{enumerable:!0,get:function(){return Ro.default}});Object.defineProperty(c,"convertDistance",{enumerable:!0,get:function(){return wo.default}});Object.defineProperty(c,"convertSpeed",{enumerable:!0,get:function(){return Do.default}});Object.defineProperty(c,"decimalToSexagesimal",{enumerable:!0,get:function(){return ko.default}});Object.defineProperty(c,"findNearest",{enumerable:!0,get:function(){return qo.default}});Object.defineProperty(c,"getAreaOfPolygon",{enumerable:!0,get:function(){return To.default}});Object.defineProperty(c,"getBounds",{enumerable:!0,get:function(){return Lo.default}});Object.defineProperty(c,"getBoundsOfDistance",{enumerable:!0,get:function(){return Co.default}});Object.defineProperty(c,"getCenter",{enumerable:!0,get:function(){return Eo.default}});Object.defineProperty(c,"getCenterOfBounds",{enumerable:!0,get:function(){return Io.default}});Object.defineProperty(c,"getCompassDirection",{enumerable:!0,get:function(){return No.default}});Object.defineProperty(c,"getCoordinateKey",{enumerable:!0,get:function(){return jo.default}});Object.defineProperty(c,"getCoordinateKeys",{enumerable:!0,get:function(){return Ko.default}});Object.defineProperty(c,"getDistance",{enumerable:!0,get:function(){return Uo.default}});Object.defineProperty(c,"getDistanceFromLine",{enumerable:!0,get:function(){return Vo.default}});Object.defineProperty(c,"getGreatCircleBearing",{enumerable:!0,get:function(){return Fo.default}});Object.defineProperty(c,"getLatitude",{enumerable:!0,get:function(){return Wo.default}});Object.defineProperty(c,"getLongitude",{enumerable:!0,get:function(){return Bo.default}});Object.defineProperty(c,"getPathLength",{enumerable:!0,get:function(){return $o.default}});Object.defineProperty(c,"getPreciseDistance",{enumerable:!0,get:function(){return Ho.default}});Object.defineProperty(c,"getRhumbLineBearing",{enumerable:!0,get:function(){return Go.default}});Object.defineProperty(c,"getRoughCompassDirection",{enumerable:!0,get:function(){return zo.default}});Object.defineProperty(c,"getSpeed",{enumerable:!0,get:function(){return Xo.default}});Object.defineProperty(c,"isDecimal",{enumerable:!0,get:function(){return Zo.default}});Object.defineProperty(c,"isPointInLine",{enumerable:!0,get:function(){return Yo.default}});Object.defineProperty(c,"isPointInPolygon",{enumerable:!0,get:function(){return Jo.default}});Object.defineProperty(c,"isPointNearLine",{enumerable:!0,get:function(){return Qo.default}});Object.defineProperty(c,"isPointWithinRadius",{enumerable:!0,get:function(){return ea.default}});Object.defineProperty(c,"isSexagesimal",{enumerable:!0,get:function(){return ta.default}});Object.defineProperty(c,"isValidCoordinate",{enumerable:!0,get:function(){return ra.default}});Object.defineProperty(c,"isValidLatitude",{enumerable:!0,get:function(){return ia.default}});Object.defineProperty(c,"isValidLongitude",{enumerable:!0,get:function(){return na.default}});Object.defineProperty(c,"orderByDistance",{enumerable:!0,get:function(){return sa.default}});Object.defineProperty(c,"sexagesimalToDecimal",{enumerable:!0,get:function(){return oa.default}});Object.defineProperty(c,"toDecimal",{enumerable:!0,get:function(){return aa.default}});Object.defineProperty(c,"toDeg",{enumerable:!0,get:function(){return la.default}});Object.defineProperty(c,"toRad",{enumerable:!0,get:function(){return ua.default}});Object.defineProperty(c,"wktToPolygon",{enumerable:!0,get:function(){return ca.default}});var Ao=d(mi()),Ro=d(pi()),wo=d(gi()),Do=d(hi()),ko=d(bi()),qo=d(xi()),To=d(Pi()),Lo=d(hr()),Co=d(Ai()),Eo=d(Di()),Io=d(ki()),No=d(Ci()),jo=d(fe()),Ko=d(Fe()),Uo=d(W()),Vo=d(yr()),Fo=d(Ki()),Wo=d(D()),Bo=d(k()),$o=d(Ui()),Ho=d(Bi()),Go=d(br()),zo=d($i()),Xo=d(Hi()),Zo=d(de()),Yo=d(Gi()),Jo=d(Xi()),Qo=d(Zi()),ea=d(Yi()),ta=d(me()),ra=d(ur()),ia=d(nr()),na=d(or()),sa=d(mr()),oa=d(pe()),aa=d(Ge()),ua=d(N()),la=d(G()),ca=d(Ji()),Mr=x();Object.keys(Mr).forEach(function(e){e==="default"||e==="__esModule"||Object.prototype.hasOwnProperty.call(Oo,e)||e in c&&c[e]===Mr[e]||Object.defineProperty(c,e,{enumerable:!0,get:function(){return Mr[e]}})});function d(e){return e&&e.__esModule?e:{default:e}}});var en=u(Rr=>{"use strict";Rr.__esModule=!0;function Or(e,t){return e*e+t*t}function fa(e,t){return Or(e[0]-t[0],e[1]-t[1])}function da(e,t,r){var i=t[0],n=t[1],s=r[0]-i,o=r[1]-n;if(s!==0||o!==0){var a=((e[0]-i)*s+(e[1]-n)*o)/Or(s,o);a>1?(i=r[0],n=r[1]):a>0&&(i+=s*a,n+=o*a)}return Or(e[0]-i,e[1]-n)}function ma(e,t){for(var r=e[0],i,n=[r],s=1,o=e.length;s<o;s++)i=e[s],fa(i,r)>t&&(n.push(i),r=i);return r!==i&&n.push(i),n}function Ar(e,t,r,i,n){for(var s=i,o,a=t+1;a<r;a++){var l=da(e[a],e[t],e[r]);l>s&&(o=a,s=l)}s>i&&(o-t>1&&Ar(e,t,o,i,n),n.push(e[o]),r-o>1&&Ar(e,o,r,i,n))}function pa(e,t){var r=e.length-1,i=[e[0]];return Ar(e,0,r,t,i),i.push(e[r]),i}function ga(e,t,r){if(t===void 0&&(t=1),r===void 0&&(r=!1),e.length<=2)return e;var i=t*t;return e=r?e:ma(e,i),e=pa(e,i),e}Rr.SimplifyAP=ga});var tn=u(kr=>{"use strict";kr.__esModule=!0;function wr(e,t){return e*e+t*t}function ha(e,t){return wr(e.longitude-t.longitude,e.latitude-t.latitude)}function ba(e,t,r){var i=t.longitude,n=t.latitude,s=r.longitude-i,o=r.latitude-n;if(s!==0||o!==0){var a=((e.longitude-i)*s+(e.latitude-n)*o)/wr(s,o);a>1?(i=r.longitude,n=r.latitude):a>0&&(i+=s*a,n+=o*a)}return wr(e.longitude-i,e.latitude-n)}function va(e,t){for(var r=e[0],i,n=[r],s=1,o=e.length;s<o;s++)i=e[s],ha(i,r)>t&&(n.push(i),r=i);return r!==i&&n.push(i),n}function Dr(e,t,r,i,n){for(var s=i,o,a=t+1;a<r;a++){var l=ba(e[a],e[t],e[r]);l>s&&(o=a,s=l)}s>i&&(o-t>1&&Dr(e,t,o,i,n),n.push(e[o]),r-o>1&&Dr(e,o,r,i,n))}function ya(e,t){var r=e.length-1,i=[e[0]];return Dr(e,0,r,t,i),i.push(e[r]),i}function _a(e,t,r){if(t===void 0&&(t=1),r===void 0&&(r=!1),e.length<=2)return e;var i=t*t;return e=r?e:va(e,i),e=ya(e,i),e}kr.SimplifyLL=_a});var rn=u(Lr=>{"use strict";Lr.__esModule=!0;function qr(e,t){return e*e+t*t}function xa(e,t){return qr(e.x-t.x,e.y-t.y)}function Sa(e,t,r){var i=t.x,n=t.y,s=r.x-i,o=r.y-n;if(s!==0||o!==0){var a=((e.x-i)*s+(e.y-n)*o)/qr(s,o);a>1?(i=r.x,n=r.y):a>0&&(i+=s*a,n+=o*a)}return qr(e.x-i,e.y-n)}function Ma(e,t){for(var r=e[0],i,n=[r],s=1,o=e.length;s<o;s++)i=e[s],xa(i,r)>t&&(n.push(i),r=i);return r!==i&&n.push(i),n}function Tr(e,t,r,i,n){for(var s=i,o,a=t+1;a<r;a++){var l=Sa(e[a],e[t],e[r]);l>s&&(o=a,s=l)}s>i&&(o-t>1&&Tr(e,t,o,i,n),n.push(e[o]),r-o>1&&Tr(e,o,r,i,n))}function Pa(e,t){var r=e.length-1,i=[e[0]];return Tr(e,0,r,t,i),i.push(e[r]),i}function Oa(e,t,r){if(t===void 0&&(t=1),r===void 0&&(r=!1),e.length<=2)return e;var i=t*t;return e=r?e:Ma(e,i),e=Pa(e,i),e}Lr.Simplify=Oa});var nn=u(ve=>{"use strict";ve.__esModule=!0;var Aa=en();ve.SimplifyAP=Aa.SimplifyAP;var Ra=tn();ve.SimplifyLL=Ra.SimplifyLL;var wa=rn();ve.Simplify=wa.Simplify});function w(e){return typeof e=="function"}function Re(e){let r=e(i=>{Error.call(i),i.stack=new Error().stack});return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var we=Re(e=>function(r){e(this),this.message=r?`${r.length} errors occurred during unsubscription:
|
|
2
|
+
${r.map((i,n)=>`${n+1}) ${i.toString()}`).join(`
|
|
3
|
+
`)}`:"",this.name="UnsubscriptionError",this.errors=r});function oe(e,t){if(e){let r=e.indexOf(t);0<=r&&e.splice(r,1)}}var C=class e{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;let{_parentage:r}=this;if(r)if(this._parentage=null,Array.isArray(r))for(let s of r)s.remove(this);else r.remove(this);let{initialTeardown:i}=this;if(w(i))try{i()}catch(s){t=s instanceof we?s.errors:[s]}let{_finalizers:n}=this;if(n){this._finalizers=null;for(let s of n)try{$r(s)}catch(o){t=t??[],o instanceof we?t=[...t,...o.errors]:t.push(o)}}if(t)throw new we(t)}}add(t){var r;if(t&&t!==this)if(this.closed)$r(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}}_hasParent(t){let{_parentage:r}=this;return r===t||Array.isArray(r)&&r.includes(t)}_addParent(t){let{_parentage:r}=this;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t}_removeParent(t){let{_parentage:r}=this;r===t?this._parentage=null:Array.isArray(r)&&oe(r,t)}remove(t){let{_finalizers:r}=this;r&&oe(r,t),t instanceof e&&t._removeParent(this)}};C.EMPTY=(()=>{let e=new C;return e.closed=!0,e})();var Ht=C.EMPTY;function De(e){return e instanceof C||e&&"closed"in e&&w(e.remove)&&w(e.add)&&w(e.unsubscribe)}function $r(e){w(e)?e():e.unsubscribe()}var T={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var Y={setTimeout(e,t,...r){let{delegate:i}=Y;return i?.setTimeout?i.setTimeout(e,t,...r):setTimeout(e,t,...r)},clearTimeout(e){let{delegate:t}=Y;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Hr(e){Y.setTimeout(()=>{let{onUnhandledError:t}=T;if(t)t(e);else throw e})}function Gt(){}var Gr=zt("C",void 0,void 0);function zr(e){return zt("E",void 0,e)}function Xr(e){return zt("N",e,void 0)}function zt(e,t,r){return{kind:e,value:t,error:r}}var B=null;function J(e){if(T.useDeprecatedSynchronousErrorHandling){let t=!B;if(t&&(B={errorThrown:!1,error:null}),e(),t){let{errorThrown:r,error:i}=B;if(B=null,r)throw i}}else e()}function Zr(e){T.useDeprecatedSynchronousErrorHandling&&B&&(B.errorThrown=!0,B.error=e)}var ae=class extends C{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,De(t)&&t.add(this)):this.destination=En}static create(t,r,i){return new Q(t,r,i)}next(t){this.isStopped?Zt(Xr(t),this):this._next(t)}error(t){this.isStopped?Zt(zr(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?Zt(Gr,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}},Ln=Function.prototype.bind;function Xt(e,t){return Ln.call(e,t)}var Yt=class{constructor(t){this.partialObserver=t}next(t){let{partialObserver:r}=this;if(r.next)try{r.next(t)}catch(i){ke(i)}}error(t){let{partialObserver:r}=this;if(r.error)try{r.error(t)}catch(i){ke(i)}else ke(t)}complete(){let{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(r){ke(r)}}},Q=class extends ae{constructor(t,r,i){super();let n;if(w(t)||!t)n={next:t??void 0,error:r??void 0,complete:i??void 0};else{let s;this&&T.useDeprecatedNextContext?(s=Object.create(t),s.unsubscribe=()=>this.unsubscribe(),n={next:t.next&&Xt(t.next,s),error:t.error&&Xt(t.error,s),complete:t.complete&&Xt(t.complete,s)}):n=t}this.destination=new Yt(n)}};function ke(e){T.useDeprecatedSynchronousErrorHandling?Zr(e):Hr(e)}function Cn(e){throw e}function Zt(e,t){let{onStoppedNotification:r}=T;r&&Y.setTimeout(()=>r(e,t))}var En={closed:!0,next:Gt,error:Cn,complete:Gt};var Yr=typeof Symbol=="function"&&Symbol.observable||"@@observable";function Jr(e){return e}function Qr(e){return e.length===0?Jr:e.length===1?e[0]:function(r){return e.reduce((i,n)=>n(i),r)}}var $=class e{constructor(t){t&&(this._subscribe=t)}lift(t){let r=new e;return r.source=this,r.operator=t,r}subscribe(t,r,i){let n=Nn(t)?t:new Q(t,r,i);return J(()=>{let{operator:s,source:o}=this;n.add(s?s.call(n,o):o?this._subscribe(n):this._trySubscribe(n))}),n}_trySubscribe(t){try{return this._subscribe(t)}catch(r){t.error(r)}}forEach(t,r){return r=ei(r),new r((i,n)=>{let s=new Q({next:o=>{try{t(o)}catch(a){n(a),s.unsubscribe()}},error:n,complete:i});this.subscribe(s)})}_subscribe(t){var r;return(r=this.source)===null||r===void 0?void 0:r.subscribe(t)}[Yr](){return this}pipe(...t){return Qr(t)(this)}toPromise(t){return t=ei(t),new t((r,i)=>{let n;this.subscribe(s=>n=s,s=>i(s),()=>r(n))})}};$.create=e=>new $(e);function ei(e){var t;return(t=e??T.Promise)!==null&&t!==void 0?t:Promise}function In(e){return e&&w(e.next)&&w(e.error)&&w(e.complete)}function Nn(e){return e&&e instanceof ae||In(e)&&De(e)}var ti=Re(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var E=class extends ${constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){let r=new qe(this,this);return r.operator=t,r}_throwIfClosed(){if(this.closed)throw new ti}next(t){J(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(let r of this.currentObservers)r.next(t)}})}error(t){J(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;let{observers:r}=this;for(;r.length;)r.shift().error(t)}})}complete(){J(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;let{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return((t=this.observers)===null||t===void 0?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){let{hasError:r,isStopped:i,observers:n}=this;return r||i?Ht:(this.currentObservers=null,n.push(t),new C(()=>{this.currentObservers=null,oe(n,t)}))}_checkFinalizedStatuses(t){let{hasError:r,thrownError:i,isStopped:n}=this;r?t.error(i):n&&t.complete()}asObservable(){let t=new $;return t.source=this,t}};E.create=(e,t)=>new qe(e,t);var qe=class extends E{constructor(t,r){super(),this.destination=t,this.source=r}next(t){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.next)===null||i===void 0||i.call(r,t)}error(t){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.error)===null||i===void 0||i.call(r,t)}complete(){var t,r;(r=(t=this.destination)===null||t===void 0?void 0:t.complete)===null||r===void 0||r.call(t)}_subscribe(t){var r,i;return(i=(r=this.source)===null||r===void 0?void 0:r.subscribe(t))!==null&&i!==void 0?i:Ht}};var P=[];for(let e=0;e<256;++e)P.push((e+256).toString(16).slice(1));function ri(e,t=0){return(P[e[t+0]]+P[e[t+1]]+P[e[t+2]]+P[e[t+3]]+"-"+P[e[t+4]]+P[e[t+5]]+"-"+P[e[t+6]]+P[e[t+7]]+"-"+P[e[t+8]]+P[e[t+9]]+"-"+P[e[t+10]]+P[e[t+11]]+P[e[t+12]]+P[e[t+13]]+P[e[t+14]]+P[e[t+15]]).toLowerCase()}var jn=new Uint8Array(16);function Jt(){return crypto.getRandomValues(jn)}function Kn(e,t,r){return!t&&!e&&crypto.randomUUID?crypto.randomUUID():Un(e,t,r)}function Un(e,t,r){e=e||{};let i=e.random??e.rng?.()??Jt();if(i.length<16)throw new Error("Random bytes length must be >= 16");if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){if(r=r||0,r<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let n=0;n<16;++n)t[r+n]=i[n];return t}return ri(i)}var Qt=Kn;var Te=class{_connect;_close;_error;_message;ws;_filter="";_wsTimeout=2e4;_token="";_playbackMode=!1;onConnect;onClose;onError;onMessage;version=1;endpoint="";selfId="";_source=null;set source(t){this._source?this._source.label=t:this._source={label:t}}set authToken(t){this._token=t}get connectionTimeout(){return this._wsTimeout}set connectionTimeout(t){this._wsTimeout=t<3e3?3e3:t>6e4?6e4:t}get isOpen(){return!!(this.ws&&this.ws.readyState!==1&&this.ws.readyState!==3)}get filter(){return this._filter}set filter(t){t&&t.indexOf("self")!==-1?this._filter=this.selfId?this.selfId:"":this._filter=t}get playbackMode(){return this._playbackMode}constructor(){this._connect=new E,this.onConnect=this._connect.asObservable(),this._close=new E,this.onClose=this._close.asObservable(),this._error=new E,this.onError=this._error.asObservable(),this._message=new E,this.onMessage=this._message.asObservable()}close(){this.ws&&(this.ws.close(),this.ws=null)}open(t,r,i){if(t=t||this.endpoint,!t)return;let n=t.indexOf("?")===-1?"?":"&";r&&(t+=`${n}subscribe=${r}`),(this._token||i)&&(t+=`${r?"&":"?"}token=${this._token||i}`),this.close(),this.ws=new WebSocket(t),setTimeout(()=>{this.ws&&this.ws.readyState!==1&&this.ws.readyState!==3&&(console.warn(`Connection watchdog expired (${this._wsTimeout/1e3} sec): ${this.ws.readyState}... aborting connection...`),this.close())},this._wsTimeout),this.ws.onopen=s=>{this._connect.next(s)},this.ws.onclose=s=>{this._close.next(s)},this.ws.onerror=s=>{this._error.next(s)},this.ws.onmessage=s=>{this.parseOnMessage(s)}}parseOnMessage(t){let r;if(typeof t.data=="string")try{r=JSON.parse(t.data)}catch{return}this.isHello(r)?(this.selfId=r.self,this._playbackMode=typeof r.startTime<"u",this._message.next(r)):this.isResponse(r)?(typeof r.login<"u"&&typeof r.login.token<"u"&&(this._token=r.login.token),this._message.next(r)):this._filter&&this.isDelta(r)?r.context===this._filter&&this._message.next(r):this._message.next(r)}sendRequest(t){if(typeof t!="object")return"";let r=ee.request();return typeof t.login>"u"&&this._token&&(r.token=this._token),Object.keys(t).forEach(n=>{r[n]=t[n]}),this.send(r),r.requestId}put(t,r,i){let n={context:t==="self"?"vessels.self":t,put:{path:r,value:i}};return this.sendRequest(n)}login(t,r){let i={login:{username:t,password:r}};return this.sendRequest(i)}send(t){this.ws&&this.ws.send(typeof t=="object"?JSON.stringify(t):t)}sendUpdate(t="self",r,i){let n=ee.updates();this._token&&(n.token=this._token),n.context=t==="self"?"vessels.self":t,this._token&&(n.token=this._token);let s=[];typeof r=="string"&&s.push({path:r,value:i}),typeof r=="object"&&Array.isArray(r)&&(s=r);let o={timestamp:new Date().toISOString(),values:s};this._source&&(o.source=this._source),n.updates.push(o),this.send(n)}subscribe(t="*",r="*",i){let n=ee.subscribe();if(this._token&&(n.token=this._token),n.context=t==="self"?"vessels.self":t,this._token&&(n.token=this._token),typeof r=="object"&&Array.isArray(r)&&(n.subscribe=r),typeof r=="string"){let s={path:r};i&&typeof i=="object"&&(i.period&&(s.period=i.period),i.minPeriod&&(s.minPeriod=i.minPeriod),i.format&&(i.format==="delta"||i.format==="full")&&(s.format=i.format),i.policy&&(i.policy==="instant"||i.policy==="ideal"||i.policy==="fixed")&&(s.policy=i.policy)),n.subscribe.push(s)}this.send(n)}unsubscribe(t="*",r="*"){let i=ee.unsubscribe();this._token&&(i.token=this._token),i.context=t==="self"?"vessels.self":t,this._token&&(i.token=this._token),typeof r=="object"&&Array.isArray(r)&&(i.unsubscribe=r),typeof r=="string"&&i.unsubscribe.push({path:r}),this.send(i)}raiseAlarm(t="*",r,i){let n;typeof r=="string"?n=r.indexOf("notifications.")===-1?`notifications.${r}`:r:n=r,this.put(t,n,i.value)}clearAlarm(t="*",r){let i=r.indexOf("notifications.")===-1?`notifications.${r}`:r;this.put(t,i,null)}isSelf(t){return t.context===this.selfId}isDelta(t){return typeof t.context<"u"}isHello(t){return typeof t.version<"u"&&typeof t.self<"u"}isResponse(t){return typeof t.requestId<"u"}},ee=class{static updates(){return{context:null,updates:[]}}static subscribe(){return{context:null,subscribe:[]}}static unsubscribe(){return{context:null,unsubscribe:[]}}static request(){return{requestId:Qt()}}},Le=class{_state;_method=[];_message="";constructor(t,r,i,n){this._message=typeof t<"u"?t:"",this._state=typeof r<"u"?r:"alarm",i&&this._method.push("visual"),n&&this._method.push("sound")}get value(){return{message:this._message,state:this._state,method:this._method}}};var te=class{id;name;mmsi;position=[0,0];positionReceived=!1;positionTimestamp="";positionUpdatedAt=0;state;type={id:-1,name:""};properties={};lastUpdated=new Date;callsignVhf;callsignHf;orientation=0;virtual},ue=class extends te{anchor={maxRadius:null,radius:null,position:null};autopilot={state:null,mode:null,target:null,enabled:!1,default:null,availableActions:[]};buddy=!1;closestApproach={distance:null,timeTo:null};cog;cogTrue=null;cogMagnetic=null;courseApi={arrivalCircle:0,activeRoute:{},nextPoint:{},previousPoint:{}};courseCalcs={};distanceToSelf;environment={mode:null,sun:null};heading;headingTrue=null;headingMagnetic=null;headingTrueUpdatedAt=0;headingMagneticUpdatedAt=0;performance={beatAngle:null,gybeAngle:null};radars={};registrations={};resourceUpdates=[];sog;track=[];vectors={cog:[]};wind={direction:null,mwd:null,twd:null,tws:null,speedTrue:null,sog:null,awa:null,aws:null};design={airHeight:null,beam:null,draft:{current:null,maximum:null},length:null};destination={name:null,eta:null};flag;port},Ce=class extends te{constructor(){super()}},Ee=class extends te{sog=0;track=[];constructor(){super()}},le=class extends te{constructor(){super()}},Ie=class extends le{twd;tws;temperature;constructor(){super()}};var er={K:{C:e=>e-273.15,F:e=>(e-273.15)*9/5+32},rad:{degree:e=>e*180/Math.PI},deg:{radian:e=>e*.0174532925199433},ratio:{percent:e=>e*100},"m/s":{kn:e=>e*1.94384,"km/h":e=>e*3.6,mph:e=>e*2.2369362920544025,Bf:e=>e/.836^.6666666666666666,fps:e=>e*3.280839895013124},"rad/s":{"deg/s":e=>e*57.2958,rpm:e=>e*9.549296585513723},Hz:{rpm:e=>e*60},m:{fathom:e=>e*.5467468562055768,league:e=>e*.0002071251035625518,kilometer:e=>e*.001,mile:e=>e*.000621371192237334,"naut-mile":e=>e*.0005399568034557236,foot:e=>e*3.280839895013124,yard:e=>e*1.0936132983377078},s:{hour:e=>e*.0002777777777777778,minute:e=>e*.016666666666666666,day:e=>e*11574074074074073e-21,year:e=>e*3168876461541279e-23},foot:{m:e=>e/3.280839895013124}},ce={degree:{symbol:"\xBA",name:"Degrees"},radian:{symbol:"rad",name:"Radians"},percent:{symbol:"%",name:"Percent"},kilometer:{symbol:"km",name:"Kilometer"},"naut-mile":{symbol:"nmi",name:"Nautical Mile"},foot:{symbol:"ft",name:"Feet"},yard:{symbol:"yd",name:"Yard"},fathom:{symbol:"fm",name:"Fathom"},hour:{symbol:"hr",name:"Hour"},minute:{symbol:"min",name:"Minute"},F:{symbol:"\xBAF",name:"Fahrenheit"},C:{symbol:"\xBAC",name:"Celcius"}},H=class{static transform(t,r,i){if(!Number.isFinite(t))return null;if(r===i)return t;try{return er[r][i](t)}catch{throw new Error("Transformation not found!")}}static setSymbol(t,r){t in ce&&(ce[t].symbol=r??ce[t].symbol)}static getSymbol(t){return t in ce?ce[t].symbol:t}static degreesToRadians(t){return er.deg.radian(t)}static radiansToDegrees(t=0){return er.rad.degree(t)}static nauticalMilesToKm(t=0){return t*1.852}static angleToDirection(t,r){let i=Math.PI*2;if(r||(r=0),t||(t=0),!Number.isFinite(r)||!Number.isFinite(t))return null;let n=r+t;return n>i?n-i:n<0?i+n:n}static directionToAngle(t,r){let i=Math.PI*2;if(r||(r=0),t||(t=0),!Number.isFinite(r)||!Number.isFinite(t))return null;let n=r-t,s;if(n>0)s=n>Math.PI?i-n:0-n;else if(n<0){let o=Math.abs(n);s=o>Math.PI?o-i:o}else s=n;return s}};var A=Br(Qi()),j=class e{static R=6371e3;static rhumbDestination(t,r,i){let n=e.R,s=i/n,o=t[1]*Math.PI/180,a=t[0]*Math.PI/180,l=r,_=s*Math.cos(l),g=o+_,h=s,m=89*Math.PI/180;g>m&&o<m?(h=s*(m-o)/_,g=m):g<-m&&o>-m&&(h=s*(-m-o)/_,g=-m);let M=Math.log(Math.tan(Math.PI/4+g/2)/Math.tan(Math.PI/4+o/2)),v=Math.abs(M)>1e-12?(g-o)/M:Math.cos(o),R=h*Math.sin(l)/v;return[(a+R)*180/Math.PI,g*180/Math.PI]}static destCoordinate(t,r,i){let n=(0,A.computeDestinationPoint)(t,i,H.radiansToDegrees(r));return[n.longitude,n.latitude]}static distanceTo(t,r){return(0,A.getDistance)(t,r)}static routeLength(t){return(0,A.getPathLength)(t)}static routeLegs(t,r){if(t.length<2)return[];let i=[];r?i.push({bearing:(0,A.getGreatCircleBearing)(r,t[0]),distance:e.distanceTo(r,t[0])}):i.push({bearing:0,distance:0});for(let n=1;n<t.length;++n){let s={bearing:(0,A.getGreatCircleBearing)(t[n-1],t[n]),distance:e.distanceTo(t[n-1],t[n])};i.push(s)}return i}static closestForwardPoint(t,r,i){if(t.length<2||!r)return-1;let n={index:-1,distance:-1};for(let s=0;s<t.length;++s){let o=(0,A.getGreatCircleBearing)(r,t[s]),a=Pr.difference(i,o);if(a>-90&&a<90){let l=e.distanceTo(r,t[s]);(n.distance===-1||l<n.distance)&&(n.distance=l,n.index=s)}}return n.index}static centreOfPolygon(t){let r=(0,A.getCenter)(t);return[r.longitude,r.latitude]}static inDLCrossingZone(t,r=170){return Math.abs(t[0])>=r}static inBounds(t,r){return(0,A.isPointInPolygon)(t,[[r[0],r[1]],[r[0],r[3]],[r[2],r[3]],[r[2],r[1]],[r[0],r[1]]])}static calcMapifiedExtent(t,r){let n=111111*Math.cos(H.degreesToRadians(t[1])),s=[0,0,0,0];return s[1]=t[1]+(0-Math.abs(r))/111111,s[3]=t[1]+Math.abs(r)/111111,s[0]=t[0]+(0-Math.abs(r))/n,s[2]=t[0]+Math.abs(r)/n,s}static normaliseCoords(t){if(!Array.isArray(t))return[0,0];if(typeof t[0]=="number"){if(t[0]>180)for(;t[0]>180;)t[0]=t[0]-360;else if(t[0]<-180)for(;t[0]<-180;)t[0]=360+t[0];return t}else if(Array.isArray(t[0]))return t.forEach(r=>this.normaliseCoords(r)),t}},Pr=class e{static difference(t,r){let i=360-r,n=t+i,s=e.normalise(n);return s<180?0-s:360-s}static add(t,r){return e.normalise(t+r)}static normalise(t){return t<0?t+360:t>=360?t-360:t}};var Et=class{action="notification";playback=!1;result=null;self=null;timestamp=new Date().toISOString();sourceRef},z=class{action;playback=!1;result=null;timestamp;self=null;watchDogAlarm;constructor(){this.action="update"}},It=class extends z{constructor(){super(),this.action="resource"}},Nt=class extends z{constructor(){super(),this.action="radar"}},jt=class extends z{constructor(){super(),this.action="trail"}};var mn=Br(nn());var on="auto",sn=1e4,Da=.2572,an=new Set(["navigation.headingTrue","navigation.headingMagnetic","navigation.courseOverGroundTrue","navigation.courseOverGroundMagnetic","navigation.speedOverGround"]);function un(e){let t=Date.now();if(e.headingTrue!==null&&t-e.headingTrueUpdatedAt<=sn){e.orientation=e.headingTrue;return}if(e.headingMagnetic!==null&&t-e.headingMagneticUpdatedAt<=sn){e.orientation=e.headingMagnetic;return}let r=e.cogTrue??e.cogMagnetic;typeof r=="number"&&(e.sog??0)>=Da&&(e.orientation=r)}var ka=["environment.wind.speedTrue","environment.wind.speedOverGround","environment.wind.angleTrueGround","environment.wind.angleTrueWater","environment.wind.directionTrue","environment.wind.directionMagnetic","navigation.courseOverGroundTrue","navigation.courseOverGroundMagnetic","navigation.headingTrue","navigation.headingMagnetic"],b={active:!1,maxMsgIntervals:18,intervalCount:0,msgCount:0,alarm:!1},f,S,pn,Se=[],Ut=[],Cr=!1,Nr,Er=!1,y={signalk:{},aisState:[]},gn=[0,0,0,0],hn=60,ye=0,O,ne={},X=500,L=!1,bn,U={maxAge:54e4,staleAge:36e4,lastTick:new Date().valueOf(),maxTrack:20},Ir={selfLines:{cog:{length:10}},aisCogLine:10},_e={trailDuration:24,trailResolution:{lastHour:"5s",next23:"10s",beyond24:"1m"}},V,vn,ie="freeboard-sk";function qa(){f={self:new ue,aisTargets:new Map,aisStatus:{updated:[],stale:[],expired:[]},paths:{},atons:new Map,aircraft:new Map,sar:new Map,meteo:new Map},f.self.positionReceived=!1,yn()}function yn(){O={updated:{},stale:{},expired:{}}}function Kt({action:e,msg:t}){switch(e){case"onConnect":postMessage({action:"open",playback:L,result:t.target.readyState}),b.msgCount=0,b.intervalCount=0,b.alarm=!1,b.active=!0;break;case"onClose":_n(!1),ln();break;case"onError":postMessage({action:"error",playback:L,result:"Connection error!"}),ln();break;case"onMessage":b.msgCount++,Ia(t);break}}function ln(){b.msgCount=0,b.intervalCount=0,b.active=!0,b.alarm=!0,Vt(!0)}addEventListener("message",({data:e})=>{Ta(e)});function Ta(e){if(e.cmd)switch(e.cmd){case"open":cn(e.options),Ca(e.options);break;case"close":_n(!0);break;case"subscribe":S.subscribe(e.options.context,e.options.path);break;case"settings":cn(e.options);break;case"alarm":Ea(e.options);break;case"vessel":if(e.options){let t;e.options.context==="self"?t=f.self:t=f.aisTargets.get(e.options.context),t&&e.options.name&&(t.name=e.options.name)}break;case"auth":e.options&&typeof e.options.token<"u"&&(pn=e.options.token);break;case"trail":e.options&&(_e.trailDuration=e.options.trailDuration??24,e.options.trailResolution&&(_e.trailResolution.lastHour=e.options.trailResolution.lastHour??"5s",_e.trailResolution.next23=e.options.trailResolution.next23??"1m",_e.trailResolution.beyond24=e.options.trailResolution.beyond24??"5m")),La(_e);break}}function cn(e={}){e.interval&&typeof e.interval=="number"&&(X=e.interval,Mn(),Sn(),hn=1/(X/1e3)*60),L=!!e.playback,e.config&&(typeof e.config.units.preferredPaths<"u"&&(ne=e.config.units.preferredPaths),e.config.vessels.aisMaxAge&&typeof e.config.vessels.aisMaxAge=="number"&&(U.maxAge=e.config.vessels.aisMaxAge),e.config.vessels.aisStaleAge&&typeof e.config.vessels.aisStaleAge=="number"&&(U.staleAge=e.config.vessels.aisStaleAge),typeof e.config.signalk.maxRadius=="number"&&(y.signalk=e.config.signalk),typeof e.config.selections.aisState<"u"&&Array.isArray(e.config.selections.aisState)&&(y.aisState=e.config.selections.aisState),Ir=e.config.vessels)}function _n(e=!1){Mn(),Se.forEach(t=>t.unsubscribe()),S&&e&&S.close(),S=null,postMessage({action:"close",result:e,playback:L})}function Me(e){return fetch(e).then(t=>t.json())}function xn(){let e=y&&y.signalk&&y.signalk.maxRadius?`?radius=${y.signalk.maxRadius}`:"?radius=10000";Me(Nr+"/tracks"+e).then(t=>{Er=!0,Object.entries(t).forEach(r=>{if(f.aisTargets.has(r[0])){let i=f.aisTargets.get(r[0]);i.track=r[1].coordinates,jr(i)}})}).catch(()=>{Er=!1})}function La(e){let t=Nr+"/self/track?",r=[],i=5e-4,n=!0;e.trailDuration>24&&(r.push(Me(`${t}timespan=${e.trailDuration-24}h&resolution=${e.trailResolution.beyond24}×panOffset=24`)),r.push(Me(`${t}timespan=23h&resolution=${e.trailResolution.next23}×panOffset=1`))),e.trailDuration>1&&e.trailDuration<25&&r.push(Me(`${t}timespan=${e.trailDuration-1}h&resolution=${e.trailResolution.next23}×panOffset=1`)),r.push(Me(`${t}timespan=1h&resolution=${e.trailResolution.lastHour}`));let s=[],o=new jt;o.playback=L,Promise.all(r).then(a=>{let l=0,_=r.length-1,g=60;a.forEach(h=>{if(h.type&&h.type==="MultiLineString"&&h.coordinates&&Array.isArray(h.coordinates))if(l!==_){let m=[];for(h.coordinates.forEach(M=>{m=m.concat(M)}),m=(0,mn.SimplifyAP)(m,i,n);m.length>g;){let M=m.slice(0,g);s.push(M),m=m.slice(g-1),m[0]=[m[0][0]+5e-9,m[0][1]+5e-9]}m.length!==0&&s.push(m)}else s=s.concat(h.coordinates);l++}),o.result=s,postMessage(o)}).catch(()=>{o.result=null,postMessage(o)})}function Ca(e){if(S)return;if(!e.url){postMessage({action:"error",result:"Valid options not provided!"});return}let t=e.url.split("/");if(t.pop(),t.push("api"),t[0]=t[0]==="wss:"?"https:":"http:",Nr=t.join("/"),qa(),S=new Te,Se.push(S.onConnect.subscribe(r=>Kt({action:"onConnect",msg:r}))),Se.push(S.onClose.subscribe(r=>Kt({action:"onClose",msg:r}))),Se.push(S.onError.subscribe(r=>Kt({action:"onError",msg:r}))),Se.push(S.onMessage.subscribe(r=>Kt({action:"onMessage",msg:r}))),S.authToken=pn,e.playback){let r=e.playbackOptions.startTime?`?startTime=${e.playbackOptions.startTime}`:null,i=e.playbackOptions.playbackRate?`playbackRate=${e.playbackOptions.playbackRate}`:null;i=i?r?"&"+i:"?"+i:null;let n=`${e.url}${r||""}${i||""}`;S.open(n,e.playbackOptions.subscribe,e.token)}else S.open(e.url,e.subscribe,e.token),xn()}function Ea(e){let t=e.type.indexOf("notifications.")===-1?`notifications.${e.type}`:e.type;e.raise?S.raiseAlarm("self",t,new Le(e.message,e.state,!0,!0)):S.clearAlarm("self",t)}function Ia(e){S.isHello(e)?(postMessage({action:"hello",result:e,self:e.self,playback:L}),X&&Sn()):S.isDelta(e)?(Cr=!0,e.updates.forEach(t=>{!("values"in t)||!t.values||(V=t.$source,vn=t.timestamp,t.values.forEach(r=>{if(bn=t.timestamp,!!e.context)switch(e.context.split(".")[0]){case"shore":case"atons":y?.signalk.atons&&Va(e.context,r),xe(e.context,f.atons,y?.signalk.atons);break;case"sar":y?.signalk.sar&&Fa(e.context,r),xe(e.context,f.sar,y?.signalk.sar);break;case"aircraft":y?.signalk.aircraft&&Ba(e.context,r),xe(e.context,f.aircraft,y?.signalk.aircraft);break;case"meteo":y?.signalk.meteo&&(Wa(e.context,r),dn(r)),xe(e.context,f.meteo,y?.signalk.meteo);break;case"vessels":if(S.isSelf(e))f.self.id||(f.self.id=e.context),fn(f.self,r,!0),dn(r);else{if(y?.signalk.vessels){let i=Na(e.context);fn(i,r)}xe(e.context,f.aisTargets,y?.signalk.vessels,y?.aisState)}break}}))}),Vt()):S.isResponse(e)&&postMessage({action:"response",result:e})}function xe(e,t,r=!0,i=[]){if(r){let n=t.get(e);n&&i.includes(n?.state)&&(O.expired[e]=!0,n=null),n&&y.signalk.maxRadius?n.positionReceived&&j.inBounds(n.position,gn)?O.updated[e]=!0:(t.delete(e),O.expired[e]=!0):O.updated[e]=!0}else t.size!==0&&(t.forEach((n,s)=>{O.expired[s]=!0}),t.clear())}function Vt(e=!1){if(!X||e){let t=new z;t.watchDogAlarm=b.alarm,t.playback=L,f.aisStatus.updated=Object.keys(O.updated),f.aisStatus.stale=Object.keys(O.stale),f.aisStatus.expired=Object.keys(O.expired),t.result=f,t.timestamp=L?bn:f.self.lastUpdated.toISOString(),postMessage(t),yn(),f.self.resourceUpdates=[],Ua(),ye===0&&f.self.positionReceived&&y?.signalk.maxRadius&&(gn=j.calcMapifiedExtent(f.self.position,y.signalk.maxRadius),ye++),ye=ye>=hn?0:ye+1}}function Sn(){X&&typeof X=="number"&&Ut.push(setInterval(()=>{b.active&&!b.msgCount?(b.intervalCount=b.intervalCount+1,b.intervalCount>=b.maxMsgIntervals&&(b.intervalCount=0,b.alarm=!0,Vt(!0))):(b.intervalCount=0,b.msgCount=0,b.alarm=!1),Cr&&(Vt(!0),Cr=!1)},X)),Ut.push(setInterval(()=>{Er&&xn()},6e4))}function Mn(){Ut.forEach(e=>clearInterval(e)),Ut=[]}function Na(e){if(!f.aisTargets.has(e)){let t=new ue;t.id=e,t.position=null,f.aisTargets.set(e,t)}return f.aisTargets.get(e)}function fn(e,t,r=!1){let i=t.value;if(r){if(e.lastUpdated=new Date,t.path.startsWith("resources."))e.resourceUpdates.push(t),Ka(t);else if(t.path.startsWith("radars"))ja(t);else if(t.path.startsWith("navigation.racing"))e.properties[t.path]=i;else if(t.path==="performance.beatAngle")e.performance.beatAngle=i;else if(t.path==="performance.gybeAngle")e.performance.gybeAngle=i;else if(t.path.startsWith("navigation.course."))if(t.path.startsWith("navigation.course.calcValues.")){let a=t.path.split(".").slice(3).join(".");e.courseCalcs[a]=i}else t.path.includes("activeRoute")?e.courseApi.activeRoute=i:t.path.includes("nextPoint")?e.courseApi.nextPoint=i:t.path.includes("previousPoint")?e.courseApi.previousPoint=i:t.path.includes("arrivalCircle")&&(e.courseApi.arrivalCircle=i);else if(t.path.startsWith("radars.")){let a=t.path.split("."),l=a.slice(2).join(".");e.radars[a[1]]||(e.radars[a[1]]={}),e.radars[a[1]][l]=i}let o=t.path.indexOf("course")!==-1?t.path.split(".").slice(0,2).join("."):t.path;ka.indexOf(o)!==-1&&(f.paths[o]=null)}else t.path==="navigation.distanceToSelf"&&(e.distanceToSelf=i),t.path==="navigation.closestApproach"&&(e.closestApproach=i);if(t.path==="")typeof i.name<"u"&&(e.name=i.name),typeof i.mmsi<"u"&&(e.mmsi=i.mmsi,e.lastUpdated=new Date),typeof i.registrations<"u"&&(e.registrations=i.registrations),typeof i.buddy<"u"&&(e.buddy=i.buddy),typeof i.communication<"u"&&(e.callsignVhf=i.communication.callsignVhf??"",e.callsignHf=i.communication.callsignHf??"");else if(t.path==="communication.callsignVhf")e.callsignVhf=i;else if(t.path==="communication.callsignHf")e.callsignHf=i;else if(t.path==="design.aisShipType")e.type=i;else if(t.path==="navigation.position"&&i){if(typeof i.latitude>"u"||typeof i.longitude>"u")return;e.position=j.normaliseCoords([i.longitude,i.latitude]),e.positionReceived=!0,e.positionTimestamp=vn??"",e.positionUpdatedAt=Date.now(),e.lastUpdated=new Date,r||jr(e)}else t.path==="navigation.state"?e.state=i:t.path==="navigation.speedOverGround"?e.sog=i:t.path==="environment.mode"?e.environment.mode=i:t.path==="environment.sun"?e.environment.sun=i:t.path==="environment.wind.angleApparent"?e.wind.awa=i:t.path==="environment.wind.speedApparent"?e.wind.aws=i:t.path==="environment.wind.speedTrue"?e.wind.speedTrue=i:t.path==="environment.wind.speedOverGround"?e.wind.sog=i:t.path==="environment.wind.directionTrue"?e.wind.twd=i:t.path==="environment.wind.directionMagnetic"?e.wind.mwd=i:t.path==="navigation.anchor.position"?e.anchor.position=i:t.path==="navigation.anchor.maxRadius"?e.anchor.maxRadius=i:t.path==="navigation.anchor.currentRadius"?e.anchor.radius=i:t.path==="steering.autopilot.state"&&V===ie?e.autopilot.state=i:t.path==="steering.autopilot.mode"&&V===ie?e.autopilot.mode=i:t.path==="steering.autopilot.target"&&V===ie?e.autopilot.target=i:t.path==="steering.autopilot.engaged"&&V===ie?e.autopilot.enabled=i:t.path==="steering.autopilot.defaultPilot"?(e.autopilot.default=i,ie=i):t.path==="steering.autopilot.availableActions"&&V===ie?e.autopilot.availableActions=i??[]:t.path==="navigation.courseOverGroundTrue"?e.cogTrue=i:t.path==="navigation.courseOverGroundMagnetic"?e.cogMagnetic=i:t.path==="navigation.headingTrue"?(e.headingTrue=i,e.headingTrueUpdatedAt=Date.now()):t.path==="navigation.headingMagnetic"&&(e.headingMagnetic=i,e.headingMagneticUpdatedAt=Date.now());let n=ne.heading;typeof n>"u"||n===on?an.has(t.path)&&un(e):t.path===n&&(e.orientation=i),typeof ne.tws<"u"&&t.path===ne.tws&&(e.wind.tws=i),typeof ne.twd<"u"&&t.path===ne.twd&&(e.wind.direction=t.path==="environment.wind.angleTrueGround"||t.path==="environment.wind.angleTrueWater"?H.angleToDirection(i,e.orientation??0):i);let s=e.cogTrue??e.cogMagnetic??void 0;if(typeof s<"u"&&e.position){let o=r?Ir.selfLines.cog.length:Ir.aisCogLine,a=(e.sog??0)*(o*60);e.vectors.cog=[e.position,j.rhumbDestination(e.position,s,a)]}}function ja(e){let t=new Nt;t.playback=L,t.result={path:e.path,value:e.value,sourceRef:V},postMessage(t)}function Ka(e){let t=new It;t.playback=L,t.result={path:e.path,value:e.value,sourceRef:V},postMessage(t)}function dn(e){if(e.path.includes("notifications.")){let t=new Et;t.playback=L,t.result={path:e.path,value:e.value,sourceRef:V},postMessage(t)}}function Ua(){let e=new Date().valueOf();f.aisTargets.forEach((t,r)=>{t.lastUpdated.valueOf()<e-U.maxAge?(O.expired[r]=!0,f.aisTargets.delete(r)):t.lastUpdated.valueOf()<e-U.staleAge&&(O.stale[r]=!0)}),f.aircraft.forEach((t,r)=>{t.lastUpdated.valueOf()<e-U.maxAge?(O.expired[r]=!0,f.aircraft.delete(r)):t.lastUpdated.valueOf()<e-U.staleAge&&(O.stale[r]=!0)}),f.sar.forEach((t,r)=>{t.lastUpdated.valueOf()<e-U.maxAge?(O.expired[r]=!0,f.sar.delete(r)):t.lastUpdated.valueOf()<e-U.staleAge&&(O.stale[r]=!0)})}function Va(e,t){let r=!1;if(e.indexOf("shore.basestations")!==-1&&(r=!0),!f.atons.has(e)){let n=new le;n.id=e,n.position=null,n.type.id=null,r&&(n.type.id=-2,n.type.name="Basestation"),f.atons.set(e,n)}let i=f.atons.get(e);return t.path===""?(typeof t.value.name<"u"&&(i.name=t.value.name),typeof t.value.mmsi<"u"&&(i.mmsi=t.value.mmsi),typeof t.value.atonType<"u"&&(i.type=t.value.atonType)):t.path==="atonType"?i.type=t.value:t.path==="virtual"?i.virtual=t.value:t.path==="navigation.position"?(i.position=[t.value.longitude,t.value.latitude],i.positionReceived=!0):i.properties[t.path]=t.value,e}function Fa(e,t){if(!f.sar.has(e)){let i=new Ce;i.id=e,i.position=null,i.type.id=-1,i.type.name="SaR Beacon",f.sar.set(e,i)}let r=f.sar.get(e);t.path===""?(typeof t.value.name<"u"&&(r.name=t.value.name),typeof t.value.mmsi<"u"&&(r.mmsi=t.value.mmsi),typeof t.value.communication<"u"&&(r.callsignVhf=t.value.communication.callsignVhf??"",r.callsignHf=t.value.communication.callsignHf??"")):t.path==="communication.callsignVhf"?r.callsignVhf=t.value:t.path==="communication.callsignHf"?r.callsignHf=t.value:t.path==="navigation.position"&&t.value&&(r.position=j.normaliseCoords([t.value.longitude,t.value.latitude]),r.positionReceived=!0)}function Wa(e,t){if(!f.meteo.has(e)){let i=new Ie;i.id=e,i.position=null,i.type.id=-1,i.type.name="Weather Station",f.meteo.set(e,i)}let r=f.meteo.get(e);if(t.path===""){if(typeof t.value.name<"u"&&(r.name=t.value.name),typeof t.value.mmsi<"u"){let i=e.split(":").slice(-2);r.mmsi=i.length===2?`${i[0]}:${i[1]}`:t.value.mmsi}typeof t.value.communication<"u"&&(r.callsignVhf=t.value.communication.callsignVhf??"",r.callsignHf=t.value.communication.callsignHf??"")}else t.path==="communication.callsignVhf"?r.callsignVhf=t.value:t.path==="communication.callsignHf"?r.callsignHf=t.value:t.path==="environment.outside.temperature"?r.temperature=t.value:t.path==="environment.wind.directionTrue"?r.twd=t.value:t.path==="environment.wind.averageSpeed"?r.tws=t.value:t.path==="navigation.position"&&t.value&&(r.position=j.normaliseCoords([t.value.longitude,t.value.latitude]),r.positionReceived=!0)}function Ba(e,t){if(!f.aircraft.has(e)){let i=new Ee;i.id=e,i.position=null,f.aircraft.set(e,i)}let r=f.aircraft.get(e);t.path===""?(typeof t.value.name<"u"&&(r.name=t.value.name),typeof t.value.mmsi<"u"&&(r.mmsi=t.value.mmsi),typeof t.value.communication<"u"&&(r.callsignVhf=t.value.communication.callsignVhf??"",r.callsignHf=t.value.communication.callsignHf??"")):t.path==="communication.callsignVhf"?r.callsignVhf=t.value:t.path==="communication.callsignHf"?r.callsignHf=t.value:t.path==="navigation.position"&&t.value?(r.position=j.normaliseCoords([t.value.longitude,t.value.latitude]),r.positionReceived=!0,jr(r)):t.path==="navigation.courseOverGroundTrue"?r.orientation=t.value:t.path==="navigation.speedOverGround"&&(r.sog=t.value)}function jr(e){if(e.track&&e.track.length===0)e.track.push([e.position]);else{let t=e.track[e.track.length-1].length,r=e.track[e.track.length-1][t-1];r[0]!==e.position[0]&&r[1]!==e.position[1]&&e.track[e.track.length-1].push(e.position)}e.track[e.track.length-1]=e.track[e.track.length-1].slice(0-U.maxTrack)}export{Me as apiGet,Kt as handleStreamEvent,qa as initVessels,fn as processVessel};
|